{"version":3,"file":"projects_phaas-flow-ui_src_app_lazy-modules_virtual-event_virtual-event_module_ts-es2015.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmD;AACW;AAC+E;AACrG;AACI;AACI;AACC;;AAEjD;AACA;AACA,gDAAgD;AAChD,IAAI,4DAAqB;AACzB,IAAI,oDAAa;AACjB,IAAI,0DAAmB;AACvB,EAAE;AACF,mBAAmB,2DAAoB;AACvC,IAAI,yDAAkB;AACtB,IAAI,uDAAgB;AACpB,IAAI,gEAAyB;AAC7B;AACA,gDAAgD;AAChD,IAAI,4DAAqB;AACzB,IAAI,oDAAa;AACjB,IAAI,0DAAmB;AACvB,EAAE;AACF;AACA,mBAAmB,2DAAoB;AACvC,IAAI,yDAAkB;AACtB,IAAI,uDAAgB;AACpB,IAAI,gEAAyB;AAC7B;AACsD;AACL;AACuB;AAC7B;AACkT;AACrR;AACvB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,2BAA2B,4EAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yDAAc;AACpC;AACA,gCAAgC,yDAAc;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,6BAA6B,+DAAwB,CAAC,sDAAkB;AAC3H,gCAAgC,+DAAwB,GAAG,uDAAuD;AAClH;AACA,MAAM,MAAM,sDAAW;AACvB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,0BAA0B;AAC3C,KAAK,iBAAiB,UAAU,MAAM,sDAAkB,EAAE,IAAI,UAAU;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,mCAAmC,+DAAwB,CAAC,sDAAkB;AAC7I,sCAAsC,+DAAwB,GAAG,mEA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A;AACA;AACA;AACA,6CAA6C,0BAA0B,+DAAwB,gBAAgB,+DAAwB,CAAC,qDAAiB;AACzJ,6BAA6B,+DAAwB,GAAG,yGAAyG,wEAAiC,GAAG;AACrM;AACA,MAAM,oBAAoB;AAC1B,MAAM,MAAM,qDAAU;AACtB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,KAAK,iBAAiB,UAAU,oBAAoB,IAAI,MAAM,qDAAiB,EAAE,IAAI,UAAU;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yDAAc;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,yDAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAY,0CAAI;AAChB,uCAAuC,oDAAI;AAC3C;AACA;AACA,+EAA+E,2CAA2C,sDAAe,CAAC,iDAAa;AACvJ,+CAA+C,gEAAyB,GAAG,yEAAyE;AACpJ;AACA,MAAM,MAAM,iDAAM;AAClB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB,UAAU,MAAM,iDAAa,EAAE,IAAI,UAAU;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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jC,OAAO,iDAAiD;AACxD,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,0EAA+B;AAChE,+BAA+B,iEAAsB;AACrD,aAAa;AACb,KAAK,iBAAiB;AACtB;AACA;AACA;AACA,uDAAuD;AACvD,kCAAkC,+DAAwB,GAAG,4OAA4O;AACzS,QAAQ,gEAAyB;AACjC,OAAO,iDAAiD;AACxD,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,0EAA+B;AAChE,+BAA+B,iEAAsB;AACrD,aAAa;AACb,KAAK,iBAAiB;AACtB;AACA;AACA;AACA,2CAA2C;AAC3C,4BAA4B,+DAAwB,GAAG,2MAA2M;AAClQ,QAAQ,gEAAyB;AACjC,OAAO,iDAAiD;AACxD,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,0EAA+B;AAChE,+BAA+B,iEAAsB;AACrD,aAAa;AACb,KAAK,iBAAiB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,+BAA+B,+DAAwB,CAAC,sDAAkB;AACjI,kCAAkC,+DAAwB,GAAG,sEAAsE;AACnI;AACA,MAAM,MAAM,sDAAW;AACvB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA,aAAa;AACb,KAAK,iBAAiB,UAAU,MAAM,sDAAkB,EAAE,IAAI,UAAU;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC,yBAAyB,cAAc;AACvC,uBAAuB,cAAc;AACrC,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,WAAW;AACzE,iEAAiE,WAAW;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAc;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,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,iDAAiD,wBAAwB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH,6EAA6E;AAC7L;AACA;AACA,gHAAgH,6EAA6E;AAC7L;AACA,SAAS;AACT;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA,gEAAgE,kBAAkB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,KAAK;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,qBAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yDAAc;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oCAAoC,+DAAwB,GAAG,+HAA+H,gEAAyB;AACvN,cAAc,SAAS,6EAAuB,YAAY,kFAA4B,EAAE;AACxF,aAAa;AACb,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA,sBAAsB,SAAS,6EAAuB,YAAY,kFAA4B,EAAE;AAChG;AACA,aAAa;AACb,KAAK,iBAAiB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC,+DAAwB,CAAC,2DAAuB,GAAG,+DAAwB,CAAC,qDAAiB;AACtL,mCAAmC,+DAAwB,GAAG,yDAAyD;AACvH;AACA,MAAM,MAAM,2DAAgB,EAAE;AAC9B,MAAM,MAAM,qDAAU;AACtB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,yBAAyB;AAC1C,KAAK,iBAAiB,UAAU,MAAM,2DAAuB,EAAE,IAAI,MAAM,qDAAiB,EAAE,IAAI,UAAU;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kCAAkC,+DAAwB,CAAC,2DAAuB,GAAG,+DAAwB,CAAC,qDAAiB;AAC5L,qCAAqC,+DAAwB,GAAG,iEAAiE;AACjI;AACA,MAAM,MAAM,2DAAgB,EAAE;AAC9B,MAAM,MAAM,qDAAU;AACtB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,+BAA+B;AAChD,KAAK,iBAAiB,UAAU,MAAM,2DAAuB,EAAE,IAAI,MAAM,qDAAiB,EAAE,IAAI,UAAU;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kCAAkC,+DAAwB,CAAC,2DAAuB,GAAG,+DAAwB,CAAC,qDAAiB;AAC5L,qCAAqC,+DAAwB,GAAG,iEAAiE;AACjI;AACA,MAAM,MAAM,2DAAgB,EAAE;AAC9B,MAAM,MAAM,qDAAU;AACtB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,+BAA+B;AAChD,KAAK,iBAAiB,UAAU,MAAM,2DAAuB,EAAE,IAAI,MAAM,qDAAiB,EAAE,IAAI,UAAU;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kCAAkC,+DAAwB,CAAC,2DAAuB,GAAG,+DAAwB,CAAC,qDAAiB;AAC5L,qCAAqC,+DAAwB,GAAG,iEAAiE;AACjI;AACA,MAAM,MAAM,2DAAgB,EAAE;AAC9B,MAAM,MAAM,qDAAU;AACtB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,+BAA+B;AAChD,KAAK,iBAAiB,UAAU,MAAM,2DAAuB,EAAE,IAAI,MAAM,qDAAiB,EAAE,IAAI,UAAU;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0DAAe;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,8BAA8B,yCAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uDAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iDAAe,GAAG,iCAAiC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,mBAAmB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,4EAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4EAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,0CAA0C,yDAAS;AACnD;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sEAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,4BAA4B,8BAA8B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,sEAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sEAAY;AACxB;AACA;AACA,iBAAiB,kDAAY;AAC7B;AACA;AACA;AACA,yBAAyB,wCAAE;AAC3B;AACA;AACA;AACA;AACA,yDAAyD,yDAAS;AAClE;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,qBAAqB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc,gDAAgD;AAC9D,cAAc,iEAAiE;AAC/E,cAAc,gDAAgD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,wCAAE;AAC1C,kBAAkB,yDAAS;AAC3B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,2BAA2B,+DAAwB,CAAC,0DAAsB,GAAG,+DAAw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AAW;AACzF;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,yCAAyC,WAAW;AACpD;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,yBAAyB,GAAG,IAAI,iEAAsB;AACtD;AACA,WAAW,qDAAQ,EAAE,sDAAW;AAChC;AACA;AACA,WAAW,GAAG;AACd;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,gCAAgC,8DAAuB,GAAG,kBAAkB;AAC5E,gCAAgC,8DAAuB,GAAG,+BAA+B;AACzF,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,mDAAQ;AACtB;AACA;AACA,aAAa;AACb,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,yCAAyC,oEAAkB,GAAG,4CAA4C,6BAA6B,4CAA4C;AACnL,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,YAAY,UAAU;;AAE5C;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,0BAA0B,yDAAc;AACxC;AACA;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,yBAAyB,yDAAc;AACvC;AACA;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,WAAW,GAAG;AACd,uBAAuB,yDAAc;AACrC;AACA;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,GAAG;AACrC,oCAAoC,GAAG;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,yCAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,8DAAuB;AAClF,oCAAoC,+DAAwB,GAAG,iCAAiC,kEAA2B,GAAG;;;AAG9H;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA,UAAU;AACV;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;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,kBAAkB,iBAAiB,IAAI,kBAAkB;AACzD,iBAAiB,iBAAiB,IAAI,iBAAiB;AACvD,cAAc,aAAa,IAAI,eAAe;AAC9C,2BAA2B,iBAAiB;AAC5C,0BAA0B,iBAAiB;AAC3C,uBAAuB,aAAa;AACpC,4BAA4B,kBAAkB;AAC9C,2BAA2B,iBAAiB;AAC5C,wBAAwB,cAAc;AACtC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM,uEAAuE;AAC7E,MAAM,2FAA2F;AACjG,MAAM,yFAAyF;AAC/F,MAAM,qEAAqE;AAC3E,MAAM,yFAAyF;AAC/F,MAAM,uFAAuF;AAC7F,MAAM,kFAAkF;AACxF,MAAM,sGAAsG;AAC5G,MAAM;AACN;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,WAAW,GAAG;AACd;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,wBAAwB,yDAAc;AACtC;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB,4BAA4B,qDAAM;AAClC,mBAAmB,GAAG;AACtB,6BAA6B,qDAAM;AACnC,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,qCAAqC,sDAAe;AACvH,8CAA8C,oEAAkB,GAAG,iDAAiD,8BAA8B,0DAAQ,iBAAiB,iDAAiD;AAC5N;AACA;AACA,MAAM,4BAA4B,MAAM,iDAAM,wBAAwB;AACtE;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU;AAChC,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI,UAAU;;AAE9B;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iDAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;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,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,kCAAkC;AAClC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,yBAAyB,GAAG;AAC5B,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,gCAAgC,GAAG;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,gBAAgB;AAChB;AACA;AACA,oBAAoB,GAAG;AACvB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,yBAAyB,GAAG;AAC5B,SAAS;AACT,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,2DAA2D,iCAAiC,sDAAe,CAAC,iDAAa,GAAG,sDAAe,CAAC,sDAAW,GAAG,sDAAe,CAAC,qDAAQ,GAAG,sDAAe;AACpM,qCAAqC,gEAAyB,GAAG,qDAAqD;AACtH;AACA;AACA,MAAM,MAAM,iDAAM,EAAE;AACpB,MAAM,6BAA6B,MAAM,iDAAM,SAAS,sDAAW,IAAI,GAAG;AAC1E,MAAM,gCAAgC,MAAM,iDAAM,SAAS,qDAAQ,IAAI,GAAG;AAC1E,MAAM;AACN;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB,UAAU,MAAM,iDAAa,EAAE,IAAI;AACzD,sBAAsB,iDAAM;AAC5B,uBAAuB,sDAAW;AAClC,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,qDAAQ;AAC/B,aAAa,GAAG,IAAI,0BAA0B,IAAI,UAAU;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,2BAA2B,GAAG;AAC9B,uCAAuC,GAAG;AAC1C,0CAA0C,GAAG,MAAM,0CAA0C;AAC7F,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,2BAA2B,GAAG;AAC9B,uCAAuC,GAAG;AAC1C,0CAA0C,GAAG,MAAM,0CAA0C;AAC7F,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,mCAAmC,GAAG;AACtC,sCAAsC,GAAG,MAAM,0CAA0C;AACzF;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0BAA0B,YAAY;AACtC,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,GAAG;AACtB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB,GAAG;AACnB;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,iDAAiD,4BAA4B,sDAAe,sBAAsB,sDAAe,iBAAiB,sDAAe,CAAC,qDAAQ;AAC1K,qCAAqC,oEAAkB,GAAG,wCAAwC,qBAAqB,0DAAQ,sBAAsB,0DAAQ,iBAAiB,0DAAQ,CAAC,qDAAQ,KAAK,wCAAwC;AAC5O;AACA;AACA,MAAM,0BAA0B;AAChC,MAAM,gCAAgC,MAAM,iDAAM,0BAA0B,GAAG;AAC/E,MAAM,gCAAgC,MAAM,iDAAM,SAAS,qDAAQ,IAAI;AACvE;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU,0BAA0B,IAAI;AAC9D,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,qDAAQ;AAC/B,aAAa,GAAG,IAAI,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,gBAAgB;AAC7B;AACA,iBAAiB,KAAK;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe,OAAO,kBAAkB;AAClE,WAAW;AACX;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAO;AACrC;AACA,wCAAwC,sDAAM;AAC9C,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA,2CAA2C,mDAAG;AAC9C,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB,GAAG;AACnB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA,SAAS;AACT,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,kBAAkB,sDAAM;AACxB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA,sCAAsC,4DAAY,IAAI,+CAAa,GAAG,0DAAS;AAC/E,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA,aAAa,yCAAE,+BAA+B,mDAAG,mBAAmB,sDAAM,cAAc,0DAAS;AACjG;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,SAAS;AACT,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC,sDAAe,sBAAsB,sDAAe,cAAc,sDAAe;AAC1K,yCAAyC,oEAAkB,GAAG,4CAA4C,yBAAyB,0DAAQ,sBAAsB,0DAAQ,cAAc,0DAAQ,eAAe,4CAA4C;AAC1P;AACA;AACA,MAAM,0BAA0B;AAChC,MAAM,kBAAkB;AACxB,MAAM;AACN;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU,0BAA0B,IAAI,kBAAkB,IAAI,iBAAiB,IAAI,UAAU;AACnH;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB,0BAA0B,kEAAiB;AAC3C,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B,4BAA4B,gDAAS,wBAAwB,qDAAI;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,SAAS;AACT,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,4CAA4C,GAAG,MAAM,SAAS;AAC9D,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uDAAuD,+BAA+B,sDAAe,sBAAsB,sDAAe,cAAc,sDAAe,iBAAiB,sDAAe,CAAC,sDAAW,GAAG,sDAAe,CAAC,qDAAQ;AAC9O,wCAAwC,oEAAkB,GAAG,2CAA2C,wBAAwB,0DAAQ,sBAAsB,0DAAQ,cAAc,0DAAQ,iBAAiB,0DAAQ,CAAC,sDAAW,GAAG,0DAAQ,CAAC,qDAAQ,KAAK,2CAA2C;AACrS;AACA;AACA,MAAM,0BAA0B;AAChC,MAAM,kBAAkB;AACxB,MAAM,gCAAgC,MAAM,iDAAM,0BAA0B,GAAG;AAC/E,MAAM,6BAA6B,MAAM,iDAAM,SAAS,sDAAW,IAAI,GAAG;AAC1E,MAAM,gCAAgC,MAAM,iDAAM,SAAS,qDAAQ,IAAI;AACvE;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU,0BAA0B,IAAI,kBAAkB,IAAI;AACpF,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,sDAAW;AAClC,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,qDAAQ;AAC/B,aAAa,GAAG,IAAI,UAAU;;AAE9B;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,aAAa,iEAAgB;AAC7B;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,eAAe,kEAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,oBAAoB,kEAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA,oBAAoB,kEAAiB;AACrC,oBAAoB,kEAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B,qDAAqD;AACrD,4BAA4B,sBAAsB;AAClD,2BAA2B,GAAG;AAC9B;AACA;AACA,+BAA+B,GAAG;AAClC;AACA;AACA,8DAA8D,MAAM;AACpE;AACA,+BAA+B,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA,mDAAmD,6BAA6B,sDAAe,iBAAiB,sDAAe,gBAAgB,sDAAe,CAAC,sDAAW,GAAG,sDAAe;AAC5L,sCAAsC,oEAAkB,GAAG,yCAAyC,sBAAsB,0DAAQ,iBAAiB,0DAAQ,gBAAgB,0DAAQ,CAAC,sDAAW,GAAG,0DAAQ,mBAAmB,yCAAyC;AACtQ;AACA;AACA,MAAM,qBAAqB;AAC3B,MAAM,8BAA8B,MAAM,iDAAM,yBAAyB,GAAG;AAC5E,MAAM,6BAA6B,MAAM,iDAAM,SAAS,sDAAW,IAAI,GAAG;AAC1E,MAAM,gCAAgC,MAAM,iDAAM,0BAA0B;AAC5E;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU,qBAAqB,IAAI;AACzD,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,sDAAW;AAClC,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI,UAAU;;AAE9B;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,wCAAwC;AACxC;AACA,uCAAuC;AACvC;AACA,2BAA2B,yCAAO;AAClC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,kBAAkB,sDAAM;AACxB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B,+CAA+C,GAAG;AAClD,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B,2BAA2B,GAAG;AAC9B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA,+BAA+B,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B,wCAAwC,GAAG;AAC3C;AACA;AACA,oCAAoC,yBAAyB;AAC7D;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B,yCAAyC,GAAG;AAC5C;AACA;AACA,oCAAoC,qBAAqB;AACzD;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,uBAAuB,GAAG;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,GAAG;AAClC,+BAA+B,GAAG;AAClC,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA,2BAA2B,GAAG;AAC9B,wCAAwC,2CAAK;AAC7C,4BAA4B;AAC5B;AACA;AACA,+BAA+B,GAAG;AAClC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA,wBAAwB,sCAAsC;AAC9D,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AA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G;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,wBAAwB,qBAAqB;AAC7C,kDAAkD,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA,uCAAuC,GAAG;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B;AACA,2BAA2B,GAAG;AAC9B;AACA,uCAAuC,4EAAqB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA,sBAAsB,yDAAS;AAC/B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,yBAAyB,iEAAgB;AACzC,mDAAmD,iCAAiC;AACpF;AACA;AACA;AACA,+CAA+C,GAAG;AAClD;AACA;AACA,iEAAiE,oCAAoC,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,wBAAwB,+DAAwB,CAAC,iEAAiB,GAAG,+DAAwB,CAAC,sEAAsB,GAAG,+DAAwB,CAAC,oEAAa,GAAG,+DAAwB,CAAC,sDAAW,GAAG,+DAAwB,CAAC,mEAAY;AACtZ,uCAAuC,+DAAwB,GAAG,oCAAoC,wEAAiC,EAAE,kEAA2B,GAAG;AACvK;AACA;AACA,MAAM,MAAM,qDAAU,EAAE;AACxB,MAAM,4BAA4B;AAClC,MAAM,MAAM,iEAAU,EAAE;AACxB,MAAM,MAAM,sEAAe,EAAE;AAC7B,MAAM,gCAAgC,MAAM,iDAAM,SAAS,oEAAa,IAAI,GAAG;AAC/E,MAAM,6BAA6B,MAAM,iDAAM,SAAS,sDAAW,IAAI,GAAG;AAC1E,MAAM,8BAA8B,MAAM,iDAAM,SAAS,mEAAY,IAAI;AACzE;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,KAAK,iBAAiB,UAAU,MAAM,qDAAiB,EAAE,IAAI,4BAA4B,IAAI,MAAM,iEAAiB,EAAE,IAAI,MAAM,sEAAsB,EAAE,IAAI;AAC5J,sBAAsB,iDAAM;AAC5B,uBAAuB,oEAAa;AACpC,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,sDAAW;AAClC,aAAa,GAAG,IAAI;AACpB,sBAAsB,iDAAM;AAC5B,uBAAuB,mEAAY;AACnC,aAAa,GAAG,IAAI,UAAU;AAC9B,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,2CAA2C,sDAAsD,0FAA0F,mEAA4B,iEAAiE;AACpV,8CAA8C,+DAAwB,GAAG,yxBAAyxB,w2BAAw2B,aAAa,wEAAiC,GAAG;AAC3vD,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,wCAAwC;AACzD,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW,UAAU;AAC1C,WAAW,GAAG;AACd,WAAW,IAAI;AACf,YAAY;AACZ;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,4CAA4C,GAAG,MAAM;AACrD;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,IAAI;AACf,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,qBAAqB,GAAG;AACxB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,yBAAyB,IAAI,GAAG,aAAa,GAAG,mBAAmB;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,6BAA6B,qEAAc;AAC3C;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,sCAAs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G;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,mCAAmC,yCAAO;AAC1C,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA,kBAAkB,yDAAS;AAC3B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,iCAAiC,IAAI;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,oBAAoB;AACpB;AACA;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,GAAG;AAC1B;AACA,uBAAuB,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+BAA+B;AACnE;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B,4BAA4B;AAC5B;AACA;AACA,+BAA+B,GAAG;AAClC;AACA,+BAA+B,GAAG;AAClC,gCAAgC;AAChC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,4DAA4D,iBAAiB;AAC7E;AACA,SAAS;AACT;AACA;AACA,mEAAmE,qCAAqC,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,iDAAa,GAAG,+DAAwB,CAAC,6DAAqB,GAAG,+DAAwB,CAAC,iEAAiB,GAAG,+DAAwB,yBAAyB,+DAAwB,CAAC,sEAAsB;AAC5X,wCAAwC,+DAAwB,GAAG,qCAAqC,wEAAiC,GAAG;AAC5I;AACA;AACA,MAAM,MAAM,qDAAU,EAAE;AACxB,MAAM,MAAM,iDAAM,EAAE;AACpB,MAAM,MAAM,6DAAc,EAAE;AAC5B,MAAM,MAAM,iEAAU,EAAE;AACxB,MAAM,6BAA6B;AACnC,MAAM,MAAM,sEAAe;AAC3B;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,KAAK,iBAAiB,UAAU,MAAM,qDAAiB,EAAE,IAAI,MAAM,iDAAa,EAAE,IAAI,MAAM,6DAAqB,EAAE,IAAI,MAAM,iEAAiB,EAAE,IAAI,6BAA6B,IAAI,MAAM,sEAAsB,EAAE,IAAI,UAAU;AACjO;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,4CAA4C,uDAAuD,4FAA4F,mEAA4B,mEAAmE;AAC3V,+CAA+C,+DAAwB,GAAG,qdAAqd,giBAAgiB,aAAa,wEAAiC,GAAG;AAChnC,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,wCAAwC;AACzD,KAAK,iBAAiB;AACtB,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB,cAAc,EAAE,eAAe,EAAE,YAAY;AAC5E;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iBAAiB,IAAI;AACrB,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB,aAAa,EAAE,cAAc,EAAE,WAAW;AACxE;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA,eAAe,GAAG;AAClB,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,+BAA+B,mEAAY;AAC3C;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mCAAmC,MAAM,EAAE,QAAQ,EAAE,yBAAyB;AAC9E,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,+BAA+B,MAAM,EAAE,QAAQ,EAAE,MAAM;AACvD,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,+BAA+B,MAAM,EAAE,QAAQ,EAAE,MAAM;AACvD,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM,EAAE,QAAQ,EAAE,SAAS;AACxE,6CAA6C,MAAM,EAAE,QAAQ,EAAE,SAAS;AACxE;AACA;AACA,2BAA2B,GAAG,wBAAwB,4BAA4B;AAClF;AACA;AACA,+DAA+D,mCAAmC,sDAAe,CAAC,oEAAa;AAC/H,4CAA4C,oEAAkB,GAAG,+CAA+C,4BAA4B,0DAAQ,CAAC,oEAAa,KAAK,+CAA+C;AACtN;AACA;AACA,MAAM,gCAAgC,MAAM,iDAAM,SAAS,oEAAa,IAAI;AAC5E;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB,UAAU;AAChC,sBAAsB,iDAAM;AAC5B,uBAAuB,oEAAa;AACpC,aAAa,GAAG,IAAI,UAAU;AAC9B,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qEAAc;AAC1C;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mBAAmB;AACnB;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iBAAiB;AACjB;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sBAAsB,yDAAS;AAC/B;AACA;AACA,sBAAsB,yDAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA,mEAAmE,GAAG;AACtE;AACA;AACA,iDAAiD,GAAG;AACpD;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,8CAA8C;AAC9C,mBAAmB,GAAG;AACtB,sBAAsB,wEAAa;AACnC,0CAA0C,oBAAoB;AAC9D;AACA;A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xB,MAAM,MAAM,iEAAU,EAAE;AACxB,MAAM,4BAA4B;AAClC,MAAM,MAAM,sEAAe;AAC3B;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,oCAAoC;AACrD,KAAK,iBAAiB,UAAU,MAAM,qDAAiB,EAAE,IAAI,MAAM,iEAAiB,EAAE,IAAI,4BAA4B,IAAI,MAAM,sEAAsB,EAAE,IAAI,UAAU;AACtK,WAAW,GAAG;AACd;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,sCAAsC,mEAAY;AAClD;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mBAAmB,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,2BAA2B,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2DAA2D,0CAA0C,qDAAqD,wFAAwF,mEAA4B,+DAA+D;AAC7U,mDAAmD,oEAAkB,GAAG,sDAAsD,uCAAuC,sDAAsD;AAC3N,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB;AACtB,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW,WAAW,sBAAsB;AAClE;AACA;AACA;AACA;AACA;AACA,mCAAmC,qEAAc;AACjD;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,mDAAmD,8DAA8D,0GAA0G,mEAA4B,iFAAiF;AAC5Y,sDAAsD,+DAAwB,GAAG,sgBAAsgB,onBAAonB,aAAa,wEAAiC,GAAG;AAC5vC,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB,iBAAiB,wCAAwC;AACzD,KAAK,iBAAiB;AACtB;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;AACA,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd;AACA,wCAAwC,mEAAY;AACpD;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,gBAAgB,EAAE,gBAAgB;AACxE;AACA;AACA,6DAA6D,4CAA4C,uDAAuD,4FAA4F,mEAA4B,mEAAmE;AAC3V,qDAAqD,oEAAkB,GAAG,wDAAwD,yCAAyC,wDAAwD;AACnO,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,oBAAoB;AACrC,KAAK,iBAAiB;AACtB,qCAAqC,qEAAc;AACnD;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mBAAmB;AACnB;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,sBAAsB,eAAe,4EAAqB;AAC1D;AACA;AACA;AACA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iBAAiB;AACtB,eAAe,mDAAmD,gEAAyB,eAAe,4BAA4B,0TAA0T,yBAAyB,QAAQ,iEAAU,IAAI,yBAAyB,4TAA4T,IAAI;;AAEx0B;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAEA;AACA;AACA;AACA,cAAc,wHAAwH;AACtI;;AAE4yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACt3C7uB;AACkB;AACf;AAC4N;AACvD;AAC7J;AACjB;AACoB;AACD;AACzB;AAC8C;AAC5C;AACF;AACyB;AACF;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACQ;AACN;AACK;AACH;AACK;AACM;;AAEvD;AACA,2DAA2D;AAC3D,IAAI,4DAAqB;AACzB,IAAI,0DAAmB;AACvB,IAAI,0DAAmB;AACvB,EAAE;AACF;AACA,mBAAmB,2DAAoB;AACvC,IAAI,wDAAiB;AACrB,IAAI,yDAAkB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0EAAkB;AACpD,CAAC;AACD;AACA,6CAA6C,yDAAc;AAC3D;AACA;AACA,CAAC;AACD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oDAAkB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uDAAY;AAC9C;AACA,0BAA0B,uDAAY;AACtC;AACA,0BAA0B,uDAAY;AACtC;AACA,mCAAmC,uDAAY;AAC/C;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,sCAAsC,4EAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,wEAAiB;AAC/C;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yEAA0B;AACzD;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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oDAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,yCAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4CAAK;AACrC;AACA,uBAAuB,4CAAK;AAC5B;AACA;AACA;AACA;AACA,sBAAsB,qDAAI,KAAK,0DAAS;AACxC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,qCAAqC,4EAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4CAAK,kEAAkE,uDAAM;AAC5F,gDAAgD,uDAAM;AACtD,YAAY,yCAAE;AACd;AACA,QAAQ,oDAAG,2BAA2B,4EAAwB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4CAAK,CAAC,gDAAS,2BAA2B,gDAAS,8BAA8B,gDAAS;AACzG,kBAAkB,uDAAM;AACxB;AACA;AACA,gCAAgC,sEAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,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,wBAAwB,0DAAM,KAAK,sEAAc;AACjD;AACA;AACA,6CAA6C,yDAAK;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4DAAQ,gBAAgB,8DAAU;AAC7E,8CAA8C,uDAAG;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qDAAI;AACzD,qEAAqE,oDAAG;AACxE;AACA;AACA,QAAQ,sDAAK;AACb;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA,QAAQ,0DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ,qDAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA,+BAA+B,gEAAc,uDAAuD,iFAAiF;AACrL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0DAAM,KAAK,sEAAc;AAChE,uCAAuC,4DAAQ,IAAI,sEAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,4CAA4C,8BAA8B;AAC1E;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,oCAAoC,8BAA8B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+DAAa;AAChC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,yEAAyE;AACvF,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qFAAqF;AACnG,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qFAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gFAAwB;AAClE;AACA;AACA;AACA;AACA;AACA,qFAAqF,8CAA8C,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,yDAAc,GAAG,+DAAwB,CAAC,2DAAuB,GAAG,+DAAwB,CAAC,iDAAa,GAAG,+DAAwB,CAAC,4DAAwB,GAAG,+DAAwB,oCAAoC,+DAAwB,CAAC,8DAAqB,MAAM,+DAAwB,CAAC,yEAAc,MAAM,+DAAwB,CAAC,qDAAQ,MAAM,+DAAwB,CAAC,kEAAoB,GAAG,+DAAwB;AACtnB,iDAAiD,+DAAwB,GAAG,6CAA6C,+SAA+S,aAAa,kEAA2B,GAAG;AACnd;AACA,MAAM,MAAM,qDAAU,EAAE;AACxB,MAAM,MAAM,yDAAO,EAAE;AACrB,MAAM,MAAM,2DAA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yBAAyB,wEAAwE,wEAAmB;AAC5I,QAAQ,mEAAe;AACvB,QAAQ,mEAAe,MAAM,IAAI;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE+d;;;;;;;;;;;;;;;;;;;;;;;ACzhCnX;AACpC;AACV;AACA;AACe;;AAE7E;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACI;AAC5C;AACA;AACA;AACA,sBAAsB,qEAAa;AACnC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,wBAAwB,4EAAqB;AAC7C;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,uBAAuB,4EAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,MAAM;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,SAAS;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA,2CAA2C,aAAa;AACxD;AACA;AACA;AACA;AACA;AACA;AACA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CAAC;AACrI,QAAQ,+DAAU,oBAAoB,4DAAO,IAAI,8EAA0B,EAAE,EAAE,sFAAkC,CAAC;AAClH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iEAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uDAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mEAAkB,EAAE,kEAAiB,EAAE,mEAAkB;AAC/E;AACA,gGAAgG,mEAAkB;AAClH,+FAA+F,kEAAiB;AAChH,gGAAgG,mEAAkB;AAClH,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,wFAAiC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,wFAAiC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wFAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,0CAA0C,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,4DAAwB,GAAG,+DAAwB,CAAC,+DAAuB,GAAG,+DAAwB,CAAC,mEAAyB,GAAG,+DAAwB,CAAC,qDAAQ,MAAM,+DAAwB;AAC/X,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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yDAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,sDAAW;AACzD,+CAA+C,+DAAc;AAC7D;AACA;AACA,aAAa;AACb;AACA;AACA,+BAA+B,gEAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0DAAe;AACxC;AACA,0BAA0B,iDAAiD;AAC3E,SAAS;AACT,oCAAoC,gEAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+DAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sDAAsD;AACpE,cAAc;AACd;AACA;AACA,8BAA8B,8DAAc,QAAQ,+DAAoB;AACxE;AACA,yBAAyB,8DAAc;AACvC,4BAA4B,iCAAiC,yCAAE;AAC/D,aAAa;AACb;AACA,eAAe,0DAAe,GAAG,mDAAmD;AACpF;AACA;AACA,2DAA2D,iCAAiC,sDAAe,CAAC,yDAAc,GAAG,sDAAe,CAAC,mDAAe,GAAG,sDAAe,sBAAsB,sDAAe;AACnN,uBAAuB,gEAAqB,GAAG,6CAA6C,0BAA0B,sDAAW,CAAC,yDAAU,GAAG,sDAAW,CAAC,mDAAW,GAAG,sDAAW,sBAAsB,sDAAW,yCAAyC,2DAA2D;AACzT;AACA,MAAM,MAAM,yDAAO,EAAE;AACrB,MAAM,MAAM,mDAAQ,EAAE;AACtB,MAAM,qCAAqC,MAAM,mDAAQ,EAAE,IAAI,MAAM,mDAAQ,EAAE,GAAG;AAClF,MAAM,2CAA2C,MAAM,mDAAQ,EAAE,IAAI,MAAM,iDAAM,6CAA6C;AAC9H;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,iBAAiB,kCAAkC;AACnD,KAAK,iBAAiB,UAAU,MAAM,yDAAc,EAAE,IAAI,MAAM,mDAAe,EAAE,IAAI;AACrF,sBAAsB,mDAAQ;AAC9B,aAAa;AACb,sBAAsB,mDAAQ;AAC9B,aAAa,GAAG,IAAI;AACpB,sBAAsB,mDAAQ;AAC9B,aAAa;AACb,sBAAsB,iDAAM;AAC5B;AACA,aAAa,GAAG,IAAI,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEqM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzlBpJ;AACa;AACJ;AACkM;AACzM;AAC2C;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACI;AACK;;AAEjD;AACA;AACA,8CAA8C,yDAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,oCAAoC,yDAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,6DAAiB;AAC9B,iBAAiB,yDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kBAAkB;AAClE;AACA;AACA;AACA;AACA;AACA,+BAA+B,uDAAY;AAC3C;AACA,0BAA0B,uDAAY;AACtC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,4EAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,4EAAqB;AAC9C;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,4EAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA,mCAAmC,oEAAc;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,uCAAuC,+DAAwB,CAAC,4DAAwB,GAAG,+DAAwB;AAC1L,0CAA0C,+DAAwB,GAAG,wJAAwJ;AAC7N,QAAQ,4DAAqB;AAC7B,MAAM;AACN;AACA,QAAQ,4DAAqB,MAAM,yDAAkB;AACrD,OAAO,+IAA+I;AACtJ,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,OAAO,YAAY,0HAA0H,aAAa,8CAA8C,iDAAiD,gEAAyB;AAClR;AACA,cAAc,qEAAqE;AACnF,aAAa;AACb;AACA,MAAM,MAAM,4DAAiB,EAAE;AAC/B,MAAM,gCAAgC,MAAM,mDAAQ,EAAE,IAAI,M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qEAAoB;AACpD;AACA,SAAS;AACT,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,8BAA8B,qBAAqB,6EAAqB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,6EAAqB;AAClE;AACA;AACA;AACA;AACA,mBAAmB;AACnB,wBAAwB,YAAY,6EAAqB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAI;AACvC,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,iDAAiD,4BAA4B,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,gEAAuB,GAAG,+DAAwB,CAAC,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CA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B,iBAAiB,6EAAqB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,6EAAqB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0DAAS,oBAAoB,yDAAS;AACxD;AACA;AACA;AACA,SAAS;AACT,mCAAmC,0DAAS;AAC5C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sCAAsC,6DAAY;AAClD,YAAY,yDAAS;AACrB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sDAAM,gDAAgD,yDAAS;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qCAAqC,yDAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,yDAAS;AAC/C,+CAA+C,qDAAI;AACnD;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,qCAAqC,yDAAS,CAAC,4CAAK;AACpD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,mDAAQ;AACtB;AACA;AACA,oBAAoB,0DAAY;AAChC,oBAAoB,oEAAe;AACnC,oBAAoB,kEAAc;AAClC,oBAAoB,uEAAmB;AACvC;AACA;AACA,oBAAoB,uEAAmB;AACvC,oBAAoB,oEAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,KAAK,iBAAiB;AACtB,eAAe,mDAAmD,gEAAyB,qBAAqB,4BAA4B,+GAA+G,yBAAyB,QAAQ,0DAAY;AACxS,QAAQ,oEAAe;AACvB,QAAQ,kEAAc;AACtB,QAAQ,uEAAmB,IAAI,yBAAyB,QAAQ,uEAAmB;AACnF,QAAQ,oEAAe,2GAA2G,IAAI;;AAEtI;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEiU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzoCxQ;AACkL;AACnG;AACvF;AACa;AAC+B;AAChB;;AAE7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACI;AACK;AACA;;AAEjD;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA,6CAA6C,yDAAc;AAC3D;AACA,sBAAsB,2BAA2B;AACjD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,6DAAiB;AAC9B,iBAAiB,yDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qEAAa,CAAC,kEAAU,CAAC,0EAAkB,CAAC,qEAAa;AACrF;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uDAAY;AACtC;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAY;AAC5C;AACA;AACA;AACA;AACA;AACA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B,sFAA+B,GAAG,gBAAgB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,6DAAiB;AAC9B,iBAAiB,yDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qEAAa,CAAC,kEAAU,CAAC,qEAAa;AAC7D;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uDAAY;AACtC;AACA,yBAAyB,uDAAY;AACrC;AACA;AACA;AACA;AACA;AACA,+BAA+B,uDAAY;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,oDAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,mBAAmB;AACnB;AACA,uBAAuB,4EAAqB;AAC5C;AACA;AACA,gBAAgB;AAChB;AACA,oBAAoB,2EAAoB;AACxC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oBAAoB,2EAAoB;AACxC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,qBAAqB,2EAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,4BAA4B,mBAAmB,4EAAqB;AACpE;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,iCAAiC,2EAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2EAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,yBAAyB,4EAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iBAAiB,UAAU,iBAAiB;AACxF;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ,UAAU,QAAQ;AACtE;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,GAAG,KAAK,EAAE,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA,oDAAoD,SAAS,QAAQ,SAAS;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,KAAK,GAAG,KAAK,EAAE,aAAa,IAAI,OAAO;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,KAAK,QAAQ,oBAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,IAAI,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qEAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,iBAAiB,0DAAO;AACxB;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA,iBAAiB,sDAAG;AACpB;AACA;AACA,iBAAiB,uDAAI;AACrB;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2DAAQ;AACzB;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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,wDAAiB;AACzB,QAAQ,wDAAiB;AACzB,QAAQ,mEAA4B;AACpC,OAAO,sGAAsG;AAC7G,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,oDAAS;AACvB;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,+BAA+B,iEAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0EAA+B;AAChE,aAAa;AACb,KAAK,iBAAiB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oCAAoC,8DAAuB,GAAG,sBAAsB;AACpF,oCAAoC,8DAAuB,GAAG;AAC9D,YAAY,8DAAc;AAC1B,YAAY,mEAAe;AAC3B,WAAW,mEAAe,GAAG;AAC7B,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,mDAAQ;AACtB;AACA;AACA,oBAAoB,8DAAc;AAClC,oBAAoB,mEAAe;AACnC;AACA,0BAA0B,mEAAe;AACzC;AACA,aAAa;AACb,KAAK,iBAAiB;AACtB,eAAe,mDAAmD,gEAAyB,mBAAmB,4BAA4B,uPAAuP,yBAAyB,QAAQ,8DAAc;AAChb,QAAQ,mEAAe,IAAI,yBAAyB,QAAQ,mEAAe,mPAAmP,IAAI;;AAElU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gEAAU;AAC5C;AACA;AACA;AACA,+BAA+B,iDAAe;AAC9C;AACA,2BAA2B,iDAAe;AAC1C;AACA,wCAAwC,yCAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qEAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB,iDAAe;AACxC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,2CAAK;AACjB,YAAY,wCAAE;AACd;AACA,YAAY,2CAAK;AACjB,YAAY,wCAAE;AACd;AACA;AACA,6BAA6B,mDAAa;AAC1C,kBAAkB,oDAAG;AACrB;AACA,4BAA4B,mDAAa;AACzC,kBAAkB,oDAAG;AACrB;AACA,8BAA8B,mDAAa;AAC3C,kBAAkB,oDAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEgT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvzBlO;AACrB;AACsC;AACtC;AAC6R;AACnK;AACtG;AACH;AACvB;AAC8B;AACL;AACQ;AAC7B;AAC2B;AACb;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACI;AACF;AACO;AACL;AACE;AACG;AACD;AACC;;AAEjD,kDAAkD;AAClD,IAAI,0DAAmB;AACvB;AACA;AACA;AACA,4BAA4B,SAAS;AACrC,gCAAgC,SAAS;AACzC;AACA;AACA;AACA,6DAA6D;AAC7D,IAAI,wDAAiB;AACrB,EAAE;AACF,mBAAmB,2DAAoB;AACvC,IAAI,wDAAiB;AACrB;AACA,6DAA6D;AAC7D,IAAI,oDAAa;AACjB,EAAE;AACF,mBAAmB,2DAAoB;AACvC,IAAI,+DAAwB;AAC5B;AACA,+CAA+C;AAC/C,iBAAiB,8DAAuB;AACxC,IAAI,4DAAqB;AACzB,IAAI,wDAAiB,uEAAuE,oBAAoB,2DAAoB,QAAQ,sCAAsC,gCAAgC,gBAAgB,2DAAoB,IAAI,YAAY,yDAAkB,KAAK,iDAAiD,gGAAgG,oBAAoB,2DAAoB,QAAQ,gCAAgC,gBAAgB,2DAAoB,IAAI,gDAAgD;AACtlB,IAAI,4DAAqB;AACzB,IAAI,wDAAiB;AACrB,IAAI,wDAAiB;AACrB,IAAI,0DAAmB;AACvB,IAAI,0DAAmB;AACvB,EAAE;AACF;AACA;AACA,mBAAmB,2DAAoB;AACvC,IAAI,yDAAkB;AACtB,IAAI,wDAAiB;AACrB,IAAI,yDAAkB;AACtB,IAAI,u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Y;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,+BAA+B,sBAAsB,6EAAqB;AAC1E;AACA,0BAA0B;AAC1B;AACA,8BAA8B,4EAAoB;AAClD;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,gCAAgC,4EAAoB;AACpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,yDAAyD,qBAAqB;AAC9E;AACA,0DAA0D,MAAM;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yDAAS;AAC3B;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4CAAK;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAc,GAAG,EAAE;AACnD;AACA;AACA;AACA,kCAAkC,cAAc,GAAG,EAAE;AACrD;AACA;AACA;AACA;AACA;AACA;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,yCAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uDAAY;AAClD;AACA,gCAAgC,uDAAY;AAC5C;AACA;AACA,YAAY,gDAAS;AACrB,sBAAsB,0DAAS;AAC/B;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,0BAA0B;AAC1B;AACA,gBAAgB,4EAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gDAAS;AACjB,kBAAkB,0DAAS;AAC3B;AACA;AACA,SAAS;AACT,QAAQ,gDAAS;AACjB,kBAAkB,0DAAS;AAC3B;AACA;AACA,SAAS;AACT;AACA;AACA,yDAAyD,yCAAE;AAC3D;AACA;AACA;AACA;AACA;AACA,+BAA+B,+DAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4CAAK,8CAA8C,0DAAS;AACpE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,qCAAqC,0DAAS;AAC9C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sEAAc;AAC1B;AACA;AACA;AACA,iBAAiB,yDAAK;AACtB,iBAAiB,yDAAK;AACtB;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,uBAAuB;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4CAAK;AACb;AACA,kBAAkB,0DAAS,CAAC,4CAAK;AAC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,+CAA+C;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0DAA0D;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,iBAAiB;AACjH;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA,0FAA0F,sBAAsB,mBAAmB;AACnI;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,YAAY;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yCAAyC;AACzE;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B;;;;;;;;;;;;AClOb;;AACbx1C,8CAA6C;AAAEsM,EAAAA,KAAK,EAAE;AAAT,CAA7C;;AACA,IAAI4qE,OAAO,GAAGC,mBAAO,CAAC,kBAAD,CAArB;;AACA,IAAIC,QAAQ,GAAGD,mBAAO,CAAC,mBAAD,CAAtB;;AACA,IAAIE,MAAM,GAAGF,mBAAO,CAAC,mBAAD,CAApB;;AACA,IAAIG,oBAAoB,GAAGH,mBAAO,CAAC,iCAAD,CAAlC;;AACA,IAAII,cAAc,GAAGL,OAAO,CAACM,eAAR,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A;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;;;;;;;;;;AC3BxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7SgC;AACA;AACzB,qCAAqC,yCAAK,gBAAgB,yCAAK;AACtE,WAAW,6CAAK;AAChB;;;;;;;;;;;;;;;;;ACJ2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mDAAU;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACpB4B;AACrB;AACP;AACA;AACA;AACA;AACA,uBAAuB,yCAAG;AAC1B;AACA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACvBiD;AACT;AACjC;AACP;AACA;AACA;AACA;AACA,wBAAwB,yDAAa;AACrC,uBAAuB,qDAAS;AAChC;;;;;;;;;;;;;;;;;;;;ACT8B;AACQ;AACY;AACd;AAC7B;AACP;AACA;AACA,mBAAmB,gDAAI,CAAC,2CAAI,qBAAqB,mDAAQ,KAAK,+DAAc;AAC5E;AACA;AACA;AACA,eAAe,gDAAI,CAAC,2CAAI,6DAA6D,mDAAQ;AAC7F;AACA;;;;;;;;;;;;;;;;;;ACbiG;AAC1F;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kEAAqB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+DAAc,eAAe,kEAAqB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC/E2C;AACA;AACQ;AAC5C,4CAA4C,mDAAK,WAAW,4DAAqB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mDAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,kBAAkB;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;AACA,YAAY,aAAa;AACzB;AACA;;;;;;;;;;;;;;;;;ACvEkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,+CAAM;AACjB;;;;;;;;;;;;;ACVA,+DAAe,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,GAAG,yCAAyC;;;;;;;;;;;;;;;ACApI;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AClBqC;AACrC;AACA;AACA;AACA;;AAEA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,0gBAA0gB;AAC1gB;AACA;AACA;AACA;;AAEA,OAAO,qDAAQ;AACf;AACA;;AAEA;AACA;;AAEA,+DAAe,SAAS;;;;;;;;;;;;;;AC7BG;AACY;;AAEvC;AACA;AACA,+CAA+C,4CAAG,KAAK;;AAEvD;AACA,mCAAmC;;A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,SAAC,0JAA2B;;AAN3B,qBAAqB;IALjC,yDAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,+KAA6C;;KAE9C,CAAC;GACW,qBAAqB,CA6LjC;AA7LiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCuB;AACV;AACN;AACe;AACU;AACK;AACd;AACa;AACX;AACa;AACjB;AACQ;AACJ;AACE;AACI;AACC;AACX;AACE;AACF;AACe;AACQ;AACrB;AACE;AACE;AACS;AACX;AACF;AACF;AAkB/B;AACqC;AACd;AACW;AACgD;AACtB;AACJ;AACT;AACgC;AAGC;AAGV;AAC0B;AACnC;AACK;AACzB;AACgD;AACtC;AAC4C;AACrC;AACJ;AAC+B;AAC3B;AACuB;AACG;AACd;AACuB;AACN;AAC1B;AACpB;AAC2B;AACrB;AACW;AACc;AACG;AACH;AACpB;AACuB;AACM;AACvB;AACI;AACmB;AACd;AACD;AACN;AAGkB;AACe;AACN;AAC1B;AACL;AACZ;AACiB;AACgC;AAC7B;AAC2B;AAC5C;AACoB;AAGP;AAC2B;AACpB;AAC4B;AAGnB;AAGI;AACG;AAGV;AAGF;AACe;AACS;AACZ;AACe;AAC3C;AAC4B;AAC1C;AACsB;AACwB;AACjB;AAGG;AACiB;AACH;AACM;AACH;AACA;AACG;AACA;AACA;AACZ;AACvB;AACY;AACH;AACd;AAC+B;AACjB;AACS;AACN;AACX;AACZ;AACL;AACoC;AACO;AACJ;AACjB;AAC0B;AACQ;AAClC;AACuB;AACW;AACG;AAGrB;AACI;AACN;AAGV;AACD;AAGO;AACO;AACe;AAC/D;AACc;AACM;AACH;AACQ;AACgB;AACT;AACN;AACW;AACnB;AACT;AAC4B;AACmB;AACoC;AAC7B;AACxB;AAClC;IA6LjD,kBAAkB,SAAlB,kBAAkB;CAAI;AAAtB,kBAAkB;IA1L9B,yDAAQ,CAAC;QACR,YAAY,EAAE;YACZ,6EAAqB;YACrB,yGAAyB;YACzB,wFAAoB;YACpB,2EAAa;YACb,2EAAa;YACb,oGAAmB;YACnB,wFAAe;YACf,2HAA0B;YAC1B,qFAAc;YACd,4FAAiB;YACjB,yFAAgB;YAChB,qHAAsB;YACtB,iIAAqB;YACrB,oIAAsB;YACtB,wHAAuB;YACvB,8IAAyB;YACzB,2IAAwB;YACxB,+FAAmB;YACnB,kGAAoB;YACpB,6FAAqB;YACrB,8EAAc;YACd,0FAAgB;YAChB,mHAAyB;YACzB,qGAAqB;YACrB,qHAAsB;YACtB,iIAAqB;YACrB,mJAA2B;YAC3B,8FAAmB;YACnB,yFAAqB;YACrB,iFAAe;YACf,2EAAa;YACb,iFAAe;YACf,qGAAqB;YACrB,wJAA4B;YAC5B,yHAA2B;YAC3B,qGAAqB;YACrB,qHAAsB;YACtB,+IAA8B;YAC9B,oGAAoB;YACpB,+HAA6B;YAC7B,+HAAsB;YACtB,4HAAqB;YACrB,yHAAoB;YACpB,iGAAmB;YACnB,+HAAsB;YACtB,4HAAqB;YACrB,0IAAqB;YACrB,4HAAqB;YACrB,yHAA2B;YAC3B,+HAA6B;YAC7B,iKAAuC;YACvC,oHAA4B;YAC5B,4FAAkB;YAClB,4HAAwB;YACxB,sFAAgB;YAChB,gFAAe;YACf,6JAAkC;YAClC,6GAAuB;YACvB,0HAAuB;YACvB,uHAA2B;YAC3B,kFAAkB;YAClB,wGAAsB;YACtB,8IAA6B;YAC7B,uHAAsB;YACtB,sJAA+B;YAC/B,8FAAkB;YAClB,+JAAkC;YAClC,wIAA2B;YAC3B,0GAAsB;YACtB,6GAAuB;YACvB,iFAAkB;YAClB,iIAA0B;YAC1B,gHAAyB;YACzB,4FAAkB;YAClB,gGAAoB;YACpB,0GAAsB;YACtB,qIAA0B;YAC1B,mHAAyB;YACzB,oGAAmB;YACnB,6GAAsB;YACtB,8FAAsB;YACtB,sHAA0B;YAC1B,wIAAgC;YAChC,wGAAsB;YACtB,iIAA4B;YAC5B,6FAAoB;YACpB,4EAAe;YACf,sGAAmB;YACnB,kGAAgB;YAChB,uFAAkB;YAClB,wGAAoB;YACpB,qGAAmB;YACnB,8GAAsB;YACtB,sHAAwB;YACxB,mHAAkB;YAClB,uHAAoB;YACpB,gHAAiB;YACjB,qFAAmB;YACnB,+FAAmB;YACnB,+HAA6B;YAC7B,+HAA6B;YAC7B,6HAA6B;YAC7B,kGAAgB;YAChB,sGAAiB;YACjB,mHAAyB;YACzB,iHAAoB;YACpB,4FAAkB;YAClB,mIAA0B;YAC1B,yHAA2B;YAC3B,mHAAsB;YACtB,yGAAsB;YACtB,4HAA2B;YAC3B,gKAAgC;YAChC,mIAAiC;YACjC,+FAAmB;YACnB,yHAAuB;YACvB,+HAAyB;YACzB,oIAA0B;YAC1B,2GAAsB;SACvB;QACD,OAAO,EAAE;YACP,2DAAY;YACZ,sFAAyB;YACzB,iEAAmB;YACnB,yDAAW;YACX,kEAAoB;YACpB,gEAAkB;YAClB,qEAAe;YACf,yDAAW;YACX,qDAAoB;YACpB,qEAAuB;YACvB,mFAAqB;YACrB,qEAAc;YACd,0FAAwB;YACxB,uEAAe;YACf,mEAAa;YACb,mEAAa;YACb,mEAAa;YACb,uEAAe;YACf,mEAAa;YACb,6EAAkB;YAClB,kFAAoB;YACpB,2EAAiB;YACjB,uEAAe;YACf,kFAAoB;YACpB,4DAAc;YACd,8CAAa;YACb,4DAAc;YACd,0DAAY;YACZ,qGAAoB;YACpB,+DAAiB;YACjB,8EAAkB;YAClB,uEAAe;YACf,qEAAc;YACd,kFAAoB;YACpB,qEAAc;YACd,yEAAgB;YAChB,yEAAgB;YAChB,+DAAiB;YACjB,iEAAmB;YACnB,wDAAU;YACV,qEAAc;YACd,0DAAY;YACZ,wDAAU;YACV,8DAAgB;YAChB,4FAAiB;YACjB,oFAAqB;YACrB,oEAAa;YACb,4DAAc;YACd,oEAAgB;YAChB,0EAA0B;YAC1B,yEAAyB;YACzB,2DAAW;SACZ;QACD,SAAS,EAAE;YACT,8DAAgB;YAChB;gBACE,OAAO,EAAE,wGAA4B;gBACrC,QAAQ,EAAE,EAAE;aACb;YACD,oHAAgC;YAChC,8FAAqB;SACtB;KACF,CAAC;GACW,kBAAkB,CAAI;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;ACnYY;AAEN;AAEa;IAKrC,iBAAiB,SAAjB,iBAAiB;IAI1B,YACY,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAHjB,oBAAe,GAAG,oBAAoB,CAAC;IAIpD,CAAC;IAEL,gBAAgB,CAAC,IAAqB;QAClC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,mBAAmB,CAAC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YACjE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,KAAiB;QACnB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,QAAQ,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAgB,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,WAAW,CAAC,KAAuB;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,eAAe,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAgB,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,aAAa,CAAC,KAAyB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,iBAAiB,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAgB,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;;YAxCQ,4DAAU;;AAKN,iBAAiB;IAH7B,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,iBAAiB,CAmC7B;AAnC6B;AAqCvB,MAAM,eAAe;CAa3B;AAEM,MAAM,oBAAoB;CAKhC;AAEM,MAAM,UAAU;CAGtB;AAEM,MAAM,gBAAgB;CAE5B;AAEM,MAAM,kBAAkB;CAE9B;;;;;;;;;;;;;;;;;;;;AChF0C;AAEpC,MAAM,SAAS;IAKpB,YAAY,OAAU,EAAE,GAAW;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;IAKY,YAAY,SAAZ,YAAY;IAEvB,MAAM,CAAC,IAAI,CAAC,CAAS;QACnB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,sBAAsB;IAC7C,CAAC;IAED,OAAO,CAAU,GAAW;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;QACtD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,IAAS,EAAE,MAAe,QAAQ;QACvD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAEO,SAAS,CAAC,IAAe;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;CACF;AA3BY,YAAY;IAHxB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,YAAY,CA2BxB;AA3BwB;;;;;;;;;;;;;;;;;;;;;;;ACrBqC;AACnB;AAGN;IAKxB,mBAAmB,SAAnB,mBAAmB;IAI5B,YACY,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAHjB,sBAAiB,GAAG,sBAAsB,CAAC;IAIxD,CAAC;IAEL,iCAAiC,CAAC,cAAsB,EAAE,WAA0B;QAChF,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,kBAAkB,cAAc,gBAAgB,CAAC;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAgB,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YACtE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;;YAxBoB,4DAAU;;AASlB,mBAAmB;IAH/B,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,mBAAmB,CAe/B;AAf+B;AAiBzB,MAAM,WAAW;CAKvB;AAEM,MAAM,iCAAiC;CAG7C;;;;;;;;;;;;;;;;;;;;;;;;ACpC0C;AACI;AACM;AACV;AACgC;IAK9D,kBAAkB,SAAlB,kBAAkB;IAK7B,YACU,YAAiC;QAAjC,iBAAY,GAAZ,YAAY,CAAqB;QAHnC,gBAAW,GAAG,IAAI,+CAAa,CAAgB,CAAC,CAAC,CAAC;QAKxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,KAAa,EAAE,MAAsB,EAAE,WAA2B;QACjF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,yDAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,EAAE,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,yDAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACjG,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aACjE;YACD,OAAO,wCAAE,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;;YArCQ,uEAAmB;;AAKf,kBAAkB;IAH9B,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,kBAAkB,CAgC9B;AAhC8B;;;;;;;;;;;;;;;;;;;;;;;;;;ACTY;AACoB;AAE1B;IAKxB,6BAA6B,SAA7B,6BAA6B;IAIxC,YACU,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHvB,YAAO,GAAG,gCAAgC,CAAC;IAIxD,CAAC;IAEL,cAAc,CAAC,KAA0B;QACvC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,aAAa,CAAC;QACzG,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4BAA4B,CAAC,KAAwC;QACnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,6BAA6B,CAAC;QACzH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,UAAoB;QACpC,OAAO,UAAU;YACb,UAAU,CAAC,aAAa,KAAK,EAAE;YAC/B,UAAU,CAAC,WAAW,KAAK,EAAE;YAC7B,UAAU,CAAC,YAAY,KAAK,EAAE;YAC9B,UAAU,CAAC,cAAc,KAAK,EAAE;YAChC,UAAU,CAAC,UAAU,KAAK,EAAE,CAAC;IACnC,CAAC;CACF;;YArCQ,0DAAc;;AAOV,6BAA6B;IAHzC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,6BAA6B,CA8BzC;AA9ByC;AAgCnC,MAAM,mBAAmB;CAc/B;AAEM,MAAM,oBAAoB;CAEhC;AAEM,MAAM,QAAQ;CAkBpB;AAEM,MAAM,iCAAiC;CAG7C;AAEM,MAAM,kCAAkC;CAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvF6D;AACnB;AASnB;AAEoC;IAM/C,sBAAsB,SAAtB,sBAAsB;IAI/B,YACY,UAAsB,EACtB,cAA8B,EAC9B,kBAAsC;QAFtC,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QALjC,yBAAoB,GAAG,yBAAyB,CAAC;IAM9D,CAAC;IAEL,gCAAgC;IAChC,UAAU,CAAC,cAAsB,EAAE,SAAiB,EAAE,WAA0B;QAC5E,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,aAAa,SAAS,OAAO,CAAC;QACtG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,cAAsB,EAAE,SAAiB,EAAE,WAA0B;QAC/E,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,aAAa,SAAS,sBAAsB,CAAC;QACrH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAA4C;IAC5C,cAAc,CAAC,cAAsB,EAAE,WAA0B;QAC7D,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,WAAW,CAAC;QACpF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wCAAwC;IACxC,WAAW,CAAC,cAAsB,EAAE,SAAiB;QACjD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,aAAa,SAAS,EAAE,CAAC;QACjG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mDAAmD;IACnD,qBAAqB,CAAC,cAAsB,EAAE,WAA0B;QACpE,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,+BAA+B,CAAC;QACxG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0CAA0C;IAC1C,eAAe,CAAC,cAAsB,EAAE,UAAkB;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,eAAe,UAAU,EAAE,CAAC;QACpG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,cAAsB,EAAE,MAAc;QAC1C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,UAAU,MAAM,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAA4C;IAC5C,eAAe,CAAC,cAAsB,EAAE,WAA0B;QAC9D,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,aAAa,CAAC;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,KAAmB;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;QACrJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAChE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0DAA0D;IAC1D,mBAAmB,CAAC,cAAsB,EAAE,SAAiB,EAAE,WAA0B;QACrF,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,aAAa,SAAS,qBAAqB,CAAC;QACpH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5E,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,KAAmB;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;QACjI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,2DAA2D;IAC3D,gBAAgB,CAAC,cAAsB,EAAE,eAAwB,EAAE,WAA0B;QACzF,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC1B,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aACnD,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,4BAA4B,CAAC;QACrG,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,yDAAS,CAAC,GAAG,EAAE;YAC5D,uBAAuB;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBAC5E,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,0DAAU,CAAC,GAAG,EAAE;YAChB,2BAA2B;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBACxE,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,qBAAqB;IACrB,kBAAkB,CAAC,cAAsB,EAAE,QAAgB,EAAE,WAA0B;QACnF,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC1B,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,YAAY,QAAQ,mBAAmB,CAAC;QAChH,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,yDAAS,CAAC,GAAG,EAAE;YAC5D,uBAAuB;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBAC5E,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,0DAAU,CAAC,GAAG,EAAE;YAChB,2BAA2B;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBACxE,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0BAA0B;IAC1B,uBAAuB,CAAC,cAAsB,EAAE,WAA0B;QACtE,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC1B,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,mCAAmC,CAAC;QAC5G,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,yDAAS,CAAC,GAAG,EAAE;YAC5D,uBAAuB;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBAC5E,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,0DAAU,CAAC,GAAG,EAAE;YAChB,2BAA2B;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBACxE,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4BAA4B;IAC5B,yBAAyB,CAAC,cAAsB,EAAE,WAA0B;QACxE,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC1B,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,cAAc,qCAAqC,CAAC;QAC9G,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,yDAAS,CAAC,GAAG,EAAE;YAC5D,uBAAuB;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBAC5E,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,0DAAU,CAAC,GAAG,EAAE;YAChB,2BAA2B;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;gBACxE,OAAO,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iBAAiB;IACjB,cAAc,CAAC,KAA0B;QACrC,2CAA2C;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,kBAAkB,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,KAAK,aAAa,CAAC;QAC5I,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;;YA3MQ,4DAAU;YAGf,0DAAc;YACd,8DAAkB;;AAcT,sBAAsB;IAHlC,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,sBAAsB,CAyLlC;AAzLkC;AA2L5B,MAAM,mBAAmB;CAK/B;AAEM,MAAM,oBAAoB;CAEhC;AACM,MAAM,UAAU;CAuBtB;AAEM,MAAM,GAAI,SAAQ,UAAU;CAAI;AAEhC,MAAM,gBAAgB;CAG5B;AAEM,MAAM,WAAW;CASvB;AAEM,MAAM,aAAc,SAAQ,WAAW;CAAI;AAE3C,MAAM,sBAAsB;CAclC;AAEM,MAAM,qBAAqB;CAGjC;AAEM,MAAM,cAAc;CAU1B;AAEM,MAAM,OAAQ,SAAQ,cAAc;CAAI;AAExC,MAAM,oBAAoB;CAGhC;AAEM,MAAM,iBAAkB,SAAQ,OAAO;CAAI;AAE3C,MAAM,oBAAoB;CAShC;AAEM,MAAM,aAAc,SAAQ,oBAAoB;CAAI;AAEpD,MAAM,mBAAmB;CAG/B;AAEM,MAAM,eAAe;CAM3B;AAEM,MAAM,QAAS,SAAQ,eAAe;CAAI;AAE1C,MAAM,qBAAqB;CAGjC;AAEM,MAAM,qBAAsB,SAAQ,eAAe;CAAI;AAEvD,MAAM,GAAG;CAUf;AAEM,MAAM,YAAY;CAKxB;AAEM,MAAM,aAAc,SAAQ,GAAG;CAAI;AAEnC,MAAM,kBAAkB;CAG9B;AAEM,MAAM,mBAAmB;CAmB/B;AAEM,MAAM,YAAY;CAIxB;AAEM,MAAM,aAAc,SAAQ,UAAU;CAAI;AAE1C,MAAM,wBAAwB;CAGpC;AAEM,MAAM,UAAU;CA2BtB;AAEM,MAAM,iCAAiC;CAG7C;AAEM,MAAM,mCAAmC;CAG/C;AAEM,MAAM,YAAY;CAOxB;AAEM,MAAM,sBAAsB;CAGlC;AAEM,MAAM,WAAW;CAYvB;AAEM,MAAM,eAAe;CAK3B;AAEM,MAAM,oBAAoB;CAEhC;;;;;;;;;;;;;;;;;;;;;;ACzdiD;AACP;AAGN;IAKxB,uBAAuB,SAAvB,uBAAuB;IAIlC,YACU,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAHf,eAAU,GAAG,mBAAmB,CAAC;IAI9C,CAAC;IAEL,0BAA0B,CAAC,cAAsB;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,kBAAkB,cAAc,UAAU,CAAC;QACzE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnE,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;;YAvBQ,4DAAU;;AASN,uBAAuB;IAHnC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,uBAAuB,CAcnC;AAdmC;AAgB7B,MAAM,mBAAmB;CAG/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5B0C;AAGN;AACa;IAKrC,mBAAmB,SAAnB,mBAAmB;IAI5B,YACY,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAH1B,YAAO,GAAG,sBAAsB,CAAC;IAIrC,CAAC;IAEL,8BAA8B;IAC9B,UAAU,CAAC,KAAsB;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAA4C;IAC5C,kBAAkB,CAAC,KAA8B;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,kBAAkB,CAAC;QAC9G,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;;YA5BQ,4DAAU;;AAKN,mBAAmB;IAH/B,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,mBAAmB,CAuB/B;AAvB+B;AAyBzB,MAAM,eAAe;CAG3B;AAEM,MAAM,gBAAgB;CAsB5B;AAEM,MAAM,MAAO,SAAQ,gBAAgB;CAAI;AAEzC,MAAM,uBAAuB;CAWnC;AAEM,MAAM,uBAAuB;CAGnC;AAEM,MAAM,wBAAwB;CAGpC;AAEM,MAAM,oBAAoB;CAWhC;;;;;;;;;;;;;;;;;;;;ACnG0C;AACG;IAKjC,qBAAqB,SAArB,qBAAqB;IAE9B,gBAAgB,CAAC;IAEjB,4BAA4B,CAAC,cAAsB;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,wCAAwC;QACxC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;QAExB,MAAM,iBAAiB,GAAG,4BAA4B,cAAc,IAAI,CAAC;QACzE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE9D,MAAM,2BAA2B,GAAG,4CAA4C,cAAc,IAAI,CAAC;QACnG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAExE,MAAM,uBAAuB,GAAG,0CAA0C,cAAc,IAAI,CAAC;QAC7F,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEpE,MAAM,uBAAuB,GAAG;qEAC6B,cAAc;gEACnB,cAAc;sEACR,cAAc;SAC3E,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEpE,MAAM,aAAa,GAAG,gFAAoC,CAAC,cAAc,CAAC,CAAC;QAC3E,MAAM,uBAAuB,GAAG,6CAA6C,aAAa,IAAI,CAAC;QAC/F,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACJ;;AAhCY,qBAAqB;IAHjC,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,qBAAqB,CAgCjC;AAhCiC;;;;;;;;;;;;;;;;;;;;;;;ACN4B;AACnB;AAGN;IAMxB,oBAAoB,SAApB,oBAAoB;IAI7B,YACY,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAHjB,uBAAkB,GAAG,uBAAuB,CAAC;IAI1D,CAAC;IAEL,sDAAsD;IACtD,wBAAwB,CAAC,cAAsB,EAAE,WAA0B;QACvE,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,kBAAkB,kBAAkB,cAAc,sBAAsB,CAAC;QAC7F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxE,OAAO,GAAG,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;;YA1BQ,4DAAU;;AAUN,oBAAoB;IAHhC,yDAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,oBAAoB,CAgBhC;AAhBgC;AAkB1B,MAAM,wBAAwB;CAapC;AAEM,MAAM,8BAA8B;CAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C6D;AACnB;AACmD;AAEzD;IAKxB,mBAAmB,SAAnB,mBAAmB;IAI9B,YACU,UAAsB,EACtB,cAA8B;QAD9B,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAJhC,YAAO,GAAG,sBAAsB,CAAC;IAKrC,CAAC;IAEL,eAAe,CAAC,KAA2B;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,MAAM,eAAe,CAAC;QACxG,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,+BAA+B,CAAC,KAA2C;QACzE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,MAAM,GAAG;cACvF,+CAA+C,CAAC;QACpD,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,UAAU,CAAC;QAC5E,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,gBAAgB,CAAC;QAClF,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,aAAa,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACzE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,YAAY,KAAK,CAAC,QAAQ,eAAe,CAAC;QAC3G,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,MAAM,iBAAiB,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9H,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,KAA6B;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,MAAM,iBAAiB,CAAC;QAC1G,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gCAAgC,CAAC,KAA4C;QAC3E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,4CAA4C,CAAC;QAC9G,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,4BAA4B,CAAC;QAC9F,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;;YAnIQ,4DAAU;YAEV,0DAAc;;AAOV,mBAAmB;IAH/B,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,mBAAmB,CA0H/B;AA1H+B;AA4HzB,MAAM,oBAAoB;CAIhC;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,wCAAsB;IACtB,qCAAmB;AACrB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAEM,MAAM,UAAU;CAatB;AAEM,MAAM,iBAAkB,SAAQ,UAAU;CAAI;AAE9C,MAAM,qBAAqB;CAGjC;AAEM,MAAM,oCAAoC;CAIhD;AAEM,MAAM,2BAA2B;CAKvC;AAEM,MAAM,qCAAqC;CAGjD;AAEM,MAAM,MAAM;CAsBlB;AAEM,MAAM,gBAAgB;CAG5B;AAEM,MAAM,iBAAiB;CAG7B;AAEM,MAAM,iBAAkB,SAAQ,gBAAgB;CAAI;AAEpD,MAAM,kBAAkB;CAE9B;AAEM,MAAM,uBAAuB;CAInC;AAEM,MAAM,wBAAyB,SAAQ,MAAM;CAAI;AAEjD,MAAM,eAAe;CAG3B;AAEM,MAAM,gBAAiB,SAAQ,MAAM;CAAI;AAEzC,MAAM,iBAAiB;CAQ7B;AAEM,MAAM,kBAAkB;CAAI;AAE5B,MAAM,gBAAgB;CAW5B;AAEM,MAAM,iBAAiB;CAAI;AAE3B,MAAM,mBAAmB;CAI/B;AAEM,MAAM,oBAAqB,SAAQ,UAAU;CAAI;AAEjD,MAAM,kBAAkB;CAK9B;AAEM,MAAM,wBAAwB;CAKpC;AAEM,MAAM,mBAAmB;CAS/B;AAEM,MAAM,sBAAsB;CAIlC;AAEM,MAAM,uBAAuB;CAGnC;AAEM,MAAM,qCAAqC;CAGjD;AAEM,MAAM,sCAAsC;CAGlD;AAEM,MAAM,uCAAuC;CAQnD;AAEM,MAAM,qBAAqB;CAGjC;AAEM,MAAM,sBAAsB;CAGlC;AAEM,MAAM,uBAAuB;CAMnC;;;;;;;;;;;;;;;;;;;;;;;AC1V0C;AAEiF;AACtF;AACK;AACmF;IAKjH,0BAA0B,SAA1B,0BAA0B;IAErC,YACU,GAAuB,EACvB,kBAAsC,EACtC,mBAAqD;QAFrD,QAAG,GAAH,GAAG,CAAoB;QACvB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,wBAAmB,GAAnB,mBAAmB,CAAkC;IAC3D,CAAC;IAEL,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YACrC,OAAO,wCAAE,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,yDAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,IAAI,WAAW,GAAG,GAAG,GAAG,WAAW,KAAK,MAAM,OAAO,UAAU,CAAC;YAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,yDAAS,CAAC,CAAC,UAAU,CAAC,EAAE;gBACvE,IAAI,CAAC,UAAU,EAAE;oBACf,+DAA+D;oBAC/D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACjC,OAAO,wCAAE,CAAC,KAAK,CAAC,CAAC;iBAClB;gBAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,yDAAS,CAAC,OAAO,CAAC,EAAE;oBACjG,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,mFAAe,CAAC;wBAC7D,cAAc,EAAE,KAAK;wBACrB,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,IAAI,yDAAa,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,6DAAiB,CAAC,SAAS,EAAE,kEAAsB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,yDAAS,CAAC,CAAC,GAAqB,EAAE,EAAE;wBAC3C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;4BACpB,WAAW,IAAI,mBAAmB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;yBACrF;wBACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACjC,OAAO,wCAAE,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF;;YArD4B,8DAAkB;YAAtC,8DAAkB;YAGlB,oGAAgC;;AAK5B,0BAA0B;IAHtC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,0BAA0B,CA6CtC;AA7CsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVuB;AACnB;AASnB;AACwB;AACX;AAEyE;AAG9G,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gCAAmB;IACnB,8BAAiB;IACjB,mCAAsB;IACtB,yDAA4C;AAC9C,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,kCAAY;IACZ,yCAAmB;IACnB,+CAAyB;IACzB,4CAAsB;AACxB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;IAKY,yBAAyB,SAAzB,yBAAyB;IAIpC,YACU,cAA8B,EAC9B,UAAsB,EACtB,kBAAsC;QAFtC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAY;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QALxC,YAAO,GAAG,4BAA4B,CAAC;IAM3C,CAAC;IAEL,yBAAyB;IACzB,SAAS,CAAC,KAAqB;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,KAA6B;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,WAAW,CAAC;QACrG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6BAA6B;IAC7B,WAAW,CAAC,KAAuB;QACjC,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC5B,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,CAAC;QACpG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4BAA4B;IAC5B,UAAU,CAAC,KAAsB;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6CAA6C;IAC7C,kBAAkB,CAChB,cAAsB,EACtB,cAAsB,EACtB,SAAiB,EACjB,WAA0B;QAE1B,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,YAAY,SAAS,SAAS,CAAC;QACnH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,gBAAgB,CAAC;QAC1G,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6DAA6D;IAC7D,oBAAoB,CAAC,KAAgC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,mBAAmB,CAAC;QAC7G,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qEAAqE;IACrE,qBAAqB,CAAC,KAAiC;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,4CAA4C,CAAC;QACtI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sEAAsE;IACtE,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,mBAAmB,CAAC;QAC7G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0EAA0E;IAC1E,oBAAoB,CAAC,KAAgC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,mBAAmB,CAAC;QAC7G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACzE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gEAAgE;IAChE,eAAe,CAAC,KAA2B;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kCAAkC,CAAC;QAC5H,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACzE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kFAAkF;IAClF,oBAAoB,CAAC,KAAgC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,6BAA6B,CAAC;QACvH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,KAAoB;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kBAAkB,CAAC;QAC5G,MAAM,OAAO,GAAG,IAAI,8CAAY,EAAE,CAAC;QAEnC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,SAAS,CAC5C,GAAG,EAAE;YACH,uBAAuB;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,SAAS,CAC5C,CAAC,GAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EACpD,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAC3B,CAAC;QACJ,CAAC,EACD,GAAG,EAAE;YACH,2BAA2B;YAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,SAAS,CACxC,CAAC,GAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EACpD,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAC3B,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,WAAW,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,sBAAsB,CAAC;QAChH,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0BAA0B;IAC1B,uBAAuB,CAAC,KAAmC;QACzD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,yBAAyB,CAAC;QACnH,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACtE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB;IACvB,SAAS,CAAC,KAAqB;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,QAAQ,CAAC;QAClG,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,KAAoB;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC;QAClH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,yBAAyB;IACzB,SAAS,CAAC,KAAqB;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1I,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,SAAS,CAAC;QACzH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACtF,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,8BAA8B;IAC9B,WAAW,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,SAAS,EAAE,CAAC;QACtK,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gDAAgD;IAChD,oBAAoB,CAAC,KAAgC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,UAAU,CAAC;QACpG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,KAAgC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,gBAAgB,CAAC;QAC1G,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2BAA2B,CAAC,KAAuC;QACjE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,SAAS,QAAQ,CAAC;QACtG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kCAAkC,CAAC,KAA8C;QAE/E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,+BAA+B,CAAC;QACzH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kBAAkB,CAAC;QAC5G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACtF,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,SAAS,YAAY,CAAC;QAClI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,SAAS,UAAU,CAAC;QAChI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,+BAA+B,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3I,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB,CAAC,KAAiC;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kBAAkB,CAAC;QAC5G,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,oCAAoC,CAAC;QAC9H,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CAAC,KAAiC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,yBAAyB,CAAC;QACnH,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CAAC,KAAkC;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,sCAAsC,CAAC;QAChI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,WAAW,CAAC,cAAsB,EAAE,cAAsB;QACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,2BAA2B,CAAC;QAChH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kCAAkC,CAChC,KAA8C;QAE9C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,sCAAsC,CAAC;QAChI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,cAAsB,EAAE,cAAsB;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,0BAA0B,CAAC;QAC/G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gCAAgC,CAAC,KAA4C;QAE3E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,cAAc,uBAAuB,CAAC;QACxH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC;QACrK,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACzE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gCAAgC,CAAC,cAAsB,EAAE,cAAsB,EAAE,KAA4C;QAE3H,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,kDAAkD,CAAC;QACvI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,6BAA6B,CAAC,cAAsB,EAAE,cAAsB,EAAE,KAAyC;QAErH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,kDAAkD,CAAC;QACvI,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,aAAa,CAAC,KAAyB;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,cAAc,UAAU,CAAC;QACzL,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,aAAa,CAAC,KAAyB;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,cAAc,mBAAmB,KAAK,CAAC,cAAc,UAAU,CAAC;QACzL,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACrE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,cAAsB,EAAE,cAAsB;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,0BAA0B,CAAC;QAC/G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAA0C,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC3G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,kBAAkB,CAAC,cAAsB,EAAE,cAAsB,EAAE,KAA8B;QAC/F,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,wBAAwB,CAAC;QAC7G,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAA0C,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC/G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,OAAO,CAAC;QAC3H,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAiC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,QAAQ,CAAC;QAC5H,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAiC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAqC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC7G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAoC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,OAAO,CAAC;QAC9H,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAoC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC7G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,KAAyB;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,QAAQ,CAAC;QAC/H,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAqC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAoC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACrG,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,KAA+B;QACjD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kCAAkC,CAAC;QAC5H,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAA2C,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC5G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,yBAAyB,CAAC,KAAqC;QAC7D,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,iCAAiC,CAAC;QAC5J,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAiD,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9H,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2BAA2B,CAAC,KAAuC;QACjE,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,oCAAoC,CAAC;QAC/J,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAmD,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAChI,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QACpH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAiC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClG,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,KAA6B;QAC7C,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,SAAS,CAAC;QACpI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAyC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACtH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5J,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAiC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClG,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,KAAyB;QACrC,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,CAAC;QACvG,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAqC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,mBAAmB,CAAC;QAC7G,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAsC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACnH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,yBAAyB,CAAC,KAAqC;QAC7D,IAAI,MAAkB,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SACnE;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,wBAAwB,CAAC;QAC/I,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAiD,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9H,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4DAA4D;IAC5D,yBAAyB,CAAC,KAAqC;QAC7D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,qBAAqB,CAAC;QAE/G,mCAAmC;QACnC,2GAA2G;QAC3G,MAAM,OAAO,GAAG,IAAI,8CAAY,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,SAAS,CAC5C,GAAG,EAAE;YACH,iDAAiD;YACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,SAAS,CAC5C,CAAC,GAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EACpD,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAC3B,CAAC;QACJ,CAAC,EACD,GAAG,EAAE;YACH,gDAAgD;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,SAAS,CACxC,CAAC,GAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EACpD,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAC3B,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yBAAyB,CAAC,KAAqC;QAC7D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,sBAAsB,CAAC;QAChH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAiD,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,oBAAoB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB,CAAC,KAAiC;QACrD,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,yCAAyC,CAAC;QACnI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4CAA4C;IAC5C,0BAA0B,CAAC,cAAsB,EAAE,cAAsB,EAAE,MAAc,EAAE,WAA0B;QACnH,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,cAAc,WAAW,cAAc,oBAAoB,MAAM,SAAS,CAAC;QACxH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uCAAuC,CACrC,KAA4C;QAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,oCAAoC,CAAC;QAC9H,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAA4B;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,MAAM,8BAA8B,CAAC;QACvH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACzE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CAAC,KAAkC;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,iCAAiC,CAAC;QAC5J,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,4BAA4B,CAAC;QACvJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAA0C,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC3G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,KAA2B;QACzC,MAAM,GAAG,GACP,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,iBAAiB,KAAK,CAAC,cAAc,UAAU,CAAC;QAC/H,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAuC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACxG,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,wBAAwB,CAAC,KAAoC;QAC3D,MAAM,GAAG,GACP,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,kCAAkC,CAAC;QACnJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAgD,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACjH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4BAA4B;IAC5B,uBAAuB,CAAC,KAAmC;QACzD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,iCAAiC,CAAC;QAC3H,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB;IACtB,iBAAiB,CAAC,KAA6B;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,cAAc,CAAC;QACxG,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAyC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1G,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2BAA2B;IAC3B,sBAAsB,CAAC,KAAkC;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,4BAA4B,CAAC;QACtH,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6BAA6B;IAC7B,0BAA0B,CAAC,KAAsC;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,sCAAsC,CAAC;QAChI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAkD,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YACnH,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB;IACrB,kBAAkB,CAAC,KAA8B;QAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC;QACxH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6BAA6B;IAC7B,0BAA0B,CAAC,KAAsC;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,iBAAiB,KAAK,CAAC,cAAc,8BAA8B,CAAC;QAC7J,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC1E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6BAA6B,CAAC,KAAyC;QACrE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,gBAAgB,CAAC;QAC3I,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,+BAA+B,CAAC,KAA2C;QACzE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,cAAc,yCAAyC,CAAC;QACpK,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAClE,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0BAA0B,CAAC,KAAsC;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,yBAAyB,CAAC;QACnH,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,QAAuB,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gCAAgC,CAAC,KAA4C;QAC3E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,kCAAkC,CAAC;QAC5H,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,GAAkB,EAAE,EAAE;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;CACF;;YAtuBC,0DAAc;YAHP,4DAAU;YAIjB,8DAAkB;;AA8BP,yBAAyB;IAHrC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,yBAAyB,CAusBrC;AAvsBqC;AAysB/B,MAAM,oCAAoC;CAIhD;AAEM,MAAM,qCAAqC;CAEjD;AAEM,MAAM,kCAAkC;CAK9C;AAEM,MAAM,mCAAmC;CAG/C;AAEM,MAAM,+BAA+B;CAO3C;AAEM,MAAM,8BAA8B;CAG1C;AAEM,MAAM,+BAA+B;CAG3C;AAEM,MAAM,iBAAiB;CAI7B;AAEM,MAAM,kBAAmB,SAAQ,0DAAM;CAAI;AAE3C,MAAM,mBAAmB;CAI/B;AAEM,MAAM,oBAAoB;CAEhC;AAEM,MAAM,kBAAkB;CAI9B;AAEM,MAAM,mBAAmB;CAG/B;AAEM,MAAM,kBAAkB;CAK9B;AAEM,MAAM,uBAAuB;CAInC;AAEM,MAAM,wBAAwB;CAUpC;AAEM,MAAM,mBAAmB;CAAI;AAE7B,MAAM,iBAAiB;CAI7B;AAEM,MAAM,kBAAkB;CAAI;AAE5B,MAAM,iBAAiB;CAS7B;AAEM,MAAM,kBAAkB;CAAI;AAE5B,MAAM,mBAAmB;CAS/B;AAEM,MAAM,oBAAoB;CAAI;AAE9B,MAAM,8BAA8B;CAK1C;AAEM,MAAM,+BAA+B;CAG3C;AAEM,MAAM,gBAAgB;CAK5B;AAEM,MAAM,iBAAiB;CAAI;AAE3B,MAAM,eAAe;CAI3B;AAEM,MAAM,gBAAgB;CAAI;AAE1B,MAAM,uBAAuB;CAGnC;AAEM,MAAM,wBAAwB;CAIpC;AAEM,MAAM,uCAAuC;CAGnD;AAEM,MAAM,wCAAwC;CAGpD;AAEM,MAAM,cAAc;CAG1B;AAEM,MAAM,eAAe;CA4F3B;AAEM,MAAM,YAAa,SAAQ,eAAe;CAAI;AAE9C,MAAM,sBAAsB;CAOlC;AAEM,MAAM,wBAAwB;CAEpC;AAEM,MAAM,gBAAgB;CAI5B;AAEM,MAAM,iBAAiB;CAG7B;AAEM,MAAM,aAAa;CA2BzB;AAEM,MAAM,eAAe;CAI3B;AAEM,MAAM,gBAAiB,SAAQ,aAAa;CAAI;AAEhD,MAAM,wBAAwB;CAGpC;AAEM,MAAM,WAAW;CAOvB;AAEM,MAAM,uBAAuB;CAWnC;AAEM,MAAM,wBAAwB;CAEpC;AAEM,MAAM,yBAAyB;CAarC;AAEM,MAAM,0BAA0B;CAAI;AAEpC,MAAM,0BAA0B;CAmBtC;AAEM,MAAM,2BAA2B;CAAI;AAErC,MAAM,uBAAuB;CAGnC;AAEM,MAAM,wBAAwB;CAepC;AAEM,MAAM,yBAAyB;CASrC;AAEM,MAAM,0BAA0B;CAAI;AAEpC,MAAM,oBAAoB;CAahC;AAEM,MAAM,qBAAqB;CAAI;AAC/B,MAAM,eAAe;CAK3B;AAEM,MAAM,qBAAqB;CAMjC;AAEM,MAAM,aAAa;CAKzB;AAEM,MAAM,oBAAoB;CAKhC;AAEM,MAAM,cAAc;CAU1B;AAEM,MAAM,aAAa;CA8BzB;AAEM,MAAM,cAAc;CAK1B;AAEM,MAAM,WAAW;CAGvB;AAEM,MAAM,cAAc;CAC1B;AAEM,MAAM,gBAAgB;CAoB5B;AAEM,MAAM,iBAAiB;CAE7B;AAEM,MAAM,4BAA4B;CAIxC;AAEM,MAAM,6BAA6B;CAMzC;AAEM,MAAM,gBAAgB;CAM5B;AAEM,MAAM,iBAAiB;CAS7B;AAEM,MAAM,cAAc;CAI1B;AAEM,MAAM,eAAe;CAG3B;AAEM,MAAM,WAAW;CAWvB;AAEM,MAAM,aAAa;CAIzB;AAEM,MAAM,cAAc;CAa1B;AAEM,MAAM,cAAc;CAK1B;AAEM,MAAM,eAAe;CAiB3B;AAEM,MAAM,eAAe;CAK3B;AAEM,MAAM,gBAAgB;CAG5B;AAEM,MAAM,YAAY;CAiBxB;AAEM,MAAM,oBAAoB;CAGhC;AAEM,MAAM,yBAAyB;CAGrC;AAEM,MAAM,0BAA0B;CAStC;AAEM,MAAM,yBAAyB;CAGrC;AAEM,MAAM,0BAA0B;CAGtC;AAEM,MAAM,uCAAuC;CAGnD;AAEM,MAAM,wCAAwC;CAGpD;AAEM,MAAM,gCAAgC;CAG5C;AAEM,MAAM,iCAAiC;CAG7C;AAEM,MAAM,qBAAqB;CAIjC;AAEM,MAAM,sBAAsB;CAGlC;AAEM,MAAM,oBAAoB;CAoBhC;AAEM,MAAM,qBAAqB;CAKjC;AAEM,MAAM,aAAa;CAWzB;AAEM,MAAM,cAAc;CAO1B;AAEM,MAAM,WAAW;CAQvB;AAEM,MAAM,YAAY;CAExB;AAEM,MAAM,qBAAqB;CAIjC;AAEM,MAAM,sBAAsB;CAGlC;AAEM,MAAM,0BAA0B;CAItC;AAEM,MAAM,2BAA2B;CAGvC;AAEM,MAAM,qBAAqB;CAIjC;AAEM,MAAM,sBAAsB;CAGlC;AAEM,MAAM,uBAAuB;CAOnC;AAEM,MAAM,0BAA0B;CAItC;AAEM,MAAM,2BAA2B;CAIvC;AAEM,MAAM,2BAA2B;CAgBvC;AAEM,MAAM,4BAA4B;CAAI;AAEtC,MAAM,YAAY;CAKxB;AAEM,MAAM,iBAAiB;CAM7B;AAEM,MAAM,wBAAwB;CAapC;AACM,MAAM,qCAAqC;CAGjD;AAEM,MAAM,sCAAsC;CAGlD;AAEM,MAAM,mBAAmB;CAa/B;AAEM,MAAM,uBAAuB;CAUnC;AAEM,MAAM,wBAAwB;CAAI;AAElC,MAAM,SAAS;CAKrB;AACM,MAAM,qCAAqC;CAGjD;AAEM,MAAM,sCAAsC;CAKlD;AAEM,MAAM,kCAAkC;CAE9C;AAEM,MAAM,mCAAmC;CAG/C;AAEM,MAAM,kBAAkB;CAM9B;AAEM,MAAM,mBAAmB;CAG/B;AAEM,MAAM,kBAAkB;CAM9B;AAEM,MAAM,mBAAmB;CAAI;AAE7B,MAAM,KAAK;CAIjB;AAEM,MAAM,KAAK;CAOjB;AAEM,MAAM,wBAAwB;CAEpC;AAEM,MAAM,yBAAyB;CAGrC;AAEM,MAAM,0BAA0B;CAEtC;AAEM,MAAM,8BAA8B;CA4B1C;AAEM,MAAM,+BAA+B;CAC3C;AAEM,MAAM,cAAc;CAc1B;AAEM,MAAM,uBAAuB;CAInC;AAEM,MAAM,wBAAyB,SAAQ,cAAc;CAAI;AAEzD,MAAM,2BAA2B;CAGvC;AAEM,MAAM,oBAAqB,SAAQ,cAAc;CAMvD;AAEM,MAAM,0BAA0B;CAItC;AAEM,MAAM,mBAAmB;CAO/B;AAEM,MAAM,gCAAgC;CAG5C;AAEM,MAAM,qBAAqB;CAMjC;AAEM,MAAM,qCAAqC;CAIjD;AAEM,MAAM,OAAO;CAUnB;AAEM,MAAM,sCAAsC;CAGlD;AAEM,MAAM,uCAAuC;CAuBnD;AAEM,MAAM,6BAA8B,SAAQ,uCAAuC;CAWzF;AAEM,MAAM,2BAA2B;CAIvC;AAEM,MAAM,4BAA4B;CAAI;AAEtC,MAAM,qBAAqB;CAIjC;AAEM,MAAM,sBAAsB;CAAI;AAEhC,MAAM,uBAAuB;CAInC;AAEM,MAAM,wBAAwB;CAEpC;AAEM,MAAM,oBAAoB;CAIhC;AAEM,MAAM,qBAAqB;CAMjC;AAEM,MAAM,6BAA6B;CAIzC;AAEM,MAAM,8BAA8B;CAsB1C;AAEM,MAAM,eAAe;CAI3B;AAEM,MAAM,gBAAgB;CAG5B;AAEM,MAAM,YAAY;CAWxB;AAEM,MAAM,sBAAsB;CAIlC;AAEM,MAAM,uBAAuB;CAGnC;AAEM,MAAM,mBAAmB;CAI/B;AAEM,MAAM,sBAAsB;CAKlC;AAEM,MAAM,uBAAuB;CAGnC;AAEM,MAAM,mBAAmB;CAa/B;AACM,MAAM,4BAA4B;CAIxC;AAEM,MAAM,gBAAgB;CAI5B;AAEM,MAAM,6BAA6B;CAEzC;AAEM,MAAM,iBAAiB;CAe7B;AAEM,MAAM,sBAAsB;CAIlC;AAEM,MAAM,uBAAuB;CAGnC;AAEM,MAAM,2BAA2B;CAKvC;AAEM,MAAM,gBAAgB;CAO5B;AAEM,MAAM,4BAA4B;CAAI;AAEtC,MAAM,cAAc;CAG1B;AACM,MAAM,+BAA+B;CAG3C;AAEM,MAAM,gCAAgC;CAE5C;AAEM,MAAM,8BAA8B;CAK1C;AAEM,MAAM,+BAA+B;CAG3C;AAEM,MAAM,gCAAgC;CAK5C;AAEM,MAAM,iCAAiC;CAG7C;AAEM,MAAM,uBAAuB;CAqBnC;AAEM,MAAM,cAAc;CAI1B;AAEM,MAAM,KAAK;CAiBjB;AAEM,MAAM,eAAgB,SAAQ,KAAK;CAAI;AAEvC,MAAM,qBAAqB;CAKjC;AAEM,MAAM,sBAAsB;CAalC;AAEM,MAAM,+BAA+B;CAI3C;AAEM,MAAM,gCAAgC;CAE5C;AAEM,MAAM,wBAAwB;IAInC,YACE,cAAuB,EACvB,OAAgB;QAEhB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,GAAQ;QACjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,yBAAyB;IAGpC,YACE,cAAuB;QAEvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAQ;QACjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,+BAA+B;IAE1C,YACE,cAAuB,EACvB,OAAgB;QAEhB,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC/B,CAAC;IAID,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,IAAI,+BAA+B,CACxC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EACrB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CACf,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,gCAAgC;IAE3C,YACE,KAAgC;QAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IAC3B,CAAC;IAGD,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,IAAI,gCAAgC,CACzC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CACb,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACjF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,sBAAsB;IAEjC,YACE,UAAmB,EACnB,OAAgB,EAChB,SAAkB,EAClB,QAAiB,EACjB,YAAqB;QAErB,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC;IACzC,CAAC;IAOD,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,IAAI,sBAAsB,CAC/B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,EACjB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EACd,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAChB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EACf,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,CACpB,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,qCAAqC;IAKhD,YACE,cAAuB,EACvB,OAAgB,EAChB,MAAsB;QAEtB,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,yDAAa,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,IAAI,qCAAqC,CAC9C,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EACrB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EACd,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CACf,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,sCAAsC;IAIjD,YACE,KAAiD,EACjD,MAAuB;QAEvB,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,0DAAc,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,IAAI,sCAAsC,CAC/C,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EACZ,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CACd,CAAC;IACJ,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;ACj6E0C;AACgD;AACxC;AACH;AAE2B;AAEpE,MAAM,gBAAgB;IAM3B;QACE,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;IACrC,CAAC;CACF;AAEM,MAAM,SAAS;IAEpB,YACU,cAAc,EACd,cAAc,EACd,QAAmC;QAFnC,mBAAc,GAAd,cAAc;QACd,mBAAc,GAAd,cAAc;QACd,aAAQ,GAAR,QAAQ,CAA2B;IACzC,CAAC;IAEL,YAAY,CAAC,QAAgB,EAAE,WAAsC;QACnE,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,IAAI,WAAW,KAAK,EAAE,EAAE;YACtB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrG,GAAG,GAAG,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAChD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,EAAE,cAAc,EAAE,GAAG,EAAE,CACxB,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;CACF;IAKY,yBAAyB,SAAzB,yBAAyB;IAOpC,YACU,QAAmC;QAAnC,aAAQ,GAAR,QAAQ,CAA2B;QAJrC,yBAAoB,GAAG,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC/C,sBAAiB,GAAG,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IAIhD,CAAC;IAEL,WAAW,CAAC,cAAsB,EAAE,cAAsB,EAAE,UAAkB;QAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,cAAc,EAAE,cAAc,EAAE;YACpF,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,4EAAW;SACzB,CAAC,CAAC,IAAI,CAAC,yDAAS,CAAC,CAAO,WAAW,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAEtC,MAAM,CAAC,eAAe,GAAG,IAAI,gFAAe,CAAC;gBAC3C,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,WAAW,CAAC,cAAc;gBAC3C,IAAI,EAAE,4EAAW;gBACjB,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,WAAW,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;YAC/F,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,aAAa,GAAG;gBACpB,UAAU,EAAE,UAAU;gBACtB,kBAAkB,EAAE,KAAK;aAC1B,CAAC;YAEF,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxD,KAAK,EAAE,IAAI;aACc,CAAC;YAE5B,iEAAiE;YACjE,gEAAgE;YAChE,kGAAkG;YAClG,IAAI;gBACF,MAAM,CAAC,WAAW,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC7E;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACjD;YAED,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,CAAO,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;gBACrE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAE/C,qEAAqE;gBACrE,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC,aAAoB,CAAC,CAAC;gBACnE,MAAM,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;gBAEjE,cAAc,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;oBAC9D,MAAM,eAAe,GAAI,EAAE,CAAC,aAAmC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;oBAC3F,IAAI,eAAe,KAAK,QAAQ,EAAE;wBAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;gBAEH,4CAA4C;gBAC5C,cAAc,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;oBAChE,IAAI,SAAS,EAAE;wBACb,8EAA8E;wBAC9E,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;qBACpE;yBAAM;wBACL,oGAAoG;wBACpG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;qBACvF;gBACH,CAAC,CAAC,CAAC;gBAGH,4GAA4G;gBAC5G,IAAI,MAAM,CAAC,WAAW,EAAE;oBACtB,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;iBACrG;gBACD,MAAM,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAEjD,kDAAkD;gBAClD,MAAM,cAAc,CAAC,mBAAmB,CACtC,MAAM,cAAc,CAAC,YAAY,CAAC;oBAChC,mBAAmB,EAAE,KAAK;oBAC1B,mBAAmB,EAAE,KAAK;iBAC3B,CAAC,CACH,CAAC;gBAEF,mFAAmF;gBACnF,4DAA4D;gBAC5D,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YACxF,CAAC,EAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,CAAO,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC;gBAC7E,wEAAwE;gBACxE,MAAM,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;gBACvE,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC,EAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC,EAAC,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,gBAAkC;QAC3C,IAAI,gBAAgB,CAAC,eAAe,EAAE;YACpC,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YACzC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC;SACzC;QAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxE,gBAAgB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,gBAAgB,CAAC,wBAAwB,GAAG,EAAE,CAAC;QAE/C,IAAI,gBAAgB,CAAC,WAAW,EAAE;YAChC,gBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;SACrC;QAED,IAAI,gBAAgB,CAAC,2BAA2B,EAAE;YAChD,aAAa,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;YAC5D,gBAAgB,CAAC,2BAA2B,GAAG,IAAI,CAAC;SACrD;IACH,CAAC;IAED,6BAA6B;QAC3B,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;IAClD,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IAC/C,CAAC;CACF;;YAzLQ,oFAAyB;;AAwCrB,yBAAyB;IAHrC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,yBAAyB,CAiJrC;AAjJqC;;;;;;;;;;;;;;;;;;;;;;;;;AC7CK;AACiC;AAChB;AACjB;AAEgC;AAChB;AAGpD,MAAM,cAAc;CAM1B;IAKY,yBAAyB,SAAzB,yBAAyB;IAKpC,YACU,QAAmC;QAAnC,aAAQ,GAAR,QAAQ,CAA2B;QAHrC,wBAAmB,GAA4B,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IAI3E,CAAC;IAEL,WAAW,CAAC,cAAsB,EAAE,cAAsB,EAAE,UAAkB,EAAE,QAAiB;QAC/F,IAAI,CAAC,SAAS,GAAG,IAAI,oEAAS,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,cAAc,EAAE,cAAc,EAAE;YACpF,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,4EAAW;SACzB,CAAC,CAAC,IAAI,CACL,yDAAS,CAAC,CAAO,WAAW,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAElC,IAAI,CAAC,eAAe,GAAG,IAAI,gFAAe,CAAC;gBACzC,UAAU;gBACV,eAAe,EAAE,WAAW,CAAC,cAAc;gBAC3C,QAAQ,EAAE,QAAQ,IAAI,sBAAsB;gBAC5C,IAAI,EAAE,4EAAW;gBACjB,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,aAAa,EAAE,IAAI,CAAC,SAAS;aACL,CAAC,CAAC;YAE5B,MAAM,UAAU,GAAmB;gBACjC,EAAE,IAAI,EAAE,0BAA0B,WAAW,CAAC,SAAS,oBAAoB,EAAkB;aAC9F,CAAC;YACF,MAAM,aAAa,GAAG;gBACpB,UAAU,EAAE,UAAU;gBACtB,kBAAkB,EAAE,KAAK;aACN,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAE3D,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAS,EAAE,CAAC;gBAC1C,4CAA4C;gBAC5C,IAAI,KAAgC,CAAC;gBACrC,IAAI,aAAa,GAAG,KAAK,CAAC;gBAE1B,4CAA4C;gBAC5C,IAAI;oBACF,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;wBAC5C,mBAAmB,EAAE,IAAI;wBACzB,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACZ,aAAa,GAAG,IAAI,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;iBAC3E;gBAED,+CAA+C;gBAC/C,IAAI;oBACF,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;iBACtD;gBAAC,OAAO,GAAG,EAAE;oBACZ,aAAa,GAAG,IAAI,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,GAAG,CAAC,CAAC;iBACtF;gBAED,IAAI,CAAC,aAAa,EAAE;oBAClB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;iBACzE;YACH,CAAC,EAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,CAAM,MAAM,EAAC,EAAE,CAAC;gBACnD,0DAA0D;gBAC1D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;oBAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;iBACxD;YACH,CAAC,EAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE;gBAClD,wEAAwE;gBACxE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,4CAA4C;YAC5C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBACrE,IAAI,SAAS,EAAE;oBACb,8EAA8E;oBAC9E,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBAClD;qBAAM;oBACL,oGAAoG;oBACpG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;iBACzE;YACH,CAAC,CAAC,CAAC;YAEH,6DAA6D;YAC7D,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACpD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnE,MAAM,eAAe,GAAI,EAAE,CAAC,aAAmC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC3F,IAAI,eAAe,KAAK,QAAQ,EAAE;oBAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAE5B,OAAO,IAAI,CAAC;QACd,CAAC,EAAC,CACH,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAoB;QAC7B,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;SAClC;IACH,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;CACF;;YA5JQ,oFAAyB;;AAerB,yBAAyB;IAHrC,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,yBAAyB,CA6IrC;AA7IqC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBtC,oDAAoD;AACpD,oBAAoB;AACpB,oBAAoB;AACpB,0BAA0B;;;AAEiD;AAChC;AACoB;AAE1B;IAKxB,qBAAqB,mCAArB,qBAAqB;IAIhC,YACU,UAAsB,EACtB,cAA8B;QAD9B,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAgB;QALhC,YAAO,GAAG,0BAA0B,CAAC;IAMzC,CAAC;IAEL,OAAO,CAAC,GAAW;QACjB,MAAM,UAAU,GAAG,IAAI,uBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;aAAM;YACL,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,6DAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SACrE;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,eAAe,CAAC,KAA2B;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,eAAe,CAAC;QACzG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAyD,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/G,mDAAG,CAAC,CAAC,QAAgE,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,OAAQ,CAAC;QAC3B,CAAC,CAAC;QACF,yHAAyH;QACzH,mDAAG,CAAC,CAAC,KAA8C,EAAE,EAAE;YACrD,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QACvD,CAAC,CAAC;QACF,gGAAgG;QAChG,mDAAG,CAAC,CAAC,KAA4B,EAAE,EAAE;YACnC,OAAO,KAAK,CAAC,sBAAsB,EAAE,CAAC;QACxC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,0BAA0B,CAAC,KAAsC;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,OAAO,2BAA2B,CAAC;QACrH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAoE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAClH,mDAAG,CAAC,CAAC,QAA2E,EAAE,EAAE;YAClF,OAAO,QAAQ,CAAC,OAAQ,CAAC;QAC3B,CAAC,CAAC;QACF,oIAAoI;QACpI,mDAAG,CAAC,CAAC,KAAyD,EAAE,EAAE;YAChE,OAAO,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAClE,CAAC,CAAC;QACF,gGAAgG;QAChG,mDAAG,CAAC,CAAC,KAAuC,EAAE,EAAE;YAC9C,OAAO,KAAK,CAAC,sBAAsB,EAAE,CAAC;QACxC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;;YA5EQ,4DAAU;YAEV,0DAAc;;AAOV,qBAAqB;IADjC,yDAAU,EAAE;GACA,qBAAqB,CAmEjC;AAnEiC;AAqE3B,MAAM,oBAAoB;IAI/B,YAAY,EACV,aAAa,EACb,IAAI,MAC+C,EAAE;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,oBAAoB;IAK/B,YAAY,EACV,cAAc,EACd,OAAO,EACP,UAAU,MACyC,EAAE;QACrD,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IACrC,CAAC;IAED,SAAS;QACP,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,+BAA+B;IAI1C,YAAY,EACV,cAAc,EACd,OAAO,MACuD,EAAE;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,gCAAgC;IAG3C,YAAY,EACV,oCAAoC,MAC2B,EAAE;QACjE,IAAI,CAAC,oCAAoC,GAAG,oCAAoC,aAApC,oCAAoC,cAApC,oCAAoC,GAAI,EAAE,CAAC;IACzF,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE;YAC9C,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,oCAAoC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;YAC/E,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAE,CAAC,CAAC,UAAU,EAAE,CAAC;SACzI;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,qBAAqB;IAGhC,YAAY,EACV,wBAAwB,MAC4B,EAAE;QACtD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,aAAxB,wBAAwB,cAAxB,wBAAwB,GAAI,EAAE,CAAC;IACjE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAClC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;YACnE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAE,CAAC,CAAC,UAAU,EAAE,CAAC;SAC/G;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAEM,MAAM,sBAAsB;IAIjC,YAAY,EACV,IAAI,EACJ,cAAc,MACuC,EAAE;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9MD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACzNA,+DAAe,kbAAkb;;;;;;;;;;;;ACAjc,+DAAe,iVAAiV,6DAA6D,qRAAqR,kDAAkD,wFAAwF,wBAAwB,kQAAkQ,mCAAmC,iFAAiF,iBAAiB,qRAAqR,0DAA0D,sTAAsT,gDAAgD,uHAAuH;;;;;;;;;;;;ACAvgE,+DAAe,mgBAAmgB,YAAY,qgCAAqgC,aAAa,0dAA0d,8BAA8B,wFAAwF,YAAY,sOAAsO;;;;;;;;;;;;ACAl3E,+DAAe,6pBAA6pB,ojBAAojB,sBAAsB,+SAA+S;;;;;;;;;;;;ACAriD,+DAAe,uJAAuJ,8JAA8J,wzBAAwzB,wEAAwE,82BAA82B;;;;;;;;;;;;ACAljE,+DAAe,sWAAsW;;;;;;;;;;;;ACArX,+DAAe,6nBAA6nB,qIAAqI,0DAA0D,oDAAoD,qbAAqb,WAAW,gnGAAgnG,qJAAqJ,wqCAAwqC,gGAAgG,gWAAgW,yHAAyH,maAAma,8EAA8E,iFAAiF,8CAA8C,6xBAA6xB,8CAA8C,kNAAkN,kEAAkE,iJAAiJ,oDAAoD,kBAAkB,oDAAoD,ycAAyc,sBAAsB,0EAA0E,oBAAoB,ihBAAihB,sDAAsD,ocAAoc,qDAAqD,sTAAsT,qDAAqD,wpBAAwpB,sBAAsB,2FAA2F,gCAAgC,4FAA4F,2BAA2B,yTAAyT,0CAA0C,wxBAAwxB,sHAAsH,mWAAmW,mKAAmK,mgBAAmgB,wHAAwH,0rBAA0rB,sDAAsD,+VAA+V,qDAAqD,gGAAgG,MAAM,mRAAmR,qDAAqD,2bAA2b,oBAAoB,gEAAgE,+CAA+C,osBAAosB,gCAAgC,sFAAsF,2BAA2B,gHAAgH,sBAAsB,kUAAkU,0CAA0C,kOAAkO,gGAAgG,8XAA8X,yHAAyH,iYAAiY,8EAA8E,iFAAiF,8CAA8C,6xBAA6xB,8CAA8C,oyBAAoyB,+JAA+J,iMAAiM,0CAA0C,yBAAyB,usBAAusB,kEAAkE,oHAAoH,oDAAoD,oBAAoB,oDAAoD,2OAA2O,mGAAmG,6aAA6a;;;;;;;;;;;;ACA7jsB,+DAAe,iKAAiK;;;;;;;;;;;;ACAhL,+DAAe,+rDAA+rD;;;;;;;;;;;;ACA9sD,+DAAe,qKAAqK,6DAA6D,4eAA4e,6FAA6F,6CAA6C,iDAAiD,onEAAonE,uDAAuD,wCAAwC;;;;;;;;;;;;ACA3mG,+DAAe,wdAAwd,8EAA8E,6ZAA6Z,0CAA0C,wCAAwC;;;;;;;;;;;;ACApiC,+DAAe,6fAA6f;;;;;;;;;;;;ACA5gB,+DAAe,syFAAsyF,oBAAoB,oGAAoG,qBAAqB,uIAAuI,qBAAqB,6hCAA6hC,kBAAkB,kCAAkC;;;;;;;;;;;;ACA/qI,+DAAe,gEAAgE,6QAA6Q,+WAA+W,kBAAkB,yKAAyK,MAAM,kNAAkN;;;;;;;;;;;;ACA9lC,+DAAe,ofAAof;;;;;;;;;;;;ACAngB,+DAAe,wFAAwF,QAAQ,ucAAuc,cAAc,wCAAwC;;;;;;;;;;;;ACA5mB,+DAAe,qOAAqO,yBAAyB,sOAAsO,6CAA6C,qEAAqE;;;;;;;;;;;;ACArmB,+DAAe,gsCAAgsC;;;;;;;;;;;;ACA/sC,+DAAe,+2BAA+2B,wBAAwB,yfAAyf,wBAAwB,4nCAA4nC,wBAAwB,4mBAA4mB,wBAAwB,oxBAAoxB,oBAAoB,mIAAmI,qBAAqB,iLAAiL,wBAAwB,wKAAwK,qBAAqB,s3CAAs3C;;;;;;;;;;;;ACA33L,+DAAe,sLAAsL,aAAa,eAAe;;;;;;;;;;;;ACAjO,+DAAe,kEAAkE,gIAAgI,uLAAuL,aAAa,cAAc,MAAM,sDAAsD,8vBAA8vB,oLAAoL,MAAM,qBAAqB,gGAAgG,wBAAwB,6IAA6I,wFAAwF,wBAAwB,2BAA2B,qHAAqH,sBAAsB,uZAAuZ;;;;;;;;;;;;ACA91E,+DAAe,uGAAuG,8JAA8J,6CAA6C,4iBAA4iB,mBAAmB,yHAAyH,0CAA0C,IAAI,aAAa,kHAAkH,2EAA2E,oCAAoC,qKAAqK,6VAA6V,+GAA+G,89CAA89C,iBAAiB,8jBAA8jB,gCAAgC,gTAAgT,mBAAmB,oEAAoE,uUAAuU,wCAAwC,+aAA+a;;;;;;;;;;;;ACAxnK,+DAAe,64BAA64B;;;;;;;;;;;;ACA55B,+DAAe,uDAAuD,yPAAyP;;;;;;;;;;;;ACA/T,+DAAe,uwCAAuwC;;;;;;;;;;;;ACAtxC,+DAAe,qEAAqE,yCAAyC,sCAAsC,+UAA+U,0CAA0C,IAAI,aAAa,gFAAgF,2EAA2E,wCAAwC,6KAA6K,yUAAyU,mBAAmB,0zCAA0zC,0CAA0C,0VAA0V,wCAAwC,wVAAwV;;;;;;;;;;;;ACAvzG,+DAAe,oeAAoe;;;;;;;;;;;;ACAnf,+DAAe,kbAAkb,aAAa,mgCAAmgC;;;;;;;;;;;;ACAj9C,+DAAe,0bAA0b,0EAA0E,0OAA0O,2CAA2C,8NAA8N,6DAA6D,koEAAkoE;;;;;;;;;;;;ACArsG,+DAAe,yZAAyZ,iBAAiB,siCAAsiC,qBAAqB,gEAAgE,iBAAiB,iiBAAiiB,qCAAqC,6EAA6E,gCAAgC,wYAAwY,wHAAwH,qQAAqQ,mEAAmE,gCAAgC,qCAAqC,0JAA0J,0EAA0E,ocAAoc,qCAAqC,+1CAA+1C,kJAAkJ,oSAAoS,sCAAsC,8QAA8Q,yBAAyB,ksBAAksB,+CAA+C,ijBAAijB,iBAAiB,2gBAA2gB,gBAAgB,qCAAqC;;;;;;;;;;;;ACAvyP,+DAAe,qCAAqC,cAAc,woCAAwoC,6BAA6B,2HAA2H,4BAA4B,oNAAoN,4BAA4B,+BAA+B,gCAAgC,8IAA8I,6EAA6E,8NAA8N,2BAA2B,sKAAsK;;;;;;;;;;;;ACAvyE,+DAAe,kmDAAkmD,iCAAiC,mQAAmQ,6DAA6D,sOAAsO,kDAAkD,mNAAmN,mCAAmC,qOAAqO,0DAA0D,uQAAuQ,gDAAgD,0MAA0M,+BAA+B,8oBAA8oB;;;;;;;;;;;;ACA76H,+DAAe,qFAAqF;;;;;;;;;;;;ACApG,+DAAe,uiBAAuiB;;;;;;;;;;;;ACAtjB,+DAAe,uFAAuF,gDAAgD,0FAA0F,sDAAsD,IAAI,mbAAmb;;;;;;;;;;;;ACA7tB,+DAAe,suCAAsuC,WAAW,sVAAsV,oCAAoC,mLAAmL,0BAA0B,uTAAuT;;;;;;;;;;;;ACA9nE,+DAAe,2GAA2G,mFAAmF,uLAAuL,kFAAkF,uKAAuK,wGAAwG,WAAW,+DAA+D;;;;;;;;;;;;ACA/yB,+DAAe,80BAA80B;;;;;;;;;;;;ACA71B,+DAAe,yQAAyQ;;;;;;;;;;;;ACAxR,+DAAe,y1DAAy1D;;;;;;;;;;;;ACAx2D,+DAAe,4HAA4H,mEAAmE,uaAAua,aAAa,uuDAAuuD,0BAA0B,ipFAAipF,qBAAqB,0tBAA0tB,kBAAkB,ogBAAogB,cAAc,4yBAA4yB,YAAY,6pBAA6pB,mBAAmB,wkBAAwkB;;;;;;;;;;;;ACAv1Q,+DAAe,sgCAAsgC,gEAAgE,gDAAgD,4BAA4B,8HAA8H,uDAAuD,kKAAkK,4BAA4B,mvBAAmvB,2BAA2B,gDAAgD,4BAA4B,8HAA8H,uDAAuD,kKAAkK,8GAA8G,keAAke,kCAAkC,8OAA8O,yFAAyF,mUAAmU,8BAA8B,sZAAsZ,+BAA+B,yDAAyD;;;;;;;;;;;;ACA78I,+DAAe,mZAAmZ,6BAA6B,+SAA+S,+BAA+B,yQAAyQ,uEAAuE,+DAA+D;;;;;;;;;;;;ACA5pC,+DAAe,idAAid,oBAAoB,MAAM,uCAAuC,yGAAyG,2BAA2B,eAAe;;;;;;;;;;;;ACAprB,+DAAe,mIAAmI,mEAAmE,uEAAuE,uEAAuE,mQAAmQ,aAAa,gxBAAgxB,+DAA+D,oOAAoO,gEAAgE,waAAwa,8DAA8D,iZAAiZ;;;;;;;;;;;;ACA7lF,+DAAe,6EAA6E,iEAAiE,wKAAwK,0BAA0B,gWAAgW,wCAAwC,yEAAyE,kDAAkD,4DAA4D,4DAA4D,8CAA8C,2BAA2B,yuCAAyuC,qCAAqC,wKAAwK,wGAAwG,6WAA6W,iEAAiE,khBAAkhB,qCAAqC,s3CAAs3C,yBAAyB,yLAAyL,iBAAiB,0BAA0B;;;;;;;;;;;;ACAzpK,+DAAe,4KAA4K,YAAY,kEAAkE,eAAe,cAAc,eAAe,kEAAkE,yBAAyB,29CAA29C,yCAAyC,4XAA4X;;;;;;;;;;;;ACAhxE,+DAAe,yXAAyX,wVAAwV,wdAAwd,kTAAkT,4aAA4a,4CAA4C,gPAAgP,QAAQ,0GAA0G,WAAW,wOAAwO,YAAY,4QAA4Q,oCAAoC,qbAAqb,mBAAmB,iZAAiZ,mBAAmB,06BAA06B;;;;;;;;;;;;ACAzmJ,+DAAe,0sBAA0sB,+BAA+B,KAAK,mCAAmC,qNAAqN,sBAAsB,oGAAoG,sBAAsB,oKAAoK;;;;;;;;;;;;ACAzyC,+DAAe,gHAAgH,yCAAyC,8FAA8F,8CAA8C,iBAAiB,mCAAmC,qHAAqH,8BAA8B,4FAA4F,2BAA2B,yBAAyB;;;;;;;;;;;;ACA3oB,+DAAe,yNAAyN,+BAA+B,gEAAgE,eAAe,qOAAqO,kBAAkB,wBAAwB;;;;;;;;;;;;ACArmB,+DAAe,0EAA0E,aAAa,2FAA2F,wBAAwB,yIAAyI,kBAAkB,8KAA8K,iCAAiC,iMAAiM,uKAAuK,0JAA0J,qCAAqC,qXAAqX,yBAAyB,4VAA4V,yBAAyB,yMAAyM,uCAAuC,8KAA8K,oCAAoC,2KAA2K,4CAA4C,2WAA2W,sBAAsB,yRAAyR,4BAA4B,mBAAmB;;;;;;;;;;;;ACA/sG,+DAAe,oUAAoU,mBAAmB,qCAAqC;;;;;;;;;;;;ACA3Y,+DAAe,4NAA4N,4CAA4C,0FAA0F,2CAA2C,+TAA+T,qBAAqB,gBAAgB,yBAAyB,07DAA07D,uEAAuE,kGAAkG,mFAAmF;;;;;;;;;;;;ACA/8F,+DAAe,6bAA6b,kDAAkD,8PAA8P,eAAe,m4DAAm4D;;;;;;;;;;;;ACA9oF,+DAAe,scAAsc;;;;;;;;;;;;ACArd,+DAAe,mrBAAmrB,wCAAwC,4RAA4R,wCAAwC,uPAAuP,+BAA+B,uMAAuM,wCAAwC,2RAA2R,+CAA+C,0MAA0M,wCAAwC,iRAAiR,iCAAiC,uGAAuG,uCAAuC,6QAA6Q,wCAAwC,sRAAsR,yBAAyB,2MAA2M,wCAAwC,6fAA6f,sCAAsC,6QAA6Q;;;;;;;;;;;;ACAtrI,+DAAe,2PAA2P,sEAAsE,gIAAgI;;;;;;;;;;;;ACAhd,+DAAe,+aAA+a,oCAAoC,wYAAwY,+lCAA+lC,oCAAoC,+WAA+W,+jCAA+jC;;;;;;;;;;;;ACA35G,+DAAe,mOAAmO,oBAAoB,gBAAgB,2FAA2F,qBAAqB,mBAAmB;;;;;;;;;;;;ACAzZ,+DAAe,87BAA87B;;;;;;;;;;;;ACA78B,+DAAe,6QAA6Q,qBAAqB,2TAA2T;;;;;;;;;;;;ACA5mB,+DAAe,wIAAwI,2DAA2D,gFAAgF,qEAAqE,iSAAiS,4BAA4B,idAAid,4CAA4C,u5BAAu5B,+DAA+D,kKAAkK,4CAA4C,4FAA4F,0BAA0B,kFAAkF,+BAA+B,+kCAA+kC,iFAAiF,kPAAkP,qCAAqC,4oEAA4oE,0BAA0B,kQAAkQ,iBAAiB,+BAA+B;;;;;;;;;;;;ACA37M,+DAAe,ukBAAukB,8CAA8C,kEAAkE;;;;;;;;;;;;ACAtsB,+DAAe,iGAAiG;;;;;;;;;;;;ACAhH,+DAAe,sdAAsd,4CAA4C,uCAAuC;;;;;;;;;;;;ACAxjB,+DAAe,keAAke,+DAA+D,wBAAwB,8BAA8B,kIAAkI,mDAAmD,kiBAAkiB,yDAAyD,+IAA+I;;;;;;;;;;;;ACArgD,+DAAe,yjBAAyjB;;;;;;;;;;;;ACAxkB,+DAAe,4MAA4M;;;;;;;;;;;;ACA3N,+DAAe,6NAA6N,6DAA6D,yJAAyJ,qDAAqD,IAAI,oLAAoL,eAAe,8CAA8C,eAAe,wsDAAwsD,sCAAsC,0KAA0K;;;;;;;;;;;;ACAnpF,+DAAe,26EAA26E,gDAAgD,6mBAA6mB,oDAAoD,4aAA4a,uDAAuD,uNAAuN,uDAAuD,uNAAuN,oDAAoD,0MAA0M,qDAAqD,0jCAA0jC,YAAY,+kDAA+kD,oBAAoB,kGAAkG,qBAAqB,qIAAqI,qBAAqB,qhBAAqhB;;;;;;;;;;;;ACAr1P,+DAAe,sEAAsE,yCAAyC,4eAA4e;;;;;;;;;;;;ACA1mB,+DAAe,qJAAqJ,wCAAwC,0vDAA0vD,qBAAqB,ozBAAozB,kCAAkC,qRAAqR,qBAAqB,sYAAsY;;;;;;;;;;;;ACAj+G,+DAAe,49CAA49C;;;;;;;;;;;;ACA3+C,+DAAe,kXAAkX,kBAAkB,qLAAqL;;;;;;;;;;;;ACAxkB,+DAAe,ynBAAynB,aAAa,mfAAmf,iBAAiB,mbAAmb;;;;;;;;;;;;ACA5kD,+DAAe,oFAAoF,oDAAoD,uMAAuM,+CAA+C,+dAA+d,43BAA43B,4LAA4L,MAAM,yOAAyO;;;;;;;;;;;;ACAnpE,+DAAe,ukBAAukB,gEAAgE,gDAAgD,4BAA4B,mGAAmG,uDAAuD,uIAAuI,4BAA4B,ikBAAikB,2BAA2B,gDAAgD,4BAA4B,mGAAmG,uDAAuD,uIAAuI,8GAA8G,4XAA4X,kCAAkC,wKAAwK,yFAAyF,iQAAiQ,8BAA8B,qTAAqT,+BAA+B,yDAAyD;;;;;;;;;;;;ACAj6G,+DAAe,o0DAAo0D;;;;;;;;;;;;ACAn1D,+DAAe,oUAAoU,4BAA4B,kHAAkH,oCAAoC,iGAAiG,mCAAmC,yDAAyD,yZAAyZ,4NAA4N,69CAA69C,qCAAqC,6TAA6T;;;;;;;;;;;;ACAtnG,+DAAe,64DAA64D,0BAA0B,ynBAAynB,+EAA+E,uqCAAuqC;;;;;;;;;;;;ACAryH,+DAAe,qPAAqP,gFAAgF,YAAY,2EAA2E,oBAAoB,IAAI,oBAAoB,2BAA2B;;;;;;;;;;;;ACAlf,+DAAe,iQAAiQ;;;;;;;;;;;;ACAhR,+DAAe,0FAA0F,gEAAgE,oWAAoW,sYAAsY,+lBAA+lB,mSAAmS,mEAAmE,mBAAmB,4DAA4D,wBAAwB,sUAAsU,gGAAgG,2YAA2Y,qDAAqD;;;;;;;;;;;;ACAryF,+DAAe,8CAA8C,4GAA4G,8DAA8D,wZAAwZ,8LAA8L,kRAAkR,uCAAuC,0gBAA0gB,wBAAwB,sIAAsI,OAAO,qIAAqI,kCAAkC,kEAAkE;;;;;;;;;;;;ACA9gE,+DAAe,uIAAuI,sCAAsC,oaAAoa,mBAAmB,2FAA2F,mBAAmB,+DAA+D,2BAA2B,qHAAqH,sDAAsD,iaAAia;;;;;;;;;;;;ACAv4C,+DAAe,2TAA2T,iDAAiD,uMAAuM;;;;;;;;;;;;ACAlkB,+DAAe,2nBAA2nB,oBAAoB,gBAAgB,gnCAAgnC;;;;;;;;;;;;ACA9xD,+DAAe,yEAAyE;;;;;;;;;;;;ACAxF,+DAAe,0wBAA0wB;;;;;;;;;;;;ACAzxB,+DAAe,s3BAAs3B;;;;;;;;;;;;ACAr4B,+DAAe,osEAAosE;;;;;;;;;;;;ACAntE,+DAAe,wgFAAwgF,MAAM,w1BAAw1B,gDAAgD,syBAAsyB,qDAAqD,siBAAsiB,wDAAwD,kTAAkT,wDAAwD,kTAAkT,qDAAqD,mSAAmS,sDAAsD,41CAA41C,UAAU,k9BAAk9B;;;;;;;;;;;;ACAhsQ,+DAAe,mjCAAmjC;;;;;;;;;;;;ACAlkC,+DAAe,uBAAuB;;;;;;;;;;;;ACAtC,+DAAe,4GAA4G;;;;;;;;;;;;ACA3H,+DAAe,guBAAguB,2CAA2C,4BAA4B;;;;;;;;;;;;ACAtzB,+DAAe,4hFAA4hF,oBAAoB,wFAAwF,qBAAqB,gHAAgH,qBAAqB,4aAA4a,mBAAmB,4BAA4B;;;;;;;;;;;;ACA5wG,+DAAe,wFAAwF,kMAAkM,8LAA8L,kBAAkB,sJAAsJ,OAAO,0LAA0L;;;;;;;;;;;;ACAh1B,+DAAe,wFAAwF;;;;;;;;;;;;ACAvG,+DAAe,0vCAA0vC;;;;;;;;;;;;ACAzwC,+DAAe,qKAAqK;;;;;;;;;;;;ACApL,+DAAe,kEAAkE;;;;;;;;;;;;ACAjF,+DAAe,w0BAAw0B;;;;;;;;;;;;ACAv1B,+DAAe,+HAA+H,oBAAoB,wcAAwc,8BAA8B,+CAA+C;;;;;;;;;;;;ACAvrB,+DAAe,iGAAiG,cAAc,uhBAAuhB;;;;;;;;;;;;ACArpB,+DAAe,yHAAyH;;;;;;;;;;;;ACAxI,+DAAe,wMAAwM;;;;;;;;;;;;ACAvN,+DAAe,iJAAiJ;;;;;;;;;;;;ACAhK,+DAAe,mIAAmI;;;;;;;;;;;;ACAlJ,+DAAe,yPAAyP;;;;;;;;;;;;ACAxQ,+DAAe,uKAAuK;;;;;;;;;;;;ACAtL,+DAAe,2RAA2R,6DAA6D,+WAA+W,8DAA8D,ubAAub;;;;;;;;;;;;ACA3sC,+DAAe,6JAA6J,sDAAsD,IAAI,+HAA+H,gBAAgB,4EAA4E,gBAAgB,whCAAwhC;;;;;;;;;;;;ACAz+C,+DAAe,mGAAmG;;;;;;;;;;;;ACAlH,+DAAe,8GAA8G;;;;;;;;;;;;ACA7H,+DAAe,slEAAslE,uBAAuB,uCAAuC,0CAA0C,2JAA2J,yBAAyB,qyDAAqyD,+EAA+E,yIAAyI,4WAA4W;;;;;;;;;;;;ACA1uJ,+DAAe,+KAA+K,eAAe,oGAAoG,2sEAA2sE,kLAAkL,qHAAqH,64BAA64B,oBAAoB,2vBAA2vB,2CAA2C,21CAA21C,2CAA2C,2jBAA2jB,wBAAwB,6CAA6C;;;;;;;;;;;;ACAh/M,+DAAe,mLAAmL,iBAAiB,m8BAAm8B;;;;;;;;;;;;ACAtpC,+DAAe,wXAAwX;;;;;;;;;;;;ACAvY,+DAAe,wlBAAwlB,gBAAgB,gFAAgF,oBAAoB,sIAAsI,eAAe,u9EAAu9E,sBAAsB,ovBAAovB;;;;;;;;;;;;ACAjlI,+DAAe,seAAse,eAAe,sNAAsN,wFAAwF,kPAAkP,iEAAiE,MAAM,sBAAsB,gFAAgF,wBAAwB,yEAAyE,sBAAsB,irBAAirB;;;;;;;;;;;;ACAz/D,+DAAe,mCAAmC;;;;;;;;;;;;ACAlD,+DAAe,qrFAAqrF,2FAA2F,ueAAue,qBAAqB,kJAAkJ,qBAAqB,uCAAuC,qBAAqB,oGAAoG,qBAAqB,uCAAuC,qBAAqB,yeAAye,OAAO,oYAAoY;;;;;;;;;;;;ACAviJ,+DAAe,miBAAmiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArhB;AAC7B,+DAAe,aAAa;;;;;;;;;;;;;ACD5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,CAAC,sCAAsC,SAAI;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,+FAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,kDAAkD;AAClD;AACA;;AAEA,oBAAoB,wCAAwC;AAC5D,oBAAoB;;AAEpB;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B;;AAE1B,4CAA4C;AAC5C;AACA,6BAA6B,SAAS;AACtC;AACA,iDAAiD;AACjD;AACA,6BAA6B,SAAS;AACtC;AACA,mCAAmC;AACnC;AACA;AACA,gEAAgE;AAChE;AACA;AACA,6BAA6B,SAAS;AACtC;AACA,2CAA2C;AAC3C,6BAA6B,gBAAgB;AAC7C;AACA;AACA,sGAAsG;AACtG;AACA,yBAAyB,iBAAiB,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,gEAAgE;AAC/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA,8EAA8E;AAC9E;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,iDAAiD;AACjD,aAAa;;AAEb;AACA;;AAEA;AACA,+BAA+B,wBAAwB,qCAAqC;AAC5F,+BAA+B,gBAAgB;AAC/C,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,+DAAe,EAAE,GAAC","sources":["./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/table.js","./node_modules/@angular/flex-layout/__ivy_ngcc__/esm2015/core.js","./node_modules/@angular/flex-layout/__ivy_ngcc__/esm2015/extended.js","./node_modules/@angular/flex-layout/__ivy_ngcc__/esm2015/flex-layout.js","./node_modules/@angular/flex-layout/__ivy_ngcc__/esm2015/flex.js","./node_modules/@angular/flex-layout/__ivy_ngcc__/esm2015/grid.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/autocomplete.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/badge.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/bottom-sheet.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/button-toggle.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/divider.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/sidenav.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/slide-toggle.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/slider.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/table.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/tabs.js","./node_modules/@onecause/ngcart/fesm2015/onecause-ngcart.js","./node_modules/@onecause/ngcommon/fesm2015/onecause-ngcommon.js","./node_modules/@onecause/ngflow/fesm2015/onecause-ngflow.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/Role.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/SigV4RequestSigner.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/SignalingClient.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/index.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/internal/DateProvider.js","./node_modules/amazon-kinesis-video-streams-webrtc/lib/internal/utils.js","./node_modules/events/events.js","./node_modules/rxjs/_esm2015/internal/observable/iif.js","./node_modules/rxjs/_esm2015/internal/operators/mapTo.js","./node_modules/rxjs/_esm2015/internal/operators/pluck.js","./node_modules/rxjs/_esm2015/internal/operators/publishReplay.js","./node_modules/rxjs/_esm2015/internal/operators/reduce.js","./node_modules/rxjs/_esm2015/internal/operators/throttle.js","./node_modules/rxjs/_esm2015/internal/operators/throttleTime.js","./node_modules/rxjs/_esm2015/internal/operators/toArray.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./node_modules/uuid/dist/esm-browser/validate.js","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/checkout-page/checkout-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/agenda/agenda.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ambassador-search/ambassador-search.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-bid-limit-manager/auction-lot-bid-limit-manager.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-image-slider/auction-lot-image-slider.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-overlay/auction-lot-overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/auth-dialog/auth-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/auth.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/donate-and-register/donate-and-register.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/log-in/log-in.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/redeem-ticket-options/redeem-ticket-options.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/register/register.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/sign-up/sign-up.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/buy-tickets-cta/buy-tickets-cta.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/confirmation-dialog/confirmation-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/cover-cost/cover-cost.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/credit-card-dialog/credit-card-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/edit-profile-dialog/edit-profile-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/event-branding/event-branding.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price-dialog/fixed-price-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price-item/fixed-price-item.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/game/game.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/how-are-you-attending/how-are-you-attending.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/impact/impact-item/impact-item.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/impact/impact.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-header/ipo-header.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-appeal/ipo-live-appeal.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-auction/ipo-live-auction.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-banner/ipo-live-banner.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-menu/ipo-menu.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-user-profile/ipo-user-profile.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/join-event/account-dialog/account-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/join-event/join-event.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/leaderboard/leaderboard.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/live-appeal-emojis/live-appeal-emojis.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/livestream-chat/livestream-chat.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/livestream-chat/livestream-chat.module.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/log-in-dialog/log-in-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/log-in-form/log-in-form.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/navigation-tab/navigation-tab.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-bottom-sheet-content/order-summary-bottom-sheet-content.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-checkout/order-summary-checkout.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-footer/order-summary-footer.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/page-header/page-header.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/panel/auction/auction.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/panel/panel.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/pickup-item/pickup-item.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/pickup-window-selector/pickup-window-selector.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/progress-bar/progress-bar.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/purchase-notification/purchase-notification.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/raffle/raffle.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/recent-donors/recent-donors.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/recurring-donation-dialog/recurring-donation-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-content.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-content.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-how-attending/right-drawer-how-attending.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/shopping-cart/shopping-cart.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-button/appeal-button.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-confirmation/appeal-confirmation.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-floating-names/appeal-floating-names.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-collapsed/auction-collapsed.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-expanded/auction-expanded.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donate-button/donate-button.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donate-overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donation-panel/donation-panel.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/rotate-overlay/rotate-overlay.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/show.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/sign-up-form/sign-up-form.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/tabbed-event-context/tabbed-event-context.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-options/ticket-options.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/attendee-info/attendee-form/attendee-form.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/attendee-info/attendee-info.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/claim-ticket/claim-ticket.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/create-account/create-account.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/order-summary/order-summary.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/purchase-info/purchase-info.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/select-tickets/select-tickets.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/ticket-purchase-dialog.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/ticket-purchase.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-header/ticket-purchase-header.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-v2/ticket-purchase-v2.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/profile-manager/profile-manager.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-event-details/user-event-details.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-information/user-information.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-profile.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-profile.module.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-profile.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/virtual-table/virtual-table.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-auth.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-auth.routes.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-credit-card/embed-credit-card.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-login/embed-login.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-register/embed-register.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-signup/embed-signup.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-header/embed-header.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed.routes.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/show/embed-show.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/widget/widget.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-auth.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-log-in/ipo-log-in.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-register/ipo-register.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-sign-up/ipo-sign-up.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-chat/ipo-chat.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-donation-page/ipo-donation-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-fixed-price-page/ipo-fixed-price-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-game/ipo-game.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-landing-page/ipo-landing-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-appeal-page/ipo-live-appeal-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-auction-page/ipo-live-auction-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-auction-preview-page/ipo-live-auction-preview-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-raffle-page/ipo-raffle-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-root-page/ipo-root-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-silent-auction-page/ipo-silent-auction-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-story/ipo-story.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-support-our-cause-page/ipo-support-our-cause-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-virtual-event-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-welcome-curtain/ipo-welcome-curtain.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/loading/loading.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/loading/loading.module.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/normal-vec/normal-vec.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/payment-page/payment-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/pickup-page/pickup-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/registration-free-cart-page/registration-free-cart-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/auction-state.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/auction.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/buy-items.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/claim-ticket.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/countdown.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/events.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/purchase-notification.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/registration.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/state.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/vec-routing.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/virtual-event.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/websocket.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/thank-you-page/thank-you-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-details/ticket-details.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-list/ticket-list.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-manager.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-manager.routes.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-manager.service.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event-page/virtual-event-page.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event-routing.module.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event.component.ts","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event.module.ts","./projects/phaas-flow-ui/src/app/services/auth-client.service.ts","./projects/phaas-flow-ui/src/app/services/cache.service.ts","./projects/phaas-flow-ui/src/app/services/chrome-client.service.ts","./projects/phaas-flow-ui/src/app/services/feature-flag.service.ts","./projects/phaas-flow-ui/src/app/services/givingmanagement-client.service.ts","./projects/phaas-flow-ui/src/app/services/inventory-client.service.ts","./projects/phaas-flow-ui/src/app/services/organization-rest.service.ts","./projects/phaas-flow-ui/src/app/services/raffle-client.service.ts","./projects/phaas-flow-ui/src/app/services/secondary-color.service.ts","./projects/phaas-flow-ui/src/app/services/sponsor-client.service.ts","./projects/phaas-flow-ui/src/app/services/ticket-client.service.ts","./projects/phaas-flow-ui/src/app/services/ticket-manager-redirect-guard.service.ts","./projects/phaas-flow-ui/src/app/services/virtual-event-client.service.ts","./projects/phaas-flow-ui/src/app/services/virtual-table-master.service.ts","./projects/phaas-flow-ui/src/app/services/virtual-table-viewer.service.ts","./projects/phaas-flow-ui/src/app/services/zz-greatfeats-rest.service.ts","./node_modules/amazon-kinesis-video-streams-webrtc/node_modules/tslib/tslib.es6.js","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/checkout-page/checkout-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/agenda/agenda.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ambassador-search/ambassador-search.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-bid-limit-manager/auction-lot-bid-limit-manager.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-image-slider/auction-lot-image-slider.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot-overlay/auction-lot-overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auction-lot/auction-lot.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/auth-dialog/auth-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/auth.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/donate-and-register/donate-and-register.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/log-in/log-in.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/redeem-ticket-options/redeem-ticket-options.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/register/register.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/auth/sign-up/sign-up.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/buy-tickets-cta/buy-tickets-cta.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/confirmation-dialog/confirmation-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/cover-cost/cover-cost.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/credit-card-dialog/credit-card-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/edit-profile-dialog/edit-profile-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/event-branding/event-branding.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price-dialog/fixed-price-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price-item/fixed-price-item.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/fixed-price/fixed-price.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/game/game.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/how-are-you-attending/how-are-you-attending.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/impact/impact-item/impact-item.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/impact/impact.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-header/ipo-header.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-appeal/ipo-live-appeal.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-auction/ipo-live-auction.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-live-banner/ipo-live-banner.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-menu/ipo-menu.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ipo-user-profile/ipo-user-profile.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/join-event/account-dialog/account-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/join-event/join-event.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/leaderboard/leaderboard.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/live-appeal-emojis/live-appeal-emojis.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/livestream-chat/livestream-chat.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/log-in-dialog/log-in-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/log-in-form/log-in-form.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/navigation-tab/navigation-tab.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-bottom-sheet-content/order-summary-bottom-sheet-content.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-checkout/order-summary-checkout.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/order-summary-footer/order-summary-footer.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/page-header/page-header.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/panel/auction/auction.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/panel/panel.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/pickup-item/pickup-item.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/pickup-window-selector/pickup-window-selector.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/progress-bar/progress-bar.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/purchase-notification/purchase-notification.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/raffle/raffle.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/recent-donors/recent-donors.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/recurring-donation-dialog/recurring-donation-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-content.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-how-attending/right-drawer-how-attending.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/shopping-cart/shopping-cart.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-button/appeal-button.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-confirmation/appeal-confirmation.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-floating-names/appeal-floating-names.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/appeal-overlay/appeal-overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-collapsed/auction-collapsed.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-expanded/auction-expanded.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/auction-overlay/auction-overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donate-button/donate-button.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donate-overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/donate-overlay/donation-panel/donation-panel.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/overlay/rotate-overlay/rotate-overlay.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/show/show.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/sign-up-form/sign-up-form.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/tabbed-event-context/tabbed-event-context.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-options/ticket-options.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/attendee-info/attendee-form/attendee-form.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/attendee-info/attendee-info.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/claim-ticket/claim-ticket.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/create-account/create-account.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/order-summary/order-summary.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/purchase-info/purchase-info.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/select-tickets/select-tickets.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/ticket-purchase-dialog.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-header/ticket-purchase-header.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/ticket-purchase-v2/ticket-purchase-v2.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/profile-manager/profile-manager.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-event-details/user-event-details.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-information/user-information.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/user-profile/user-profile.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/components/virtual-table/virtual-table.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-auth.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-credit-card/embed-credit-card.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-login/embed-login.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-register/embed-register.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-auth/embed-signup/embed-signup.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/embed-header/embed-header.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/show/embed-show.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/embed/widget/widget.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-log-in/ipo-log-in.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-register/ipo-register.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-auth/ipo-sign-up/ipo-sign-up.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-chat/ipo-chat.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-donation-page/ipo-donation-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-fixed-price-page/ipo-fixed-price-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-game/ipo-game.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-landing-page/ipo-landing-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-appeal-page/ipo-live-appeal-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-auction-page/ipo-live-auction-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-live-auction-preview-page/ipo-live-auction-preview-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-raffle-page/ipo-raffle-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-root-page/ipo-root-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-silent-auction-page/ipo-silent-auction-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-story/ipo-story.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-support-our-cause-page/ipo-support-our-cause-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-virtual-event-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ipo-virtual-event-page/ipo-welcome-curtain/ipo-welcome-curtain.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/loading/loading.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/normal-vec/normal-vec.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/payment-page/payment-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/pickup-page/pickup-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/registration-free-cart-page/registration-free-cart-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/thank-you-page/thank-you-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-details/ticket-details.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-list/ticket-list.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/ticket-manager/ticket-manager.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event-page/virtual-event-page.component.html","./projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/virtual-event.component.html","./node_modules/isomorphic-webcrypto/src/browser.mjs","./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, isDataSource, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/scrolling';\n\nconst _c0 = [[[\"caption\"]], [[\"colgroup\"], [\"col\"]]];\nconst _c1 = [\"caption\", \"colgroup, col\"];\nfunction CdkTextColumn_th_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"th\", 3);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r0.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r0.headerText, \" \");\n} }\nfunction CdkTextColumn_td_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"td\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const data_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r1.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.dataAccessor(data_r2, ctx_r1.name), \" \");\n} }\nexport { DataSource } from '@angular/cdk/collections';\nimport { Platform } from '@angular/cdk/platform';\nimport { ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { InjectionToken, Directive, TemplateRef, Inject, Optional, Input, ContentChild, ElementRef, Injectable, NgZone, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, EmbeddedViewRef, EventEmitter, ChangeDetectorRef, Attribute, SkipSelf, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { Subject, from, BehaviorSubject, isObservable, of } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Mixin to provide a directive with a function that checks if the sticky input has been\n * changed since the last time the function was called. Essentially adds a dirty-check to the\n * sticky value.\n * @docs-private\n */\nfunction mixinHasStickyInput(base) {\n return class extends base {\n constructor(...args) {\n super(...args);\n this._sticky = false;\n /** Whether the sticky input has changed since it was last checked. */\n this._hasStickyChanged = false;\n }\n /** Whether sticky positioning should be applied. */\n get sticky() { return this._sticky; }\n set sticky(v) {\n const prevValue = this._sticky;\n this._sticky = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._sticky;\n }\n /** Whether the sticky value has changed since this was last called. */\n hasStickyChanged() {\n const hasStickyChanged = this._hasStickyChanged;\n this._hasStickyChanged = false;\n return hasStickyChanged;\n }\n /** Resets the dirty check for cases where the sticky state has been used without checking. */\n resetStickyChanged() {\n this._hasStickyChanged = false;\n }\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to provide a table to some of the sub-components without causing a circular dependency.\n * @docs-private\n */\nconst CDK_TABLE = new InjectionToken('CDK_TABLE');\n/** Injection token that can be used to specify the text column options. */\nconst TEXT_COLUMN_OPTIONS = new InjectionToken('text-column-options');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nclass CdkCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkCellDef.ɵfac = function CdkCellDef_Factory(t) { return new (t || CdkCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCellDef, selectors: [[\"\", \"cdkCellDef\", \"\"]] });\nCdkCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nclass CdkHeaderCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkHeaderCellDef.ɵfac = function CdkHeaderCellDef_Factory(t) { return new (t || CdkHeaderCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkHeaderCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCellDef, selectors: [[\"\", \"cdkHeaderCellDef\", \"\"]] });\nCdkHeaderCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkHeaderCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Footer cell definition for a CDK table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\nclass CdkFooterCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkFooterCellDef.ɵfac = function CdkFooterCellDef_Factory(t) { return new (t || CdkFooterCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkFooterCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCellDef, selectors: [[\"\", \"cdkFooterCellDef\", \"\"]] });\nCdkFooterCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkFooterCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n// Boilerplate for applying mixins to CdkColumnDef.\n/** @docs-private */\nclass CdkColumnDefBase {\n}\nconst _CdkColumnDefBase = mixinHasStickyInput(CdkColumnDefBase);\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\nclass CdkColumnDef extends _CdkColumnDefBase {\n constructor(_table) {\n super();\n this._table = _table;\n this._stickyEnd = false;\n }\n /** Unique name for this column. */\n get name() { return this._name; }\n set name(name) { this._setNameInput(name); }\n /**\n * Whether this column should be sticky positioned on the end of the row. Should make sure\n * that it mimics the `CanStick` mixin such that `_hasStickyChanged` is set to true if the value\n * has been changed.\n */\n get stickyEnd() {\n return this._stickyEnd;\n }\n set stickyEnd(v) {\n const prevValue = this._stickyEnd;\n this._stickyEnd = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._stickyEnd;\n }\n /**\n * Overridable method that sets the css classes that will be added to every cell in this\n * column.\n * In the future, columnCssClassName will change from type string[] to string and this\n * will set a single string value.\n * @docs-private\n */\n _updateColumnCssClassName() {\n this._columnCssClassName = [`cdk-column-${this.cssClassFriendlyName}`];\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setNameInput(value) {\n // If the directive is set without a name (updated programmatically), then this setter will\n // trigger with an empty string and should not overwrite the programmatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/ig, '-');\n this._updateColumnCssClassName();\n }\n }\n}\nCdkColumnDef.ɵfac = function CdkColumnDef_Factory(t) { return new (t || CdkColumnDef)(ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkColumnDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkColumnDef, selectors: [[\"\", \"cdkColumnDef\", \"\"]], contentQueries: function CdkColumnDef_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkCellDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderCellDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterCellDef, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.footerCell = _t.first);\n } }, inputs: { sticky: \"sticky\", name: [\"cdkColumnDef\", \"name\"], stickyEnd: \"stickyEnd\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkColumnDef.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\nCdkColumnDef.propDecorators = {\n name: [{ type: Input, args: ['cdkColumnDef',] }],\n stickyEnd: [{ type: Input, args: ['stickyEnd',] }],\n cell: [{ type: ContentChild, args: [CdkCellDef,] }],\n headerCell: [{ type: ContentChild, args: [CdkHeaderCellDef,] }],\n footerCell: [{ type: ContentChild, args: [CdkFooterCellDef,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkColumnDef, [{\n type: Directive,\n args: [{\n selector: '[cdkColumnDef]',\n inputs: ['sticky'],\n providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, { name: [{\n type: Input,\n args: ['cdkColumnDef']\n }], stickyEnd: [{\n type: Input,\n args: ['stickyEnd']\n }], cell: [{\n type: ContentChild,\n args: [CdkCellDef]\n }], headerCell: [{\n type: ContentChild,\n args: [CdkHeaderCellDef]\n }], footerCell: [{\n type: ContentChild,\n args: [CdkFooterCellDef]\n }] }); })();\n/** Base class for the cells. Adds a CSS classname that identifies the column it renders in. */\nclass BaseCdkCell {\n constructor(columnDef, elementRef) {\n // If IE 11 is dropped before we switch to setting a single class name, change to multi param\n // with destructuring.\n const classList = elementRef.nativeElement.classList;\n for (const className of columnDef._columnCssClassName) {\n classList.add(className);\n }\n }\n}\n/** Header cell template container that adds the right classes and role. */\nclass CdkHeaderCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkHeaderCell.ɵfac = function CdkHeaderCell_Factory(t) { return new (t || CdkHeaderCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkHeaderCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCell, selectors: [[\"cdk-header-cell\"], [\"th\", \"cdk-header-cell\", \"\"]], hostAttrs: [\"role\", \"columnheader\", 1, \"cdk-header-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkHeaderCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-header-cell, th[cdk-header-cell]',\n host: {\n 'class': 'cdk-header-cell',\n 'role': 'columnheader'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Footer cell template container that adds the right classes and role. */\nclass CdkFooterCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement\n .getAttribute('role');\n const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkFooterCell.ɵfac = function CdkFooterCell_Factory(t) { return new (t || CdkFooterCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkFooterCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCell, selectors: [[\"cdk-footer-cell\"], [\"td\", \"cdk-footer-cell\", \"\"]], hostAttrs: [1, \"cdk-footer-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkFooterCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-footer-cell, td[cdk-footer-cell]',\n host: {\n 'class': 'cdk-footer-cell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Cell template container that adds the right classes and role. */\nclass CdkCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement\n .getAttribute('role');\n const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkCell.ɵfac = function CdkCell_Factory(t) { return new (t || CdkCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCell, selectors: [[\"cdk-cell\"], [\"td\", \"cdk-cell\", \"\"]], hostAttrs: [1, \"cdk-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-cell, td[cdk-cell]',\n host: {\n 'class': 'cdk-cell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @docs-private\n */\nclass _Schedule {\n constructor() {\n this.tasks = [];\n this.endTasks = [];\n }\n}\n/** Injection token used to provide a coalesced style scheduler. */\nconst _COALESCED_STYLE_SCHEDULER = new InjectionToken('_COALESCED_STYLE_SCHEDULER');\n/**\n * Allows grouping up CSSDom mutations after the current execution context.\n * This can significantly improve performance when separate consecutive functions are\n * reading from the CSSDom and then mutating it.\n *\n * @docs-private\n */\nclass _CoalescedStyleScheduler {\n constructor(_ngZone) {\n this._ngZone = _ngZone;\n this._currentSchedule = null;\n this._destroyed = new Subject();\n }\n /**\n * Schedules the specified task to run at the end of the current VM turn.\n */\n schedule(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.tasks.push(task);\n }\n /**\n * Schedules the specified task to run after other scheduled tasks at the end of the current\n * VM turn.\n */\n scheduleEnd(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.endTasks.push(task);\n }\n /** Prevent any further tasks from running. */\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n _createScheduleIfNeeded() {\n if (this._currentSchedule) {\n return;\n }\n this._currentSchedule = new _Schedule();\n this._getScheduleObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {\n while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {\n const schedule = this._currentSchedule;\n // Capture new tasks scheduled by the current set of tasks.\n this._currentSchedule = new _Schedule();\n for (const task of schedule.tasks) {\n task();\n }\n for (const task of schedule.endTasks) {\n task();\n }\n }\n this._currentSchedule = null;\n });\n }\n _getScheduleObservable() {\n // Use onStable when in the context of an ongoing change detection cycle so that we\n // do not accidentally trigger additional cycles.\n return this._ngZone.isStable ?\n from(Promise.resolve(undefined)) :\n this._ngZone.onStable.pipe(take(1));\n }\n}\n_CoalescedStyleScheduler.ɵfac = function _CoalescedStyleScheduler_Factory(t) { return new (t || _CoalescedStyleScheduler)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\n_CoalescedStyleScheduler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: _CoalescedStyleScheduler, factory: _CoalescedStyleScheduler.ɵfac });\n_CoalescedStyleScheduler.ctorParameters = () => [\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_CoalescedStyleScheduler, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nconst CDK_ROW_TEMPLATE = ``;\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nclass BaseRowDef {\n constructor(\n /** @docs-private */ template, _differs) {\n this.template = template;\n this._differs = _differs;\n }\n ngOnChanges(changes) {\n // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n // of the columns property or an empty array if none is provided.\n if (!this._columnsDiffer) {\n const columns = (changes['columns'] && changes['columns'].currentValue) || [];\n this._columnsDiffer = this._differs.find(columns).create();\n this._columnsDiffer.diff(columns);\n }\n }\n /**\n * Returns the difference between the current columns and the columns from the last diff, or null\n * if there is no difference.\n */\n getColumnsDiff() {\n return this._columnsDiffer.diff(this.columns);\n }\n /** Gets this row def's relevant cell template from the provided column def. */\n extractCellTemplate(column) {\n if (this instanceof CdkHeaderRowDef) {\n return column.headerCell.template;\n }\n if (this instanceof CdkFooterRowDef) {\n return column.footerCell.template;\n }\n else {\n return column.cell.template;\n }\n }\n}\nBaseRowDef.ɵfac = function BaseRowDef_Factory(t) { return new (t || BaseRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nBaseRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: BaseRowDef, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nBaseRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseRowDef, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, null); })();\n// Boilerplate for applying mixins to CdkHeaderRowDef.\n/** @docs-private */\nclass CdkHeaderRowDefBase extends BaseRowDef {\n}\nconst _CdkHeaderRowDefBase = mixinHasStickyInput(CdkHeaderRowDefBase);\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nclass CdkHeaderRowDef extends _CdkHeaderRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkHeaderRowDef.ɵfac = function CdkHeaderRowDef_Factory(t) { return new (t || CdkHeaderRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkHeaderRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderRowDef, selectors: [[\"\", \"cdkHeaderRowDef\", \"\"]], inputs: { columns: [\"cdkHeaderRowDef\", \"columns\"], sticky: [\"cdkHeaderRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkHeaderRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkHeaderRowDef]',\n inputs: ['columns: cdkHeaderRowDef', 'sticky: cdkHeaderRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n// Boilerplate for applying mixins to CdkFooterRowDef.\n/** @docs-private */\nclass CdkFooterRowDefBase extends BaseRowDef {\n}\nconst _CdkFooterRowDefBase = mixinHasStickyInput(CdkFooterRowDefBase);\n/**\n * Footer row definition for the CDK table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\nclass CdkFooterRowDef extends _CdkFooterRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkFooterRowDef.ɵfac = function CdkFooterRowDef_Factory(t) { return new (t || CdkFooterRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkFooterRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterRowDef, selectors: [[\"\", \"cdkFooterRowDef\", \"\"]], inputs: { columns: [\"cdkFooterRowDef\", \"columns\"], sticky: [\"cdkFooterRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFooterRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkFooterRowDef]',\n inputs: ['columns: cdkFooterRowDef', 'sticky: cdkFooterRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\nclass CdkRowDef extends BaseRowDef {\n // TODO(andrewseguin): Add an input for providing a switch function to determine\n // if this template should be used.\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n}\nCdkRowDef.ɵfac = function CdkRowDef_Factory(t) { return new (t || CdkRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkRowDef, selectors: [[\"\", \"cdkRowDef\", \"\"]], inputs: { columns: [\"cdkRowDefColumns\", \"columns\"], when: [\"cdkRowDefWhen\", \"when\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkRowDef]',\n inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\nclass CdkCellOutlet {\n constructor(_viewContainer) {\n this._viewContainer = _viewContainer;\n CdkCellOutlet.mostRecentCellOutlet = this;\n }\n ngOnDestroy() {\n // If this was the last outlet being rendered in the view, remove the reference\n // from the static property after it has been destroyed to avoid leaking memory.\n if (CdkCellOutlet.mostRecentCellOutlet === this) {\n CdkCellOutlet.mostRecentCellOutlet = null;\n }\n }\n}\nCdkCellOutlet.ɵfac = function CdkCellOutlet_Factory(t) { return new (t || CdkCellOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkCellOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCellOutlet, selectors: [[\"\", \"cdkCellOutlet\", \"\"]] });\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n */\nCdkCellOutlet.mostRecentCellOutlet = null;\nCdkCellOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellOutlet, [{\n type: Directive,\n args: [{ selector: '[cdkCellOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/** Header template container that contains the cell outlet. Adds the right class and role. */\nclass CdkHeaderRow {\n}\nCdkHeaderRow.ɵfac = function CdkHeaderRow_Factory(t) { return new (t || CdkHeaderRow)(); };\nCdkHeaderRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkHeaderRow, selectors: [[\"cdk-header-row\"], [\"tr\", \"cdk-header-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-header-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkHeaderRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRow, [{\n type: Component,\n args: [{\n selector: 'cdk-header-row, tr[cdk-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-header-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\nclass CdkFooterRow {\n}\nCdkFooterRow.ɵfac = function CdkFooterRow_Factory(t) { return new (t || CdkFooterRow)(); };\nCdkFooterRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkFooterRow, selectors: [[\"cdk-footer-row\"], [\"tr\", \"cdk-footer-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-footer-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkFooterRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRow, [{\n type: Component,\n args: [{\n selector: 'cdk-footer-row, tr[cdk-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-footer-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\nclass CdkRow {\n}\nCdkRow.ɵfac = function CdkRow_Factory(t) { return new (t || CdkRow)(); };\nCdkRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkRow, selectors: [[\"cdk-row\"], [\"tr\", \"cdk-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRow, [{\n type: Component,\n args: [{\n selector: 'cdk-row, tr[cdk-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Row that can be used to display a message when no data is shown in the table. */\nclass CdkNoDataRow {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkNoDataRow.ɵfac = function CdkNoDataRow_Factory(t) { return new (t || CdkNoDataRow)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkNoDataRow.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkNoDataRow, selectors: [[\"ng-template\", \"cdkNoDataRow\", \"\"]] });\nCdkNoDataRow.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkNoDataRow, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkNoDataRow]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * List of all possible directions that can be used for sticky positioning.\n * @docs-private\n */\nconst STICKY_DIRECTIONS = ['top', 'bottom', 'left', 'right'];\n/**\n * Applies and removes sticky positioning styles to the `CdkTable` rows and columns cells.\n * @docs-private\n */\nclass StickyStyler {\n /**\n * @param _isNativeHtmlTable Whether the sticky logic should be based on a table\n * that uses the native `` element.\n * @param _stickCellCss The CSS class that will be applied to every row/cell that has\n * sticky positioning applied.\n * @param direction The directionality context of the table (ltr/rtl); affects column positioning\n * by reversing left/right positions.\n * @param _isBrowser Whether the table is currently being rendered on the server or the client.\n * @param _needsPositionStickyOnElement Whether we need to specify position: sticky on cells\n * using inline styles. If false, it is assumed that position: sticky is included in\n * the component stylesheet for _stickCellCss.\n * @param _positionListener A listener that is notified of changes to sticky rows/columns\n * and their dimensions.\n */\n constructor(_isNativeHtmlTable, _stickCellCss, direction, _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener) {\n this._isNativeHtmlTable = _isNativeHtmlTable;\n this._stickCellCss = _stickCellCss;\n this.direction = direction;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._isBrowser = _isBrowser;\n this._needsPositionStickyOnElement = _needsPositionStickyOnElement;\n this._positionListener = _positionListener;\n this._cachedCellWidths = [];\n this._borderCellCss = {\n 'top': `${_stickCellCss}-border-elem-top`,\n 'bottom': `${_stickCellCss}-border-elem-bottom`,\n 'left': `${_stickCellCss}-border-elem-left`,\n 'right': `${_stickCellCss}-border-elem-right`,\n };\n }\n /**\n * Clears the sticky positioning styles from the row and its cells by resetting the `position`\n * style, setting the zIndex to 0, and unsetting each provided sticky direction.\n * @param rows The list of rows that should be cleared from sticking in the provided directions\n * @param stickyDirections The directions that should no longer be set as sticky on the rows.\n */\n clearStickyPositioning(rows, stickyDirections) {\n const elementsToClear = [];\n for (const row of rows) {\n // If the row isn't an element (e.g. if it's an `ng-container`),\n // it won't have inline styles or `children` so we skip it.\n if (row.nodeType !== row.ELEMENT_NODE) {\n continue;\n }\n elementsToClear.push(row);\n for (let i = 0; i < row.children.length; i++) {\n elementsToClear.push(row.children[i]);\n }\n }\n // Coalesce with sticky row/column updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n for (const element of elementsToClear) {\n this._removeStickyStyle(element, stickyDirections);\n }\n });\n }\n /**\n * Applies sticky left and right positions to the cells of each row according to the sticky\n * states of the rendered column definitions.\n * @param rows The rows that should have its set of cells stuck according to the sticky states.\n * @param stickyStartStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the start of the row.\n * @param stickyEndStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the end of the row.\n * @param recalculateCellWidths Whether the sticky styler should recalculate the width of each\n * column cell. If `false` cached widths will be used instead.\n */\n updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {\n if (!rows.length || !this._isBrowser || !(stickyStartStates.some(state => state) ||\n stickyEndStates.some(state => state))) {\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({ sizes: [] });\n this._positionListener.stickyEndColumnsUpdated({ sizes: [] });\n }\n return;\n }\n const firstRow = rows[0];\n const numCells = firstRow.children.length;\n const cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);\n const startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);\n const endPositions = this._getStickyEndColumnPositions(cellWidths, stickyEndStates);\n const lastStickyStart = stickyStartStates.lastIndexOf(true);\n const firstStickyEnd = stickyEndStates.indexOf(true);\n // Coalesce with sticky row updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n const isRtl = this.direction === 'rtl';\n const start = isRtl ? 'right' : 'left';\n const end = isRtl ? 'left' : 'right';\n for (const row of rows) {\n for (let i = 0; i < numCells; i++) {\n const cell = row.children[i];\n if (stickyStartStates[i]) {\n this._addStickyStyle(cell, start, startPositions[i], i === lastStickyStart);\n }\n if (stickyEndStates[i]) {\n this._addStickyStyle(cell, end, endPositions[i], i === firstStickyEnd);\n }\n }\n }\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({\n sizes: lastStickyStart === -1 ?\n [] :\n cellWidths\n .slice(0, lastStickyStart + 1)\n .map((width, index) => stickyStartStates[index] ? width : null)\n });\n this._positionListener.stickyEndColumnsUpdated({\n sizes: firstStickyEnd === -1 ?\n [] :\n cellWidths\n .slice(firstStickyEnd)\n .map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)\n .reverse()\n });\n }\n });\n }\n /**\n * Applies sticky positioning to the row's cells if using the native table layout, and to the\n * row itself otherwise.\n * @param rowsToStick The list of rows that should be stuck according to their corresponding\n * sticky state and to the provided top or bottom position.\n * @param stickyStates A list of boolean states where each state represents whether the row\n * should be stuck in the particular top or bottom position.\n * @param position The position direction in which the row should be stuck if that row should be\n * sticky.\n *\n */\n stickRows(rowsToStick, stickyStates, position) {\n // Since we can't measure the rows on the server, we can't stick the rows properly.\n if (!this._isBrowser) {\n return;\n }\n // If positioning the rows to the bottom, reverse their order when evaluating the sticky\n // position such that the last row stuck will be \"bottom: 0px\" and so on. Note that the\n // sticky states need to be reversed as well.\n const rows = position === 'bottom' ? rowsToStick.slice().reverse() : rowsToStick;\n const states = position === 'bottom' ? stickyStates.slice().reverse() : stickyStates;\n // Measure row heights all at once before adding sticky styles to reduce layout thrashing.\n const stickyOffsets = [];\n const stickyCellHeights = [];\n const elementsToStick = [];\n for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n stickyOffsets[rowIndex] = stickyOffset;\n const row = rows[rowIndex];\n elementsToStick[rowIndex] = this._isNativeHtmlTable ?\n Array.from(row.children) : [row];\n const height = row.getBoundingClientRect().height;\n stickyOffset += height;\n stickyCellHeights[rowIndex] = height;\n }\n const borderedRowIndex = states.lastIndexOf(true);\n // Coalesce with other sticky row updates (top/bottom), sticky columns updates\n // (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n var _a, _b;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n const offset = stickyOffsets[rowIndex];\n const isBorderedRowIndex = rowIndex === borderedRowIndex;\n for (const element of elementsToStick[rowIndex]) {\n this._addStickyStyle(element, position, offset, isBorderedRowIndex);\n }\n }\n if (position === 'top') {\n (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });\n }\n else {\n (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });\n }\n });\n }\n /**\n * When using the native table in Safari, sticky footer cells do not stick. The only way to stick\n * footer rows is to apply sticky styling to the tfoot container. This should only be done if\n * all footer rows are sticky. If not all footer rows are sticky, remove sticky positioning from\n * the tfoot element.\n */\n updateStickyFooterContainer(tableElement, stickyStates) {\n if (!this._isNativeHtmlTable) {\n return;\n }\n const tfoot = tableElement.querySelector('tfoot');\n // Coalesce with other sticky updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n if (stickyStates.some(state => !state)) {\n this._removeStickyStyle(tfoot, ['bottom']);\n }\n else {\n this._addStickyStyle(tfoot, 'bottom', 0, false);\n }\n });\n }\n /**\n * Removes the sticky style on the element by removing the sticky cell CSS class, re-evaluating\n * the zIndex, removing each of the provided sticky directions, and removing the\n * sticky position if there are no more directions.\n */\n _removeStickyStyle(element, stickyDirections) {\n for (const dir of stickyDirections) {\n element.style[dir] = '';\n element.classList.remove(this._borderCellCss[dir]);\n }\n // If the element no longer has any more sticky directions, remove sticky positioning and\n // the sticky CSS class.\n // Short-circuit checking element.style[dir] for stickyDirections as they\n // were already removed above.\n const hasDirection = STICKY_DIRECTIONS.some(dir => stickyDirections.indexOf(dir) === -1 && element.style[dir]);\n if (hasDirection) {\n element.style.zIndex = this._getCalculatedZIndex(element);\n }\n else {\n // When not hasDirection, _getCalculatedZIndex will always return ''.\n element.style.zIndex = '';\n if (this._needsPositionStickyOnElement) {\n element.style.position = '';\n }\n element.classList.remove(this._stickCellCss);\n }\n }\n /**\n * Adds the sticky styling to the element by adding the sticky style class, changing position\n * to be sticky (and -webkit-sticky), setting the appropriate zIndex, and adding a sticky\n * direction and value.\n */\n _addStickyStyle(element, dir, dirValue, isBorderElement) {\n element.classList.add(this._stickCellCss);\n if (isBorderElement) {\n element.classList.add(this._borderCellCss[dir]);\n }\n element.style[dir] = `${dirValue}px`;\n element.style.zIndex = this._getCalculatedZIndex(element);\n if (this._needsPositionStickyOnElement) {\n element.style.cssText += 'position: -webkit-sticky; position: sticky; ';\n }\n }\n /**\n * Calculate what the z-index should be for the element, depending on what directions (top,\n * bottom, left, right) have been set. It should be true that elements with a top direction\n * should have the highest index since these are elements like a table header. If any of those\n * elements are also sticky in another direction, then they should appear above other elements\n * that are only sticky top (e.g. a sticky column on a sticky header). Bottom-sticky elements\n * (e.g. footer rows) should then be next in the ordering such that they are below the header\n * but above any non-sticky elements. Finally, left/right sticky elements (e.g. sticky columns)\n * should minimally increment so that they are above non-sticky elements but below top and bottom\n * elements.\n */\n _getCalculatedZIndex(element) {\n const zIndexIncrements = {\n top: 100,\n bottom: 10,\n left: 1,\n right: 1,\n };\n let zIndex = 0;\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n for (const dir of STICKY_DIRECTIONS) {\n if (element.style[dir]) {\n zIndex += zIndexIncrements[dir];\n }\n }\n return zIndex ? `${zIndex}` : '';\n }\n /** Gets the widths for each cell in the provided row. */\n _getCellWidths(row, recalculateCellWidths = true) {\n if (!recalculateCellWidths && this._cachedCellWidths.length) {\n return this._cachedCellWidths;\n }\n const cellWidths = [];\n const firstRowCells = row.children;\n for (let i = 0; i < firstRowCells.length; i++) {\n let cell = firstRowCells[i];\n cellWidths.push(cell.getBoundingClientRect().width);\n }\n this._cachedCellWidths = cellWidths;\n return cellWidths;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyStartColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = 0; i < widths.length; i++) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyEndColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = widths.length; i > 0; i--) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nfunction getTableUnknownColumnError(id) {\n return Error(`Could not find column with id \"${id}\".`);\n}\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nfunction getTableDuplicateColumnNameError(name) {\n return Error(`Duplicate column definition name provided: \"${name}\".`);\n}\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nfunction getTableMultipleDefaultRowDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nfunction getTableMissingMatchingRowDefError(data) {\n return Error(`Could not find a matching row definition for the` +\n `provided row data: ${JSON.stringify(data)}`);\n}\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nfunction getTableMissingRowDefsError() {\n return Error('Missing definitions for header, footer, and row; ' +\n 'cannot determine which columns should be rendered.');\n}\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * @docs-private\n */\nfunction getTableUnknownDataSourceError() {\n return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n/**\n * Returns an error to be thrown when the text column cannot find a parent table to inject.\n * @docs-private\n */\nfunction getTableTextColumnMissingParentTableError() {\n return Error(`Text column could not find a parent table for registration.`);\n}\n/**\n * Returns an error to be thrown when a table text column doesn't have a name.\n * @docs-private\n */\nfunction getTableTextColumnMissingNameError() {\n return Error(`Table text column must have a name.`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the StickyPositioningListener. */\nconst STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n */\nclass CdkRecycleRows {\n}\nCdkRecycleRows.ɵfac = function CdkRecycleRows_Factory(t) { return new (t || CdkRecycleRows)(); };\nCdkRecycleRows.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkRecycleRows, selectors: [[\"cdk-table\", \"recycleRows\", \"\"], [\"table\", \"cdk-table\", \"\", \"recycleRows\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRecycleRows, [{\n type: Directive,\n args: [{\n selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], null, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\nclass DataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nDataRowOutlet.ɵfac = function DataRowOutlet_Factory(t) { return new (t || DataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nDataRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DataRowOutlet, selectors: [[\"\", \"rowOutlet\", \"\"]] });\nDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[rowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the header.\n * @docs-private\n */\nclass HeaderRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nHeaderRowOutlet.ɵfac = function HeaderRowOutlet_Factory(t) { return new (t || HeaderRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nHeaderRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: HeaderRowOutlet, selectors: [[\"\", \"headerRowOutlet\", \"\"]] });\nHeaderRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeaderRowOutlet, [{\n type: Directive,\n args: [{ selector: '[headerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the footer.\n * @docs-private\n */\nclass FooterRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nFooterRowOutlet.ɵfac = function FooterRowOutlet_Factory(t) { return new (t || FooterRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFooterRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FooterRowOutlet, selectors: [[\"\", \"footerRowOutlet\", \"\"]] });\nFooterRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FooterRowOutlet, [{\n type: Directive,\n args: [{ selector: '[footerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view\n * container's ng-container to insert the no data row.\n * @docs-private\n */\nclass NoDataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nNoDataRowOutlet.ɵfac = function NoDataRowOutlet_Factory(t) { return new (t || NoDataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNoDataRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NoDataRowOutlet, selectors: [[\"\", \"noDataRowOutlet\", \"\"]] });\nNoDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoDataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[noDataRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n * @docs-private\n */\nconst CDK_TABLE_TEMPLATE = \n// Note that according to MDN, the `caption` element has to be projected as the **first**\n// element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n`\n \n \n \n \n \n \n`;\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nclass RowViewRef extends EmbeddedViewRef {\n}\n/**\n * A data table that can render a header row, data rows, and a footer row.\n * Uses the dataSource input to determine the data to be rendered. The data can be provided either\n * as a data array, an Observable stream that emits the data array to render, or a DataSource with a\n * connect function that will return an Observable stream that emits the data array to render.\n */\nclass CdkTable {\n constructor(_differs, _changeDetectorRef, _elementRef, role, _dir, _document, _platform, _viewRepeater, _coalescedStyleScheduler, _viewportRuler, \n /**\n * @deprecated `_stickyPositioningListener` parameter to become required.\n * @breaking-change 13.0.0\n */\n _stickyPositioningListener) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._dir = _dir;\n this._platform = _platform;\n this._viewRepeater = _viewRepeater;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._viewportRuler = _viewportRuler;\n this._stickyPositioningListener = _stickyPositioningListener;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /**\n * Map of all the user's defined columns (header, data, and footer cell template) identified by\n * name. Collection populated by the column definitions gathered by `ContentChildren` as well as\n * any custom column definitions added to `_customColumnDefs`.\n */\n this._columnDefsByName = new Map();\n /**\n * Column definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * column definitions as *its* content child.\n */\n this._customColumnDefs = new Set();\n /**\n * Data row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in data rows as *its* content child.\n */\n this._customRowDefs = new Set();\n /**\n * Header row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in header rows as *its* content child.\n */\n this._customHeaderRowDefs = new Set();\n /**\n * Footer row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has a\n * built-in footer row as *its* content child.\n */\n this._customFooterRowDefs = new Set();\n /**\n * Whether the header row definition has been changed. Triggers an update to the header row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._headerRowDefChanged = true;\n /**\n * Whether the footer row definition has been changed. Triggers an update to the footer row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._footerRowDefChanged = true;\n /**\n * Whether the sticky column styles need to be updated. Set to `true` when the visible columns\n * change.\n */\n this._stickyColumnStylesNeedReset = true;\n /**\n * Whether the sticky styler should recalculate cell widths when applying sticky styles. If\n * `false`, cached values will be used instead. This is only applicable to tables with\n * {@link fixedLayout} enabled. For other tables, cell widths will always be recalculated.\n */\n this._forceRecalculateCellWidths = true;\n /**\n * Cache of the latest rendered `RenderRow` objects as a map for easy retrieval when constructing\n * a new list of `RenderRow` objects for rendering rows. Since the new list is constructed with\n * the cached `RenderRow` objects when possible, the row identity is preserved when the data\n * and row template matches, which allows the `IterableDiffer` to check rows by reference\n * and understand which rows are added/moved/removed.\n *\n * Implemented as a map of maps where the first key is the `data: T` object and the second is the\n * `CdkRowDef` object. With the two keys, the cache points to a `RenderRow` object that\n * contains an array of created pairs. The array is necessary to handle cases where the data\n * array contains multiple duplicate data objects and each instantiated `RenderRow` must be\n * stored.\n */\n this._cachedRenderRowsMap = new Map();\n /**\n * CSS class added to any row or cell that has sticky positioning applied. May be overriden by\n * table subclasses.\n */\n this.stickyCssClass = 'cdk-table-sticky';\n /**\n * Whether to manually add positon: sticky to all sticky cell elements. Not needed if\n * the position is set in a selector associated with the value of stickyCssClass. May be\n * overridden by table subclasses\n */\n this.needsPositionStickyOnElement = true;\n /** Whether the no data row is currently showing anything. */\n this._isShowingNoDataRow = false;\n this._multiTemplateDataRows = false;\n this._fixedLayout = false;\n /**\n * Emits when the table completes rendering a set of data rows based on the latest data from the\n * data source, even if the set of rows is empty.\n */\n this.contentChanged = new EventEmitter();\n // TODO(andrewseguin): Remove max value as the end index\n // and instead calculate the view on init and scroll.\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n *\n * @docs-private\n */\n this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });\n if (!role) {\n this._elementRef.nativeElement.setAttribute('role', 'table');\n }\n this._document = _document;\n this._isNativeHtmlTable = this._elementRef.nativeElement.nodeName === 'TABLE';\n }\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n * relative to the function to know if a row should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n get trackBy() {\n return this._trackByFn;\n }\n set trackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n }\n this._trackByFn = fn;\n }\n /**\n * The table's source of data, which can be provided in three ways (in order of complexity):\n * - Simple data array (each object represents one table row)\n * - Stream that emits a data array each time the array changes\n * - `DataSource` object that implements the connect/disconnect interface.\n *\n * If a data array is provided, the table must be notified when the array's objects are\n * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n * render the diff since the last table render. If the data array reference is changed, the table\n * will automatically trigger an update to the rows.\n *\n * When providing an Observable stream, the table will trigger an update automatically when the\n * stream emits a new array of data.\n *\n * Finally, when providing a `DataSource` object, the table will use the Observable stream\n * provided by the connect function and trigger updates when that stream emits new data array\n * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n * table will call the DataSource's `disconnect` function (may be useful for cleaning up any\n * subscriptions registered during the connect process).\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n /**\n * Whether to allow multiple rows per data object by evaluating which rows evaluate their 'when'\n * predicate to true. If `multiTemplateDataRows` is false, which is the default value, then each\n * dataobject will render the first row that evaluates its when predicate to true, in the order\n * defined in the table, or otherwise the default row which does not have a when predicate.\n */\n get multiTemplateDataRows() {\n return this._multiTemplateDataRows;\n }\n set multiTemplateDataRows(v) {\n this._multiTemplateDataRows = coerceBooleanProperty(v);\n // In Ivy if this value is set via a static attribute (e.g.
),\n // this setter will be invoked before the row outlet has been defined hence the null check.\n if (this._rowOutlet && this._rowOutlet.viewContainer.length) {\n this._forceRenderDataRows();\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Whether to use a fixed table layout. Enabling this option will enforce consistent column widths\n * and optimize rendering sticky styles for native tables. No-op for flex tables.\n */\n get fixedLayout() {\n return this._fixedLayout;\n }\n set fixedLayout(v) {\n this._fixedLayout = coerceBooleanProperty(v);\n // Toggling `fixedLayout` may change column widths. Sticky column styles should be recalculated.\n this._forceRecalculateCellWidths = true;\n this._stickyColumnStylesNeedReset = true;\n }\n ngOnInit() {\n this._setupStickyStyler();\n if (this._isNativeHtmlTable) {\n this._applyNativeTableSections();\n }\n // Set up the trackBy function so that it uses the `RenderRow` as its identity by default. If\n // the user has provided a custom trackBy, return the result of that function as evaluated\n // with the values of the `RenderRow`'s data and index.\n this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {\n return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;\n });\n this._viewportRuler.change().pipe(takeUntil(this._onDestroy)).subscribe(() => {\n this._forceRecalculateCellWidths = true;\n });\n }\n ngAfterContentChecked() {\n // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n this._cacheRowDefs();\n this._cacheColumnDefs();\n // Make sure that the user has at least added header, footer, or data row def.\n if (!this._headerRowDefs.length && !this._footerRowDefs.length && !this._rowDefs.length &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingRowDefsError();\n }\n // Render updates if the list of columns have been changed for the header, row, or footer defs.\n const columnsChanged = this._renderUpdatedColumns();\n const rowDefsChanged = columnsChanged || this._headerRowDefChanged || this._footerRowDefChanged;\n // Ensure sticky column styles are reset if set to `true` elsewhere.\n this._stickyColumnStylesNeedReset = this._stickyColumnStylesNeedReset || rowDefsChanged;\n this._forceRecalculateCellWidths = rowDefsChanged;\n // If the header row definition has been changed, trigger a render to the header row.\n if (this._headerRowDefChanged) {\n this._forceRenderHeaderRows();\n this._headerRowDefChanged = false;\n }\n // If the footer row definition has been changed, trigger a render to the footer row.\n if (this._footerRowDefChanged) {\n this._forceRenderFooterRows();\n this._footerRowDefChanged = false;\n }\n // If there is a data source and row definitions, connect to the data source unless a\n // connection has already been made.\n if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n else if (this._stickyColumnStylesNeedReset) {\n // In the above case, _observeRenderChanges will result in updateStickyColumnStyles being\n // called when it row data arrives. Otherwise, we need to call it proactively.\n this.updateStickyColumnStyles();\n }\n this._checkStickyStates();\n }\n ngOnDestroy() {\n this._rowOutlet.viewContainer.clear();\n this._noDataRowOutlet.viewContainer.clear();\n this._headerRowOutlet.viewContainer.clear();\n this._footerRowOutlet.viewContainer.clear();\n this._cachedRenderRowsMap.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n }\n /**\n * Renders rows based on the table's latest set of data, which was either provided directly as an\n * input or retrieved through an Observable stream (directly or from a DataSource).\n * Checks for differences in the data since the last diff to perform only the necessary\n * changes (add/remove/move rows).\n *\n * If the table's data source is a DataSource or Observable, this will be invoked automatically\n * each time the provided Observable stream emits a new data array. Otherwise if your data is\n * an array, this function will need to be called to render any changes.\n */\n renderRows() {\n this._renderRows = this._getAllRenderRows();\n const changes = this._dataDiffer.diff(this._renderRows);\n if (!changes) {\n this._updateNoDataRow();\n this.contentChanged.next();\n return;\n }\n const viewContainer = this._rowOutlet.viewContainer;\n this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), (record) => record.item.data, (change) => {\n if (change.operation === 1 /* INSERTED */ && change.context) {\n this._renderCellTemplateForItem(change.record.item.rowDef, change.context);\n }\n });\n // Update the meta context of a row's context data (index, count, first, last, ...)\n this._updateRowIndexContext();\n // Update rows that did not get added/removed/moved but may have had their identity changed,\n // e.g. if trackBy matched data on some property but the actual data reference changed.\n changes.forEachIdentityChange((record) => {\n const rowView = viewContainer.get(record.currentIndex);\n rowView.context.$implicit = record.item.data;\n });\n this._updateNoDataRow();\n this.updateStickyColumnStyles();\n this.contentChanged.next();\n }\n /** Adds a column definition that was not included as part of the content children. */\n addColumnDef(columnDef) {\n this._customColumnDefs.add(columnDef);\n }\n /** Removes a column definition that was not included as part of the content children. */\n removeColumnDef(columnDef) {\n this._customColumnDefs.delete(columnDef);\n }\n /** Adds a row definition that was not included as part of the content children. */\n addRowDef(rowDef) {\n this._customRowDefs.add(rowDef);\n }\n /** Removes a row definition that was not included as part of the content children. */\n removeRowDef(rowDef) {\n this._customRowDefs.delete(rowDef);\n }\n /** Adds a header row definition that was not included as part of the content children. */\n addHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.add(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Removes a header row definition that was not included as part of the content children. */\n removeHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.delete(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Adds a footer row definition that was not included as part of the content children. */\n addFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.add(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Removes a footer row definition that was not included as part of the content children. */\n removeFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.delete(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Sets a no data row definition that was not included as a part of the content children. */\n setNoDataRow(noDataRow) {\n this._customNoDataRow = noDataRow;\n }\n /**\n * Updates the header sticky styles. First resets all applied styles with respect to the cells\n * sticking to the top. Then, evaluating which cells need to be stuck to the top. This is\n * automatically called when the header row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyHeaderRowStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the thead element if there are no header rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const thead = tableElement.querySelector('thead');\n if (thead) {\n thead.style.display = headerRows.length ? '' : 'none';\n }\n const stickyStates = this._headerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(headerRows, ['top']);\n this._stickyStyler.stickRows(headerRows, stickyStates, 'top');\n // Reset the dirty state of the sticky input change since it has been used.\n this._headerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the footer sticky styles. First resets all applied styles with respect to the cells\n * sticking to the bottom. Then, evaluating which cells need to be stuck to the bottom. This is\n * automatically called when the footer row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyFooterRowStyles() {\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the tfoot element if there are no footer rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const tfoot = tableElement.querySelector('tfoot');\n if (tfoot) {\n tfoot.style.display = footerRows.length ? '' : 'none';\n }\n const stickyStates = this._footerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(footerRows, ['bottom']);\n this._stickyStyler.stickRows(footerRows, stickyStates, 'bottom');\n this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement, stickyStates);\n // Reset the dirty state of the sticky input change since it has been used.\n this._footerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the column sticky styles. First resets all applied styles with respect to the cells\n * sticking to the left and right. Then sticky styles are added for the left and right according\n * to the column definitions for each cell in each row. This is automatically called when\n * the data source provides a new set of data or when a column definition changes its sticky\n * input. May be called manually for cases where the cell content changes outside of these events.\n */\n updateStickyColumnStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const dataRows = this._getRenderedRows(this._rowOutlet);\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n // For tables not using a fixed layout, the column widths may change when new rows are rendered.\n // In a table using a fixed layout, row content won't affect column width, so sticky styles\n // don't need to be cleared unless either the sticky column config changes or one of the row\n // defs change.\n if ((this._isNativeHtmlTable && !this._fixedLayout)\n || this._stickyColumnStylesNeedReset) {\n // Clear the left and right positioning from all columns in the table across all rows since\n // sticky columns span across all table sections (header, data, footer)\n this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);\n this._stickyColumnStylesNeedReset = false;\n }\n // Update the sticky styles for each header row depending on the def's sticky state\n headerRows.forEach((headerRow, i) => {\n this._addStickyColumnStyles([headerRow], this._headerRowDefs[i]);\n });\n // Update the sticky styles for each data row depending on its def's sticky state\n this._rowDefs.forEach(rowDef => {\n // Collect all the rows rendered with this row definition.\n const rows = [];\n for (let i = 0; i < dataRows.length; i++) {\n if (this._renderRows[i].rowDef === rowDef) {\n rows.push(dataRows[i]);\n }\n }\n this._addStickyColumnStyles(rows, rowDef);\n });\n // Update the sticky styles for each footer row depending on the def's sticky state\n footerRows.forEach((footerRow, i) => {\n this._addStickyColumnStyles([footerRow], this._footerRowDefs[i]);\n });\n // Reset the dirty state of the sticky input change since it has been used.\n Array.from(this._columnDefsByName.values()).forEach(def => def.resetStickyChanged());\n }\n /**\n * Get the list of RenderRow objects to render according to the current list of data and defined\n * row definitions. If the previous list already contained a particular pair, it should be reused\n * so that the differ equates their references.\n */\n _getAllRenderRows() {\n const renderRows = [];\n // Store the cache and create a new one. Any re-used RenderRow objects will be moved into the\n // new cache while unused ones can be picked up by garbage collection.\n const prevCachedRenderRows = this._cachedRenderRowsMap;\n this._cachedRenderRowsMap = new Map();\n // For each data object, get the list of rows that should be rendered, represented by the\n // respective `RenderRow` object which is the pair of `data` and `CdkRowDef`.\n for (let i = 0; i < this._data.length; i++) {\n let data = this._data[i];\n const renderRowsForData = this._getRenderRowsForData(data, i, prevCachedRenderRows.get(data));\n if (!this._cachedRenderRowsMap.has(data)) {\n this._cachedRenderRowsMap.set(data, new WeakMap());\n }\n for (let j = 0; j < renderRowsForData.length; j++) {\n let renderRow = renderRowsForData[j];\n const cache = this._cachedRenderRowsMap.get(renderRow.data);\n if (cache.has(renderRow.rowDef)) {\n cache.get(renderRow.rowDef).push(renderRow);\n }\n else {\n cache.set(renderRow.rowDef, [renderRow]);\n }\n renderRows.push(renderRow);\n }\n }\n return renderRows;\n }\n /**\n * Gets a list of `RenderRow` for the provided data object and any `CdkRowDef` objects that\n * should be rendered for this data. Reuses the cached RenderRow objects if they match the same\n * `(T, CdkRowDef)` pair.\n */\n _getRenderRowsForData(data, dataIndex, cache) {\n const rowDefs = this._getRowDefs(data, dataIndex);\n return rowDefs.map(rowDef => {\n const cachedRenderRows = (cache && cache.has(rowDef)) ? cache.get(rowDef) : [];\n if (cachedRenderRows.length) {\n const dataRow = cachedRenderRows.shift();\n dataRow.dataIndex = dataIndex;\n return dataRow;\n }\n else {\n return { data, rowDef, dataIndex };\n }\n });\n }\n /** Update the map containing the content's column definitions. */\n _cacheColumnDefs() {\n this._columnDefsByName.clear();\n const columnDefs = mergeArrayAndSet(this._getOwnDefs(this._contentColumnDefs), this._customColumnDefs);\n columnDefs.forEach(columnDef => {\n if (this._columnDefsByName.has(columnDef.name) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableDuplicateColumnNameError(columnDef.name);\n }\n this._columnDefsByName.set(columnDef.name, columnDef);\n });\n }\n /** Update the list of all available row definitions that can be used. */\n _cacheRowDefs() {\n this._headerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentHeaderRowDefs), this._customHeaderRowDefs);\n this._footerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentFooterRowDefs), this._customFooterRowDefs);\n this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);\n // After all row definitions are determined, find the row definition to be considered default.\n const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n if (!this.multiTemplateDataRows && defaultRowDefs.length > 1 &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMultipleDefaultRowDefsError();\n }\n this._defaultRowDef = defaultRowDefs[0];\n }\n /**\n * Check if the header, data, or footer rows have changed what columns they want to display or\n * whether the sticky states have changed for the header or footer. If there is a diff, then\n * re-render that section.\n */\n _renderUpdatedColumns() {\n const columnsDiffReducer = (acc, def) => acc || !!def.getColumnsDiff();\n // Force re-render data rows if the list of column definitions have changed.\n const dataColumnsChanged = this._rowDefs.reduce(columnsDiffReducer, false);\n if (dataColumnsChanged) {\n this._forceRenderDataRows();\n }\n // Force re-render header/footer rows if the list of column definitions have changed.\n const headerColumnsChanged = this._headerRowDefs.reduce(columnsDiffReducer, false);\n if (headerColumnsChanged) {\n this._forceRenderHeaderRows();\n }\n const footerColumnsChanged = this._footerRowDefs.reduce(columnsDiffReducer, false);\n if (footerColumnsChanged) {\n this._forceRenderFooterRows();\n }\n return dataColumnsChanged || headerColumnsChanged || footerColumnsChanged;\n }\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the row outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n this._data = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n // Stop listening for data from the previous data source.\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n if (!dataSource) {\n if (this._dataDiffer) {\n this._dataDiffer.diff([]);\n }\n this._rowOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n // If no data source has been set, there is nothing to observe for changes.\n if (!this.dataSource) {\n return;\n }\n let dataStream;\n if (isDataSource(this.dataSource)) {\n dataStream = this.dataSource.connect(this);\n }\n else if (isObservable(this.dataSource)) {\n dataStream = this.dataSource;\n }\n else if (Array.isArray(this.dataSource)) {\n dataStream = of(this.dataSource);\n }\n if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownDataSourceError();\n }\n this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy))\n .subscribe(data => {\n this._data = data || [];\n this.renderRows();\n });\n }\n /**\n * Clears any existing content in the header row outlet and creates a new embedded view\n * in the outlet using the header row definition.\n */\n _forceRenderHeaderRows() {\n // Clear the header row outlet if any content exists.\n if (this._headerRowOutlet.viewContainer.length > 0) {\n this._headerRowOutlet.viewContainer.clear();\n }\n this._headerRowDefs.forEach((def, i) => this._renderRow(this._headerRowOutlet, def, i));\n this.updateStickyHeaderRowStyles();\n }\n /**\n * Clears any existing content in the footer row outlet and creates a new embedded view\n * in the outlet using the footer row definition.\n */\n _forceRenderFooterRows() {\n // Clear the footer row outlet if any content exists.\n if (this._footerRowOutlet.viewContainer.length > 0) {\n this._footerRowOutlet.viewContainer.clear();\n }\n this._footerRowDefs.forEach((def, i) => this._renderRow(this._footerRowOutlet, def, i));\n this.updateStickyFooterRowStyles();\n }\n /** Adds the sticky column styles for the rows according to the columns' stick states. */\n _addStickyColumnStyles(rows, rowDef) {\n const columnDefs = Array.from(rowDef.columns || []).map(columnName => {\n const columnDef = this._columnDefsByName.get(columnName);\n if (!columnDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnName);\n }\n return columnDef;\n });\n const stickyStartStates = columnDefs.map(columnDef => columnDef.sticky);\n const stickyEndStates = columnDefs.map(columnDef => columnDef.stickyEnd);\n this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this._fixedLayout || this._forceRecalculateCellWidths);\n }\n /** Gets the list of rows that have been rendered in the row outlet. */\n _getRenderedRows(rowOutlet) {\n const renderedRows = [];\n for (let i = 0; i < rowOutlet.viewContainer.length; i++) {\n const viewRef = rowOutlet.viewContainer.get(i);\n renderedRows.push(viewRef.rootNodes[0]);\n }\n return renderedRows;\n }\n /**\n * Get the matching row definitions that should be used for this row data. If there is only\n * one row definition, it is returned. Otherwise, find the row definitions that has a when\n * predicate that returns true with the data. If none return true, return the default row\n * definition.\n */\n _getRowDefs(data, dataIndex) {\n if (this._rowDefs.length == 1) {\n return [this._rowDefs[0]];\n }\n let rowDefs = [];\n if (this.multiTemplateDataRows) {\n rowDefs = this._rowDefs.filter(def => !def.when || def.when(dataIndex, data));\n }\n else {\n let rowDef = this._rowDefs.find(def => def.when && def.when(dataIndex, data)) || this._defaultRowDef;\n if (rowDef) {\n rowDefs.push(rowDef);\n }\n }\n if (!rowDefs.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingMatchingRowDefError(data);\n }\n return rowDefs;\n }\n _getEmbeddedViewArgs(renderRow, index) {\n const rowDef = renderRow.rowDef;\n const context = { $implicit: renderRow.data };\n return {\n templateRef: rowDef.template,\n context,\n index,\n };\n }\n /**\n * Creates a new row template in the outlet and fills it with the set of cell templates.\n * Optionally takes a context to provide to the row and cells, as well as an optional index\n * of where to place the new row template in the outlet.\n */\n _renderRow(outlet, rowDef, index, context = {}) {\n // TODO(andrewseguin): enforce that one outlet was instantiated from createEmbeddedView\n const view = outlet.viewContainer.createEmbeddedView(rowDef.template, context, index);\n this._renderCellTemplateForItem(rowDef, context);\n return view;\n }\n _renderCellTemplateForItem(rowDef, context) {\n for (let cellTemplate of this._getCellTemplates(rowDef)) {\n if (CdkCellOutlet.mostRecentCellOutlet) {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cellTemplate, context);\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Updates the index-related context for each row to reflect any changes in the index of the rows,\n * e.g. first/last/even/odd.\n */\n _updateRowIndexContext() {\n const viewContainer = this._rowOutlet.viewContainer;\n for (let renderIndex = 0, count = viewContainer.length; renderIndex < count; renderIndex++) {\n const viewRef = viewContainer.get(renderIndex);\n const context = viewRef.context;\n context.count = count;\n context.first = renderIndex === 0;\n context.last = renderIndex === count - 1;\n context.even = renderIndex % 2 === 0;\n context.odd = !context.even;\n if (this.multiTemplateDataRows) {\n context.dataIndex = this._renderRows[renderIndex].dataIndex;\n context.renderIndex = renderIndex;\n }\n else {\n context.index = this._renderRows[renderIndex].dataIndex;\n }\n }\n }\n /** Gets the column definitions for the provided row def. */\n _getCellTemplates(rowDef) {\n if (!rowDef || !rowDef.columns) {\n return [];\n }\n return Array.from(rowDef.columns, columnId => {\n const column = this._columnDefsByName.get(columnId);\n if (!column && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnId);\n }\n return rowDef.extractCellTemplate(column);\n });\n }\n /** Adds native table sections (e.g. tbody) and moves the row outlets into them. */\n _applyNativeTableSections() {\n const documentFragment = this._document.createDocumentFragment();\n const sections = [\n { tag: 'thead', outlets: [this._headerRowOutlet] },\n { tag: 'tbody', outlets: [this._rowOutlet, this._noDataRowOutlet] },\n { tag: 'tfoot', outlets: [this._footerRowOutlet] },\n ];\n for (const section of sections) {\n const element = this._document.createElement(section.tag);\n element.setAttribute('role', 'rowgroup');\n for (const outlet of section.outlets) {\n element.appendChild(outlet.elementRef.nativeElement);\n }\n documentFragment.appendChild(element);\n }\n // Use a DocumentFragment so we don't hit the DOM on each iteration.\n this._elementRef.nativeElement.appendChild(documentFragment);\n }\n /**\n * Forces a re-render of the data rows. Should be called in cases where there has been an input\n * change that affects the evaluation of which rows should be rendered, e.g. toggling\n * `multiTemplateDataRows` or adding/removing row definitions.\n */\n _forceRenderDataRows() {\n this._dataDiffer.diff([]);\n this._rowOutlet.viewContainer.clear();\n this.renderRows();\n }\n /**\n * Checks if there has been a change in sticky states since last check and applies the correct\n * sticky styles. Since checking resets the \"dirty\" state, this should only be performed once\n * during a change detection and after the inputs are settled (after content check).\n */\n _checkStickyStates() {\n const stickyCheckReducer = (acc, d) => {\n return acc || d.hasStickyChanged();\n };\n // Note that the check needs to occur for every definition since it notifies the definition\n // that it can reset its dirty state. Using another operator like `some` may short-circuit\n // remaining definitions and leave them in an unchecked state.\n if (this._headerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyHeaderRowStyles();\n }\n if (this._footerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyFooterRowStyles();\n }\n if (Array.from(this._columnDefsByName.values()).reduce(stickyCheckReducer, false)) {\n this._stickyColumnStylesNeedReset = true;\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Creates the sticky styler that will be used for sticky rows and columns. Listens\n * for directionality changes and provides the latest direction to the styler. Re-applies column\n * stickiness when directionality changes.\n */\n _setupStickyStyler() {\n const direction = this._dir ? this._dir.value : 'ltr';\n this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener);\n (this._dir ? this._dir.change : of())\n .pipe(takeUntil(this._onDestroy))\n .subscribe(value => {\n this._stickyStyler.direction = value;\n this.updateStickyColumnStyles();\n });\n }\n /** Filters definitions that belong to this table from a QueryList. */\n _getOwnDefs(items) {\n return items.filter(item => !item._table || item._table === this);\n }\n /** Creates or removes the no data row, depending on whether any data is being shown. */\n _updateNoDataRow() {\n const noDataRow = this._customNoDataRow || this._noDataRow;\n if (noDataRow) {\n const shouldShow = this._rowOutlet.viewContainer.length === 0;\n if (shouldShow !== this._isShowingNoDataRow) {\n const container = this._noDataRowOutlet.viewContainer;\n shouldShow ? container.createEmbeddedView(noDataRow.templateRef) : container.clear();\n this._isShowingNoDataRow = shouldShow;\n }\n }\n }\n}\nCdkTable.ɵfac = function CdkTable_Factory(t) { return new (t || CdkTable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵinjectAttribute('role'), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Platform), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵngcc0.ɵɵdirectiveInject(_COALESCED_STYLE_SCHEDULER), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(STICKY_POSITIONING_LISTENER, 12)); };\nCdkTable.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkTable, selectors: [[\"cdk-table\"], [\"table\", \"cdk-table\", \"\"]], contentQueries: function CdkTable_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkNoDataRow, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkColumnDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkRowDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderRowDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterRowDef, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRow = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentColumnDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentHeaderRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentFooterRowDefs = _t);\n } }, viewQuery: function CdkTable_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(DataRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(HeaderRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(FooterRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(NoDataRowOutlet, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._rowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._headerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._footerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRowOutlet = _t.first);\n } }, hostAttrs: [1, \"cdk-table\"], hostVars: 2, hostBindings: function CdkTable_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-table-fixed-layout\", ctx.fixedLayout);\n } }, inputs: { trackBy: \"trackBy\", dataSource: \"dataSource\", multiTemplateDataRows: \"multiTemplateDataRows\", fixedLayout: \"fixedLayout\" }, outputs: { contentChanged: \"contentChanged\" }, exportAs: [\"cdkTable\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ])], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [[\"headerRowOutlet\", \"\"], [\"rowOutlet\", \"\"], [\"noDataRowOutlet\", \"\"], [\"footerRowOutlet\", \"\"]], template: function CdkTable_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c0);\n ɵngcc0.ɵɵprojection(0);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementContainer(2, 0);\n ɵngcc0.ɵɵelementContainer(3, 1);\n ɵngcc0.ɵɵelementContainer(4, 2);\n ɵngcc0.ɵɵelementContainer(5, 3);\n } }, directives: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet], styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"], encapsulation: 2 });\nCdkTable.ctorParameters = () => [\n { type: IterableDiffers },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: String, decorators: [{ type: Attribute, args: ['role',] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: undefined, decorators: [{ type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: _CoalescedStyleScheduler, decorators: [{ type: Inject, args: [_COALESCED_STYLE_SCHEDULER,] }] },\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [STICKY_POSITIONING_LISTENER,] }] }\n];\nCdkTable.propDecorators = {\n trackBy: [{ type: Input }],\n dataSource: [{ type: Input }],\n multiTemplateDataRows: [{ type: Input }],\n fixedLayout: [{ type: Input }],\n contentChanged: [{ type: Output }],\n _rowOutlet: [{ type: ViewChild, args: [DataRowOutlet, { static: true },] }],\n _headerRowOutlet: [{ type: ViewChild, args: [HeaderRowOutlet, { static: true },] }],\n _footerRowOutlet: [{ type: ViewChild, args: [FooterRowOutlet, { static: true },] }],\n _noDataRowOutlet: [{ type: ViewChild, args: [NoDataRowOutlet, { static: true },] }],\n _contentColumnDefs: [{ type: ContentChildren, args: [CdkColumnDef, { descendants: true },] }],\n _contentRowDefs: [{ type: ContentChildren, args: [CdkRowDef, { descendants: true },] }],\n _contentHeaderRowDefs: [{ type: ContentChildren, args: [CdkHeaderRowDef, {\n descendants: true\n },] }],\n _contentFooterRowDefs: [{ type: ContentChildren, args: [CdkFooterRowDef, {\n descendants: true\n },] }],\n _noDataRow: [{ type: ContentChild, args: [CdkNoDataRow,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTable, [{\n type: Component,\n args: [{\n selector: 'cdk-table, table[cdk-table]',\n exportAs: 'cdkTable',\n template: CDK_TABLE_TEMPLATE,\n host: {\n 'class': 'cdk-table',\n '[class.cdk-table-fixed-layout]': 'fixedLayout'\n },\n encapsulation: ViewEncapsulation.None,\n // The \"OnPush\" status for the `MatTable` component is effectively a noop, so we are removing it.\n // The view for `MatTable` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: String, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: _CoalescedStyleScheduler, decorators: [{\n type: Inject,\n args: [_COALESCED_STYLE_SCHEDULER]\n }] }, { type: ɵngcc3.ViewportRuler }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [STICKY_POSITIONING_LISTENER]\n }] }]; }, { contentChanged: [{\n type: Output\n }], trackBy: [{\n type: Input\n }], dataSource: [{\n type: Input\n }], multiTemplateDataRows: [{\n type: Input\n }], fixedLayout: [{\n type: Input\n }], _rowOutlet: [{\n type: ViewChild,\n args: [DataRowOutlet, { static: true }]\n }], _headerRowOutlet: [{\n type: ViewChild,\n args: [HeaderRowOutlet, { static: true }]\n }], _footerRowOutlet: [{\n type: ViewChild,\n args: [FooterRowOutlet, { static: true }]\n }], _noDataRowOutlet: [{\n type: ViewChild,\n args: [NoDataRowOutlet, { static: true }]\n }], _contentColumnDefs: [{\n type: ContentChildren,\n args: [CdkColumnDef, { descendants: true }]\n }], _contentRowDefs: [{\n type: ContentChildren,\n args: [CdkRowDef, { descendants: true }]\n }], _contentHeaderRowDefs: [{\n type: ContentChildren,\n args: [CdkHeaderRowDef, {\n descendants: true\n }]\n }], _contentFooterRowDefs: [{\n type: ContentChildren,\n args: [CdkFooterRowDef, {\n descendants: true\n }]\n }], _noDataRow: [{\n type: ContentChild,\n args: [CdkNoDataRow]\n }] }); })();\n/** Utility function that gets a merged list of the entries in an array and values of a Set. */\nfunction mergeArrayAndSet(array, set) {\n return array.concat(Array.from(set));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`
`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\nclass CdkTextColumn {\n constructor(\n // `CdkTextColumn` is always requiring a table, but we just assert it manually\n // for better error reporting.\n // tslint:disable-next-line: lightweight-tokens\n _table, _options) {\n this._table = _table;\n this._options = _options;\n /** Alignment of the cell values. */\n this.justify = 'start';\n this._options = _options || {};\n }\n /** Column name that should be used to reference this column. */\n get name() {\n return this._name;\n }\n set name(name) {\n this._name = name;\n // With Ivy, inputs can be initialized before static query results are\n // available. In that case, we defer the synchronization until \"ngOnInit\" fires.\n this._syncColumnDefName();\n }\n ngOnInit() {\n this._syncColumnDefName();\n if (this.headerText === undefined) {\n this.headerText = this._createDefaultHeaderText();\n }\n if (!this.dataAccessor) {\n this.dataAccessor =\n this._options.defaultDataAccessor || ((data, name) => data[name]);\n }\n if (this._table) {\n // Provide the cell and headerCell directly to the table with the static `ViewChild` query,\n // since the columnDef will not pick up its content by the time the table finishes checking\n // its content and initializing the rows.\n this.columnDef.cell = this.cell;\n this.columnDef.headerCell = this.headerCell;\n this._table.addColumnDef(this.columnDef);\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTableTextColumnMissingParentTableError();\n }\n }\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this.columnDef);\n }\n }\n /**\n * Creates a default header text. Use the options' header text transformation function if one\n * has been provided. Otherwise simply capitalize the column name.\n */\n _createDefaultHeaderText() {\n const name = this.name;\n if (!name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableTextColumnMissingNameError();\n }\n if (this._options && this._options.defaultHeaderTextTransform) {\n return this._options.defaultHeaderTextTransform(name);\n }\n return name[0].toUpperCase() + name.slice(1);\n }\n /** Synchronizes the column definition name with the text column name. */\n _syncColumnDefName() {\n if (this.columnDef) {\n this.columnDef.name = this.name;\n }\n }\n}\nCdkTextColumn.ɵfac = function CdkTextColumn_Factory(t) { return new (t || CdkTextColumn)(ɵngcc0.ɵɵdirectiveInject(CdkTable, 8), ɵngcc0.ɵɵdirectiveInject(TEXT_COLUMN_OPTIONS, 8)); };\nCdkTextColumn.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkTextColumn, selectors: [[\"cdk-text-column\"]], viewQuery: function CdkTextColumn_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(CdkColumnDef, 7);\n ɵngcc0.ɵɵviewQuery(CdkCellDef, 7);\n ɵngcc0.ɵɵviewQuery(CdkHeaderCellDef, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.columnDef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n } }, inputs: { justify: \"justify\", name: \"name\", headerText: \"headerText\", dataAccessor: \"dataAccessor\" }, decls: 3, vars: 0, consts: [[\"cdkColumnDef\", \"\"], [\"cdk-header-cell\", \"\", 3, \"text-align\", 4, \"cdkHeaderCellDef\"], [\"cdk-cell\", \"\", 3, \"text-align\", 4, \"cdkCellDef\"], [\"cdk-header-cell\", \"\"], [\"cdk-cell\", \"\"]], template: function CdkTextColumn_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0, 0);\n ɵngcc0.ɵɵtemplate(1, CdkTextColumn_th_1_Template, 2, 3, \"th\", 1);\n ɵngcc0.ɵɵtemplate(2, CdkTextColumn_td_2_Template, 2, 3, \"td\", 2);\n ɵngcc0.ɵɵelementContainerEnd();\n } }, directives: [CdkColumnDef, CdkHeaderCellDef, CdkCellDef, CdkHeaderCell, CdkCell], encapsulation: 2 });\nCdkTextColumn.ctorParameters = () => [\n { type: CdkTable, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TEXT_COLUMN_OPTIONS,] }] }\n];\nCdkTextColumn.propDecorators = {\n name: [{ type: Input }],\n headerText: [{ type: Input }],\n dataAccessor: [{ type: Input }],\n justify: [{ type: Input }],\n columnDef: [{ type: ViewChild, args: [CdkColumnDef, { static: true },] }],\n cell: [{ type: ViewChild, args: [CdkCellDef, { static: true },] }],\n headerCell: [{ type: ViewChild, args: [CdkHeaderCellDef, { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextColumn, [{\n type: Component,\n args: [{\n selector: 'cdk-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n }]\n }], function () { return [{ type: CdkTable, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [TEXT_COLUMN_OPTIONS]\n }] }]; }, { justify: [{\n type: Input\n }], name: [{\n type: Input\n }], headerText: [{\n type: Input\n }], dataAccessor: [{\n type: Input\n }], columnDef: [{\n type: ViewChild,\n args: [CdkColumnDef, { static: true }]\n }], cell: [{\n type: ViewChild,\n args: [CdkCellDef, { static: true }]\n }], headerCell: [{\n type: ViewChild,\n args: [CdkHeaderCellDef, { static: true }]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EXPORTED_DECLARATIONS = [\n CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n CdkRecycleRows,\n NoDataRowOutlet,\n];\nclass CdkTableModule {\n}\nCdkTableModule.ɵfac = function CdkTableModule_Factory(t) { return new (t || CdkTableModule)(); };\nCdkTableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkTableModule });\nCdkTableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[ScrollingModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTableModule, [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n imports: [ScrollingModule]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkTableModule, { declarations: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, CdkRecycleRows, NoDataRowOutlet]; }, imports: function () { return [ScrollingModule]; }, exports: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, CdkRecycleRows, NoDataRowOutlet]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE, CDK_TABLE_TEMPLATE, CdkCell, CdkCellDef, CdkCellOutlet, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRecycleRows, CdkRow, CdkRowDef, CdkTable, CdkTableModule, CdkTextColumn, DataRowOutlet, FooterRowOutlet, HeaderRowOutlet, NoDataRowOutlet, STICKY_DIRECTIONS, STICKY_POSITIONING_LISTENER, StickyStyler, TEXT_COLUMN_OPTIONS, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, _Schedule, mixinHasStickyInput };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { APP_BOOTSTRAP_LISTENER, PLATFORM_ID, NgModule, Injectable, InjectionToken, Inject, inject, NgZone, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { Subject, BehaviorSubject, Observable, merge, asapScheduler, of, fromEvent } from 'rxjs';\nimport { filter, debounceTime, map, switchMap, takeUntil, take, tap } from 'rxjs/operators';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/browser-provider.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Find all of the server-generated stylings, if any, and remove them\n * This will be in the form of inline classes and the style block in the\n * head of the DOM\n * @param {?} _document\n * @param {?} platformId\n * @return {?}\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction removeStyles(_document, platformId) {\n return (/**\n * @return {?}\n */\n () => {\n if (isPlatformBrowser(platformId)) {\n /** @type {?} */\n const elements = Array.from(_document.querySelectorAll(`[class*=${CLASS_NAME}]`));\n // RegExp constructor should only be used if passing a variable to the constructor.\n // When using static regular expression it is more performant to use reg exp literal.\n // This is also needed to provide Safari 9 compatibility, please see\n // https://stackoverflow.com/questions/37919802 for more discussion.\n /** @type {?} */\n const classRegex = /\\bflex-layout-.+?\\b/g;\n elements.forEach((/**\n * @param {?} el\n * @return {?}\n */\n el => {\n el.classList.contains(`${CLASS_NAME}ssr`) && el.parentNode ?\n el.parentNode.removeChild(el) : el.className.replace(classRegex, '');\n }));\n }\n });\n}\n/**\n * Provider to remove SSR styles on the browser\n * @type {?}\n */\nconst BROWSER_PROVIDER = {\n provide: (/** @type {?} */ (APP_BOOTSTRAP_LISTENER)),\n useFactory: removeStyles,\n deps: [DOCUMENT, PLATFORM_ID],\n multi: true\n};\n/** @type {?} */\nconst CLASS_NAME = 'flex-layout-';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/module.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * *****************************************************************\n * Define module for common Angular Layout utilities\n * *****************************************************************\n */\nclass CoreModule {\n}\nCoreModule.ɵfac = function CoreModule_Factory(t) { return new (t || CoreModule)(); };\nCoreModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CoreModule });\nCoreModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [BROWSER_PROVIDER] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CoreModule, [{\n type: NgModule,\n args: [{\n providers: [BROWSER_PROVIDER]\n }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-change.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Class instances emitted [to observers] for each mql notification\n */\nclass MediaChange {\n /**\n * @param {?=} matches whether the mediaQuery is currently activated\n * @param {?=} mediaQuery e.g. (min-width: 600px) and (max-width: 959px)\n * @param {?=} mqAlias e.g. gt-sm, md, gt-lg\n * @param {?=} suffix e.g. GtSM, Md, GtLg\n * @param {?=} priority the priority of activation for the given breakpoint\n */\n constructor(matches = false, mediaQuery = 'all', mqAlias = '', suffix = '', priority = 0) {\n this.matches = matches;\n this.mediaQuery = mediaQuery;\n this.mqAlias = mqAlias;\n this.suffix = suffix;\n this.priority = priority;\n this.property = '';\n }\n /**\n * Create an exact copy of the MediaChange\n * @return {?}\n */\n clone() {\n return new MediaChange(this.matches, this.mediaQuery, this.mqAlias, this.suffix);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/stylesheet-map/stylesheet-map.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Utility to emulate a CSS stylesheet\n *\n * This utility class stores all of the styles for a given HTML element\n * as a readonly `stylesheet` map.\n */\nclass StylesheetMap {\n constructor() {\n this.stylesheet = new Map();\n }\n /**\n * Add an individual style to an HTML element\n * @param {?} element\n * @param {?} style\n * @param {?} value\n * @return {?}\n */\n addStyleToElement(element, style, value) {\n /** @type {?} */\n const stylesheet = this.stylesheet.get(element);\n if (stylesheet) {\n stylesheet.set(style, value);\n }\n else {\n this.stylesheet.set(element, new Map([[style, value]]));\n }\n }\n /**\n * Clear the virtual stylesheet\n * @return {?}\n */\n clearStyles() {\n this.stylesheet.clear();\n }\n /**\n * Retrieve a given style for an HTML element\n * @param {?} el\n * @param {?} styleName\n * @return {?}\n */\n getStyleForElement(el, styleName) {\n /** @type {?} */\n const styles = this.stylesheet.get(el);\n /** @type {?} */\n let value = '';\n if (styles) {\n /** @type {?} */\n const style = styles.get(styleName);\n if (typeof style === 'number' || typeof style === 'string') {\n value = style + '';\n }\n }\n return value;\n }\n}\nStylesheetMap.ɵfac = function StylesheetMap_Factory(t) { return new (t || StylesheetMap)(); };\n/** @nocollapse */ StylesheetMap.ɵprov = ɵɵdefineInjectable({ factory: function StylesheetMap_Factory() { return new StylesheetMap(); }, token: StylesheetMap, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StylesheetMap, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/stylesheet-map/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/tokens/library-config.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_CONFIG = {\n addFlexToParent: true,\n addOrientationBps: false,\n disableDefaultBps: false,\n disableVendorPrefixes: false,\n serverLoaded: false,\n useColumnBasisZero: true,\n printWithBreakpoints: [],\n mediaTriggerAutoRestore: true,\n ssrObserveBreakpoints: [],\n};\n/** @type {?} */\nconst LAYOUT_CONFIG = new InjectionToken('Flex Layout token, config options for the library', {\n providedIn: 'root',\n factory: (/**\n * @return {?}\n */\n () => DEFAULT_CONFIG)\n});\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/tokens/server-token.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Token that is provided to tell whether the FlexLayoutServerModule\n * has been included in the bundle\n *\n * NOTE: This can be manually provided to disable styles when using SSR\n * @type {?}\n */\nconst SERVER_TOKEN = new InjectionToken('FlexLayoutServerLoaded', {\n providedIn: 'root',\n factory: (/**\n * @return {?}\n */\n () => false)\n});\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/tokens/breakpoint-token.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst BREAKPOINT = new InjectionToken('Flex Layout token, collect all breakpoints into one provider', {\n providedIn: 'root',\n factory: (/**\n * @return {?}\n */\n () => null)\n});\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/tokens/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/add-alias.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * For the specified MediaChange, make sure it contains the breakpoint alias\n * and suffix (if available).\n * @param {?} dest\n * @param {?} source\n * @return {?}\n */\nfunction mergeAlias(dest, source) {\n dest = dest ? dest.clone() : new MediaChange();\n if (source) {\n dest.mqAlias = source.alias;\n dest.mediaQuery = source.mediaQuery;\n dest.suffix = (/** @type {?} */ (source.suffix));\n dest.priority = (/** @type {?} */ (source.priority));\n }\n return dest;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: utils/layout-validator.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @type {?}\n */\nconst INLINE = 'inline';\n/** @type {?} */\nconst LAYOUT_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'];\n/**\n * Validate the direction|'direction wrap' value and then update the host's inline flexbox styles\n * @param {?} value\n * @return {?}\n */\nfunction buildLayoutCSS(value) {\n let [direction, wrap, isInline] = validateValue(value);\n return buildCSS(direction, wrap, isInline);\n}\n/**\n * Validate the value to be one of the acceptable value options\n * Use default fallback of 'row'\n * @param {?} value\n * @return {?}\n */\nfunction validateValue(value) {\n value = value ? value.toLowerCase() : '';\n let [direction, wrap, inline] = value.split(' ');\n // First value must be the `flex-direction`\n if (!LAYOUT_VALUES.find((/**\n * @param {?} x\n * @return {?}\n */\n x => x === direction))) {\n direction = LAYOUT_VALUES[0];\n }\n if (wrap === INLINE) {\n wrap = (inline !== INLINE) ? inline : '';\n inline = INLINE;\n }\n return [direction, validateWrapValue(wrap), !!inline];\n}\n/**\n * Convert layout-wrap='' to expected flex-wrap style\n * @param {?} value\n * @return {?}\n */\nfunction validateWrapValue(value) {\n if (!!value) {\n switch (value.toLowerCase()) {\n case 'reverse':\n case 'wrap-reverse':\n case 'reverse-wrap':\n value = 'wrap-reverse';\n break;\n case 'no':\n case 'none':\n case 'nowrap':\n value = 'nowrap';\n break;\n // All other values fallback to 'wrap'\n default:\n value = 'wrap';\n break;\n }\n }\n return value;\n}\n/**\n * Build the CSS that should be assigned to the element instance\n * BUG:\n * 1) min-height on a column flex container won’t apply to its flex item children in IE 10-11.\n * Use height instead if possible; height : vh;\n *\n * This way any padding or border specified on the child elements are\n * laid out and drawn inside that element's specified width and height.\n * @param {?} direction\n * @param {?=} wrap\n * @param {?=} inline\n * @return {?}\n */\nfunction buildCSS(direction, wrap = null, inline = false) {\n return {\n 'display': inline ? 'inline-flex' : 'flex',\n 'box-sizing': 'border-box',\n 'flex-direction': direction,\n 'flex-wrap': !!wrap ? wrap : null\n };\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/base/base2.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass BaseDirective2 {\n /**\n * @protected\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n this.elementRef = elementRef;\n this.styleBuilder = styleBuilder;\n this.styler = styler;\n this.marshal = marshal;\n this.DIRECTIVE_KEY = '';\n this.inputs = [];\n /**\n * The most recently used styles for the builder\n */\n this.mru = {};\n this.destroySubject = new Subject();\n /**\n * Cache map for style computation\n */\n this.styleCache = new Map();\n }\n /**\n * Access to host element's parent DOM node\n * @protected\n * @return {?}\n */\n get parentElement() {\n return this.elementRef.nativeElement.parentElement;\n }\n /**\n * Access to the HTMLElement for the directive\n * @protected\n * @return {?}\n */\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n /**\n * Access to the activated value for the directive\n * @return {?}\n */\n get activatedValue() {\n return this.marshal.getValue(this.nativeElement, this.DIRECTIVE_KEY);\n }\n /**\n * @param {?} value\n * @return {?}\n */\n set activatedValue(value) {\n this.marshal.setValue(this.nativeElement, this.DIRECTIVE_KEY, value, this.marshal.activatedAlias);\n }\n /**\n * For \\@Input changes\n * @param {?} changes\n * @return {?}\n */\n ngOnChanges(changes) {\n Object.keys(changes).forEach((/**\n * @param {?} key\n * @return {?}\n */\n key => {\n if (this.inputs.indexOf(key) !== -1) {\n /** @type {?} */\n const bp = key.split('.').slice(1).join('.');\n /** @type {?} */\n const val = changes[key].currentValue;\n this.setValue(val, bp);\n }\n }));\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this.destroySubject.next();\n this.destroySubject.complete();\n this.marshal.releaseElement(this.nativeElement);\n }\n /**\n * Register with central marshaller service\n * @protected\n * @param {?=} extraTriggers\n * @return {?}\n */\n init(extraTriggers = []) {\n this.marshal.init(this.elementRef.nativeElement, this.DIRECTIVE_KEY, this.updateWithValue.bind(this), this.clearStyles.bind(this), extraTriggers);\n }\n /**\n * Add styles to the element using predefined style builder\n * @protected\n * @param {?} input\n * @param {?=} parent\n * @return {?}\n */\n addStyles(input, parent) {\n /** @type {?} */\n const builder = this.styleBuilder;\n /** @type {?} */\n const useCache = builder.shouldCache;\n /** @type {?} */\n let genStyles = this.styleCache.get(input);\n if (!genStyles || !useCache) {\n genStyles = builder.buildStyles(input, parent);\n if (useCache) {\n this.styleCache.set(input, genStyles);\n }\n }\n this.mru = Object.assign({}, genStyles);\n this.applyStyleToElement(genStyles);\n builder.sideEffect(input, genStyles, parent);\n }\n /**\n * Remove generated styles from an element using predefined style builder\n * @protected\n * @return {?}\n */\n clearStyles() {\n Object.keys(this.mru).forEach((/**\n * @param {?} k\n * @return {?}\n */\n k => {\n this.mru[k] = '';\n }));\n this.applyStyleToElement(this.mru);\n this.mru = {};\n }\n /**\n * Force trigger style updates on DOM element\n * @protected\n * @return {?}\n */\n triggerUpdate() {\n this.marshal.triggerUpdate(this.nativeElement, this.DIRECTIVE_KEY);\n }\n /**\n * Determine the DOM element's Flexbox flow (flex-direction).\n *\n * Check inline style first then check computed (stylesheet) style.\n * And optionally add the flow value to element's inline style.\n * @protected\n * @param {?} target\n * @param {?=} addIfMissing\n * @return {?}\n */\n getFlexFlowDirection(target, addIfMissing = false) {\n if (target) {\n const [value, hasInlineValue] = this.styler.getFlowDirection(target);\n if (!hasInlineValue && addIfMissing) {\n /** @type {?} */\n const style = buildLayoutCSS(value);\n /** @type {?} */\n const elements = [target];\n this.styler.applyStyleToElements(style, elements);\n }\n return value.trim();\n }\n return 'row';\n }\n /**\n * @protected\n * @param {?} target\n * @return {?}\n */\n hasWrap(target) {\n return this.styler.hasWrap(target);\n }\n /**\n * Applies styles given via string pair or object map to the directive element\n * @protected\n * @param {?} style\n * @param {?=} value\n * @param {?=} element\n * @return {?}\n */\n applyStyleToElement(style, value, element = this.nativeElement) {\n this.styler.applyStyleToElement(element, style, value);\n }\n /**\n * @protected\n * @param {?} val\n * @param {?} bp\n * @return {?}\n */\n setValue(val, bp) {\n this.marshal.setValue(this.nativeElement, this.DIRECTIVE_KEY, val, bp);\n }\n /**\n * @protected\n * @param {?} input\n * @return {?}\n */\n updateWithValue(input) {\n if (this.currentValue !== input) {\n this.addStyles(input);\n this.currentValue = input;\n }\n }\n}\nBaseDirective2.ɵfac = function BaseDirective2_Factory(t) { ɵngcc0.ɵɵinvalidFactory(); };\nBaseDirective2.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: BaseDirective2, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/base/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/data/break-points.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * NOTE: Smaller ranges have HIGHER priority since the match is more specific\n * @type {?}\n */\nconst DEFAULT_BREAKPOINTS = [\n {\n alias: 'xs',\n mediaQuery: 'screen and (min-width: 0px) and (max-width: 599.98px)',\n priority: 1000,\n },\n {\n alias: 'sm',\n mediaQuery: 'screen and (min-width: 600px) and (max-width: 959.98px)',\n priority: 900,\n },\n {\n alias: 'md',\n mediaQuery: 'screen and (min-width: 960px) and (max-width: 1279.98px)',\n priority: 800,\n },\n {\n alias: 'lg',\n mediaQuery: 'screen and (min-width: 1280px) and (max-width: 1919.98px)',\n priority: 700,\n },\n {\n alias: 'xl',\n mediaQuery: 'screen and (min-width: 1920px) and (max-width: 4999.98px)',\n priority: 600,\n },\n {\n alias: 'lt-sm',\n overlapping: true,\n mediaQuery: 'screen and (max-width: 599.98px)',\n priority: 950,\n },\n {\n alias: 'lt-md',\n overlapping: true,\n mediaQuery: 'screen and (max-width: 959.98px)',\n priority: 850,\n },\n {\n alias: 'lt-lg',\n overlapping: true,\n mediaQuery: 'screen and (max-width: 1279.98px)',\n priority: 750,\n },\n {\n alias: 'lt-xl',\n overlapping: true,\n priority: 650,\n mediaQuery: 'screen and (max-width: 1919.98px)',\n },\n {\n alias: 'gt-xs',\n overlapping: true,\n mediaQuery: 'screen and (min-width: 600px)',\n priority: -950,\n },\n {\n alias: 'gt-sm',\n overlapping: true,\n mediaQuery: 'screen and (min-width: 960px)',\n priority: -850,\n }, {\n alias: 'gt-md',\n overlapping: true,\n mediaQuery: 'screen and (min-width: 1280px)',\n priority: -750,\n },\n {\n alias: 'gt-lg',\n overlapping: true,\n mediaQuery: 'screen and (min-width: 1920px)',\n priority: -650,\n }\n];\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/data/orientation-break-points.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/* tslint:disable */\n/** @type {?} */\nconst HANDSET_PORTRAIT = '(orientation: portrait) and (max-width: 599.98px)';\n/** @type {?} */\nconst HANDSET_LANDSCAPE = '(orientation: landscape) and (max-width: 959.98px)';\n/** @type {?} */\nconst TABLET_PORTRAIT = '(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)';\n/** @type {?} */\nconst TABLET_LANDSCAPE = '(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)';\n/** @type {?} */\nconst WEB_PORTRAIT = '(orientation: portrait) and (min-width: 840px)';\n/** @type {?} */\nconst WEB_LANDSCAPE = '(orientation: landscape) and (min-width: 1280px)';\n/** @type {?} */\nconst ScreenTypes = {\n 'HANDSET': `${HANDSET_PORTRAIT}, ${HANDSET_LANDSCAPE}`,\n 'TABLET': `${TABLET_PORTRAIT} , ${TABLET_LANDSCAPE}`,\n 'WEB': `${WEB_PORTRAIT}, ${WEB_LANDSCAPE} `,\n 'HANDSET_PORTRAIT': `${HANDSET_PORTRAIT}`,\n 'TABLET_PORTRAIT': `${TABLET_PORTRAIT} `,\n 'WEB_PORTRAIT': `${WEB_PORTRAIT}`,\n 'HANDSET_LANDSCAPE': `${HANDSET_LANDSCAPE}`,\n 'TABLET_LANDSCAPE': `${TABLET_LANDSCAPE}`,\n 'WEB_LANDSCAPE': `${WEB_LANDSCAPE}`\n};\n/**\n * Extended Breakpoints for handset/tablets with landscape or portrait orientations\n * @type {?}\n */\nconst ORIENTATION_BREAKPOINTS = [\n { 'alias': 'handset', priority: 2000, 'mediaQuery': ScreenTypes.HANDSET },\n { 'alias': 'handset.landscape', priority: 2000, 'mediaQuery': ScreenTypes.HANDSET_LANDSCAPE },\n { 'alias': 'handset.portrait', priority: 2000, 'mediaQuery': ScreenTypes.HANDSET_PORTRAIT },\n { 'alias': 'tablet', priority: 2100, 'mediaQuery': ScreenTypes.TABLET },\n { 'alias': 'tablet.landscape', priority: 2100, 'mediaQuery': ScreenTypes.TABLET_LANDSCAPE },\n { 'alias': 'tablet.portrait', priority: 2100, 'mediaQuery': ScreenTypes.TABLET_PORTRAIT },\n { 'alias': 'web', priority: 2200, 'mediaQuery': ScreenTypes.WEB, overlapping: true },\n { 'alias': 'web.landscape', priority: 2200, 'mediaQuery': ScreenTypes.WEB_LANDSCAPE, overlapping: true },\n { 'alias': 'web.portrait', priority: 2200, 'mediaQuery': ScreenTypes.WEB_PORTRAIT, overlapping: true }\n];\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/break-point.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: utils/object-extend.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * Extends an object with the *enumerable* and *own* properties of one or more source objects,\n * similar to Object.assign.\n *\n * @param {?} dest The object which will have properties copied to it.\n * @param {...?} sources The source objects from which properties will be copied.\n * @return {?}\n */\nfunction extendObject(dest, ...sources) {\n if (dest == null) {\n throw TypeError('Cannot convert undefined or null to object');\n }\n for (let source of sources) {\n if (source != null) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n dest[key] = source[key];\n }\n }\n }\n }\n return dest;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/breakpoint-tools.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst ALIAS_DELIMITERS = /(\\.|-|_)/g;\n/**\n * @param {?} part\n * @return {?}\n */\nfunction firstUpperCase(part) {\n /** @type {?} */\n let first = part.length > 0 ? part.charAt(0) : '';\n /** @type {?} */\n let remainder = (part.length > 1) ? part.slice(1) : '';\n return first.toUpperCase() + remainder;\n}\n/**\n * Converts snake-case to SnakeCase.\n * @param {?} name Text to UpperCamelCase\n * @return {?}\n */\nfunction camelCase(name) {\n return name\n .replace(ALIAS_DELIMITERS, '|')\n .split('|')\n .map(firstUpperCase)\n .join('');\n}\n/**\n * For each breakpoint, ensure that a Suffix is defined;\n * fallback to UpperCamelCase the unique Alias value\n * @param {?} list\n * @return {?}\n */\nfunction validateSuffixes(list) {\n list.forEach((/**\n * @param {?} bp\n * @return {?}\n */\n (bp) => {\n if (!bp.suffix) {\n bp.suffix = camelCase(bp.alias); // create Suffix value based on alias\n bp.overlapping = !!bp.overlapping; // ensure default value\n }\n }));\n return list;\n}\n/**\n * Merge a custom breakpoint list with the default list based on unique alias values\n * - Items are added if the alias is not in the default list\n * - Items are merged with the custom override if the alias exists in the default list\n * @param {?} defaults\n * @param {?=} custom\n * @return {?}\n */\nfunction mergeByAlias(defaults, custom = []) {\n /** @type {?} */\n const dict = {};\n defaults.forEach((/**\n * @param {?} bp\n * @return {?}\n */\n bp => {\n dict[bp.alias] = bp;\n }));\n // Merge custom breakpoints\n custom.forEach((/**\n * @param {?} bp\n * @return {?}\n */\n (bp) => {\n if (dict[bp.alias]) {\n extendObject(dict[bp.alias], bp);\n }\n else {\n dict[bp.alias] = bp;\n }\n }));\n return validateSuffixes(Object.keys(dict).map((/**\n * @param {?} k\n * @return {?}\n */\n k => dict[k])));\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/break-points-token.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Injection token unique to the flex-layout library.\n * Use this token when build a custom provider (see below).\n * @type {?}\n */\nconst BREAKPOINTS = new InjectionToken('Token (@angular/flex-layout) Breakpoints', {\n providedIn: 'root',\n factory: (/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n const breakpoints = inject(BREAKPOINT);\n /** @type {?} */\n const layoutConfig = inject(LAYOUT_CONFIG);\n /** @type {?} */\n const bpFlattenArray = [].concat.apply([], (breakpoints || [])\n .map((/**\n * @param {?} v\n * @return {?}\n */\n (v) => Array.isArray(v) ? v : [v])));\n /** @type {?} */\n const builtIns = (layoutConfig.disableDefaultBps ? [] : DEFAULT_BREAKPOINTS)\n .concat(layoutConfig.addOrientationBps ? ORIENTATION_BREAKPOINTS : []);\n return mergeByAlias(builtIns, bpFlattenArray);\n })\n});\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/utils/sort.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * HOF to sort the breakpoints by descending priority\n * @template T\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction sortDescendingPriority(a, b) {\n /** @type {?} */\n const priorityA = a ? a.priority || 0 : 0;\n /** @type {?} */\n const priorityB = b ? b.priority || 0 : 0;\n return priorityB - priorityA;\n}\n/**\n * HOF to sort the breakpoints by ascending priority\n * @template T\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction sortAscendingPriority(a, b) {\n /** @type {?} */\n const pA = a.priority || 0;\n /** @type {?} */\n const pB = b.priority || 0;\n return pA - pB;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/break-point-registry.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Registry of 1..n MediaQuery breakpoint ranges\n * This is published as a provider and may be overridden from custom, application-specific ranges\n *\n */\nclass BreakPointRegistry {\n /**\n * @param {?} list\n */\n constructor(list) {\n /**\n * Memoized BreakPoint Lookups\n */\n this.findByMap = new Map();\n this.items = [...list].sort(sortAscendingPriority);\n }\n /**\n * Search breakpoints by alias (e.g. gt-xs)\n * @param {?} alias\n * @return {?}\n */\n findByAlias(alias) {\n return !alias ? null : this.findWithPredicate(alias, (/**\n * @param {?} bp\n * @return {?}\n */\n (bp) => bp.alias == alias));\n }\n /**\n * @param {?} query\n * @return {?}\n */\n findByQuery(query) {\n return this.findWithPredicate(query, (/**\n * @param {?} bp\n * @return {?}\n */\n (bp) => bp.mediaQuery == query));\n }\n /**\n * Get all the breakpoints whose ranges could overlapping `normal` ranges;\n * e.g. gt-sm overlaps md, lg, and xl\n * @return {?}\n */\n get overlappings() {\n return this.items.filter((/**\n * @param {?} it\n * @return {?}\n */\n it => it.overlapping == true));\n }\n /**\n * Get list of all registered (non-empty) breakpoint aliases\n * @return {?}\n */\n get aliases() {\n return this.items.map((/**\n * @param {?} it\n * @return {?}\n */\n it => it.alias));\n }\n /**\n * Aliases are mapped to properties using suffixes\n * e.g. 'gt-sm' for property 'layout' uses suffix 'GtSm'\n * for property layoutGtSM.\n * @return {?}\n */\n get suffixes() {\n return this.items.map((/**\n * @param {?} it\n * @return {?}\n */\n it => !!it.suffix ? it.suffix : ''));\n }\n /**\n * Memoized lookup using custom predicate function\n * @private\n * @param {?} key\n * @param {?} searchFn\n * @return {?}\n */\n findWithPredicate(key, searchFn) {\n /** @type {?} */\n let response = this.findByMap.get(key);\n if (!response) {\n response = this.items.find(searchFn) || null;\n this.findByMap.set(key, response);\n }\n return response || null;\n }\n}\nBreakPointRegistry.ɵfac = function BreakPointRegistry_Factory(t) { return new (t || BreakPointRegistry)(ɵngcc0.ɵɵinject(BREAKPOINTS)); };\n/** @nocollapse */ BreakPointRegistry.ɵprov = ɵɵdefineInjectable({ factory: function BreakPointRegistry_Factory() { return new BreakPointRegistry(ɵɵinject(BREAKPOINTS)); }, token: BreakPointRegistry, providedIn: \"root\" });\n/** @nocollapse */\nBreakPointRegistry.ctorParameters = () => [\n { type: Array, decorators: [{ type: Inject, args: [BREAKPOINTS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BreakPointRegistry, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Array, decorators: [{\n type: Inject,\n args: [BREAKPOINTS]\n }] }]; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/breakpoints/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/match-media/match-media.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * MediaMonitor configures listeners to mediaQuery changes and publishes an Observable facade to\n * convert mediaQuery change callbacks to subscriber notifications. These notifications will be\n * performed within the ng Zone to trigger change detections and component updates.\n *\n * NOTE: both mediaQuery activations and de-activations are announced in notifications\n */\nclass MatchMedia {\n /**\n * @param {?} _zone\n * @param {?} _platformId\n * @param {?} _document\n */\n constructor(_zone, _platformId, _document) {\n this._zone = _zone;\n this._platformId = _platformId;\n this._document = _document;\n /**\n * Initialize source with 'all' so all non-responsive APIs trigger style updates\n */\n this.source = new BehaviorSubject(new MediaChange(true));\n this.registry = new Map();\n this.pendingRemoveListenerFns = [];\n this._observable$ = this.source.asObservable();\n }\n /**\n * Publish list of all current activations\n * @return {?}\n */\n get activations() {\n /** @type {?} */\n const results = [];\n this.registry.forEach((/**\n * @param {?} mql\n * @param {?} key\n * @return {?}\n */\n (mql, key) => {\n if (mql.matches) {\n results.push(key);\n }\n }));\n return results;\n }\n /**\n * For the specified mediaQuery?\n * @param {?} mediaQuery\n * @return {?}\n */\n isActive(mediaQuery) {\n /** @type {?} */\n const mql = this.registry.get(mediaQuery);\n return !!mql ? mql.matches : this.registerQuery(mediaQuery).some((/**\n * @param {?} m\n * @return {?}\n */\n m => m.matches));\n }\n /**\n * External observers can watch for all (or a specific) mql changes.\n * Typically used by the MediaQueryAdaptor; optionally available to components\n * who wish to use the MediaMonitor as mediaMonitor$ observable service.\n *\n * Use deferred registration process to register breakpoints only on subscription\n * This logic also enforces logic to register all mediaQueries BEFORE notify\n * subscribers of notifications.\n * @param {?=} mqList\n * @param {?=} filterOthers\n * @return {?}\n */\n observe(mqList, filterOthers = false) {\n if (mqList && mqList.length) {\n /** @type {?} */\n const matchMedia$ = this._observable$.pipe(filter((/**\n * @param {?} change\n * @return {?}\n */\n (change) => !filterOthers ? true : (mqList.indexOf(change.mediaQuery) > -1))));\n /** @type {?} */\n const registration$ = new Observable((/**\n * @param {?} observer\n * @return {?}\n */\n (observer) => {\n // tslint:disable-line:max-line-length\n /** @type {?} */\n const matches = this.registerQuery(mqList);\n if (matches.length) {\n /** @type {?} */\n const lastChange = (/** @type {?} */ (matches.pop()));\n matches.forEach((/**\n * @param {?} e\n * @return {?}\n */\n (e) => {\n observer.next(e);\n }));\n this.source.next(lastChange); // last match is cached\n }\n observer.complete();\n }));\n return merge(registration$, matchMedia$);\n }\n return this._observable$;\n }\n /**\n * Based on the BreakPointRegistry provider, register internal listeners for each unique\n * mediaQuery. Each listener emits specific MediaChange data to observers\n * @param {?} mediaQuery\n * @return {?}\n */\n registerQuery(mediaQuery) {\n /** @type {?} */\n const list = Array.isArray(mediaQuery) ? mediaQuery : [mediaQuery];\n /** @type {?} */\n const matches = [];\n buildQueryCss(list, this._document);\n list.forEach((/**\n * @param {?} query\n * @return {?}\n */\n (query) => {\n /** @type {?} */\n const onMQLEvent = (/**\n * @param {?} e\n * @return {?}\n */\n (e) => {\n this._zone.run((/**\n * @return {?}\n */\n () => this.source.next(new MediaChange(e.matches, query))));\n });\n /** @type {?} */\n let mql = this.registry.get(query);\n if (!mql) {\n mql = this.buildMQL(query);\n mql.addListener(onMQLEvent);\n this.pendingRemoveListenerFns.push((/**\n * @return {?}\n */\n () => (/** @type {?} */ (mql)).removeListener(onMQLEvent)));\n this.registry.set(query, mql);\n }\n if (mql.matches) {\n matches.push(new MediaChange(true, query));\n }\n }));\n return matches;\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n /** @type {?} */\n let fn;\n while (fn = this.pendingRemoveListenerFns.pop()) {\n fn();\n }\n }\n /**\n * Call window.matchMedia() to build a MediaQueryList; which\n * supports 0..n listeners for activation/deactivation\n * @protected\n * @param {?} query\n * @return {?}\n */\n buildMQL(query) {\n return constructMql(query, isPlatformBrowser(this._platformId));\n }\n}\nMatchMedia.ɵfac = function MatchMedia_Factory(t) { return new (t || MatchMedia)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(PLATFORM_ID), ɵngcc0.ɵɵinject(DOCUMENT)); };\n/** @nocollapse */ MatchMedia.ɵprov = ɵɵdefineInjectable({ factory: function MatchMedia_Factory() { return new MatchMedia(ɵɵinject(NgZone), ɵɵinject(PLATFORM_ID), ɵɵinject(DOCUMENT)); }, token: MatchMedia, providedIn: \"root\" });\n/** @nocollapse */\nMatchMedia.ctorParameters = () => [\n { type: NgZone },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatchMedia, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/**\n * Private global registry for all dynamically-created, injected style tags\n * @see prepare(query)\n * @type {?}\n */\nconst ALL_STYLES = {};\n/**\n * For Webkit engines that only trigger the MediaQueryList Listener\n * when there is at least one CSS selector for the respective media query.\n *\n * @param {?} mediaQueries\n * @param {?} _document\n * @return {?}\n */\nfunction buildQueryCss(mediaQueries, _document) {\n /** @type {?} */\n const list = mediaQueries.filter((/**\n * @param {?} it\n * @return {?}\n */\n it => !ALL_STYLES[it]));\n if (list.length > 0) {\n /** @type {?} */\n const query = list.join(', ');\n try {\n /** @type {?} */\n const styleEl = _document.createElement('style');\n styleEl.setAttribute('type', 'text/css');\n if (!((/** @type {?} */ (styleEl))).styleSheet) {\n /** @type {?} */\n const cssText = `\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ${query} {.fx-query-test{ }}\n`;\n styleEl.appendChild(_document.createTextNode(cssText));\n }\n (/** @type {?} */ (_document.head)).appendChild(styleEl);\n // Store in private global registry\n list.forEach((/**\n * @param {?} mq\n * @return {?}\n */\n mq => ALL_STYLES[mq] = styleEl));\n }\n catch (e) {\n console.error(e);\n }\n }\n}\n/**\n * @param {?} query\n * @param {?} isBrowser\n * @return {?}\n */\nfunction constructMql(query, isBrowser) {\n /** @type {?} */\n const canListen = isBrowser && !!((/** @type {?} */ (window))).matchMedia('all').addListener;\n return canListen ? ((/** @type {?} */ (window))).matchMedia(query) : (/** @type {?} */ ({\n matches: query === 'all' || query === '',\n media: query,\n addListener: (/**\n * @return {?}\n */\n () => {\n }),\n removeListener: (/**\n * @return {?}\n */\n () => {\n }),\n onchange: null,\n /**\n * @return {?}\n */\n addEventListener() {\n },\n /**\n * @return {?}\n */\n removeEventListener() {\n },\n /**\n * @return {?}\n */\n dispatchEvent() {\n return false;\n }\n }));\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/match-media/mock/mock-match-media.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * MockMatchMedia mocks calls to the Window API matchMedia with a build of a simulated\n * MockMediaQueryListener. Methods are available to simulate an activation of a mediaQuery\n * range and to clearAll mediaQuery listeners.\n */\nclass MockMatchMedia extends MatchMedia {\n // Allow fallback to overlapping mediaQueries\n /**\n * @param {?} _zone\n * @param {?} _platformId\n * @param {?} _document\n * @param {?} _breakpoints\n */\n constructor(_zone, _platformId, _document, _breakpoints) {\n super(_zone, _platformId, _document);\n this._breakpoints = _breakpoints;\n this.autoRegisterQueries = true; // Used for testing BreakPoint registrations\n // Used for testing BreakPoint registrations\n this.useOverlaps = false; // Allow fallback to overlapping mediaQueries\n }\n /**\n * Easy method to clear all listeners for all mediaQueries\n * @return {?}\n */\n clearAll() {\n this.registry.forEach((/**\n * @param {?} mql\n * @return {?}\n */\n (mql) => {\n ((/** @type {?} */ (mql))).destroy();\n }));\n this.registry.clear();\n this.useOverlaps = false;\n }\n /**\n * Feature to support manual, simulated activation of a mediaQuery.\n * @param {?} mediaQuery\n * @param {?=} useOverlaps\n * @return {?}\n */\n activate(mediaQuery, useOverlaps = false) {\n useOverlaps = useOverlaps || this.useOverlaps;\n mediaQuery = this._validateQuery(mediaQuery);\n if (useOverlaps || !this.isActive(mediaQuery)) {\n this._deactivateAll();\n this._registerMediaQuery(mediaQuery);\n this._activateWithOverlaps(mediaQuery, useOverlaps);\n }\n return this.hasActivated;\n }\n /**\n * Converts an optional mediaQuery alias to a specific, valid mediaQuery\n * @param {?} queryOrAlias\n * @return {?}\n */\n _validateQuery(queryOrAlias) {\n /** @type {?} */\n const bp = this._breakpoints.findByAlias(queryOrAlias);\n return (bp && bp.mediaQuery) || queryOrAlias;\n }\n /**\n * Manually onMediaChange any overlapping mediaQueries to simulate\n * similar functionality in the window.matchMedia()\n * @private\n * @param {?} mediaQuery\n * @param {?} useOverlaps\n * @return {?}\n */\n _activateWithOverlaps(mediaQuery, useOverlaps) {\n if (useOverlaps) {\n /** @type {?} */\n const bp = this._breakpoints.findByQuery(mediaQuery);\n /** @type {?} */\n const alias = bp ? bp.alias : 'unknown';\n // Simulate activation of overlapping lt- ranges\n switch (alias) {\n case 'lg':\n this._activateByAlias(['lt-xl']);\n break;\n case 'md':\n this._activateByAlias(['lt-xl', 'lt-lg']);\n break;\n case 'sm':\n this._activateByAlias(['lt-xl', 'lt-lg', 'lt-md']);\n break;\n case 'xs':\n this._activateByAlias(['lt-xl', 'lt-lg', 'lt-md', 'lt-sm']);\n break;\n }\n // Simulate activation of overlapping gt- mediaQuery ranges\n switch (alias) {\n case 'xl':\n this._activateByAlias(['gt-lg', 'gt-md', 'gt-sm', 'gt-xs']);\n break;\n case 'lg':\n this._activateByAlias(['gt-md', 'gt-sm', 'gt-xs']);\n break;\n case 'md':\n this._activateByAlias(['gt-sm', 'gt-xs']);\n break;\n case 'sm':\n this._activateByAlias(['gt-xs']);\n break;\n }\n }\n // Activate last since the responsiveActivation is watching *this* mediaQuery\n return this._activateByQuery(mediaQuery);\n }\n /**\n *\n * @private\n * @param {?} aliases\n * @return {?}\n */\n _activateByAlias(aliases) {\n /** @type {?} */\n const activate = (/**\n * @param {?} alias\n * @return {?}\n */\n (alias) => {\n /** @type {?} */\n const bp = this._breakpoints.findByAlias(alias);\n this._activateByQuery(bp ? bp.mediaQuery : alias);\n });\n aliases.forEach(activate);\n }\n /**\n *\n * @private\n * @param {?} mediaQuery\n * @return {?}\n */\n _activateByQuery(mediaQuery) {\n if (!this.registry.has(mediaQuery) && this.autoRegisterQueries) {\n this._registerMediaQuery(mediaQuery);\n }\n /** @type {?} */\n const mql = (/** @type {?} */ (this.registry.get(mediaQuery)));\n if (mql && !this.isActive(mediaQuery)) {\n this.registry.set(mediaQuery, mql.activate());\n }\n return this.hasActivated;\n }\n /**\n * Deactivate all current MQLs and reset the buffer\n * @private\n * @template THIS\n * @this {THIS}\n * @return {THIS}\n */\n _deactivateAll() {\n (/** @type {?} */ (this)).registry.forEach((/**\n * @param {?} it\n * @return {?}\n */\n (it) => {\n ((/** @type {?} */ (it))).deactivate();\n }));\n return (/** @type {?} */ (this));\n }\n /**\n * Insure the mediaQuery is registered with MatchMedia\n * @private\n * @param {?} mediaQuery\n * @return {?}\n */\n _registerMediaQuery(mediaQuery) {\n if (!this.registry.has(mediaQuery) && this.autoRegisterQueries) {\n this.registerQuery(mediaQuery);\n }\n }\n /**\n * Call window.matchMedia() to build a MediaQueryList; which\n * supports 0..n listeners for activation/deactivation\n * @protected\n * @param {?} query\n * @return {?}\n */\n buildMQL(query) {\n return new MockMediaQueryList(query);\n }\n /**\n * @protected\n * @return {?}\n */\n get hasActivated() {\n return this.activations.length > 0;\n }\n}\nMockMatchMedia.ɵfac = function MockMatchMedia_Factory(t) { return new (t || MockMatchMedia)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(PLATFORM_ID), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(BreakPointRegistry)); };\nMockMatchMedia.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MockMatchMedia, factory: MockMatchMedia.ɵfac });\n/** @nocollapse */\nMockMatchMedia.ctorParameters = () => [\n { type: NgZone },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: BreakPointRegistry }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MockMatchMedia, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: BreakPointRegistry }]; }, null); })();\n/**\n * Special internal class to simulate a MediaQueryList and\n * - supports manual activation to simulate mediaQuery matching\n * - manages listeners\n */\nclass MockMediaQueryList {\n /**\n * @param {?} _mediaQuery\n */\n constructor(_mediaQuery) {\n this._mediaQuery = _mediaQuery;\n this._isActive = false;\n this._listeners = [];\n this.onchange = null;\n }\n /**\n * @return {?}\n */\n get matches() {\n return this._isActive;\n }\n /**\n * @return {?}\n */\n get media() {\n return this._mediaQuery;\n }\n /**\n * Destroy the current list by deactivating the\n * listeners and clearing the internal list\n * @return {?}\n */\n destroy() {\n this.deactivate();\n this._listeners = [];\n }\n /**\n * Notify all listeners that 'matches === TRUE'\n * @return {?}\n */\n activate() {\n if (!this._isActive) {\n this._isActive = true;\n this._listeners.forEach((/**\n * @param {?} callback\n * @return {?}\n */\n (callback) => {\n /** @type {?} */\n const cb = (/** @type {?} */ (callback));\n cb.call(this, (/** @type {?} */ ({ matches: this.matches, media: this.media })));\n }));\n }\n return this;\n }\n /**\n * Notify all listeners that 'matches === false'\n * @return {?}\n */\n deactivate() {\n if (this._isActive) {\n this._isActive = false;\n this._listeners.forEach((/**\n * @param {?} callback\n * @return {?}\n */\n (callback) => {\n /** @type {?} */\n const cb = (/** @type {?} */ (callback));\n cb.call(this, (/** @type {?} */ ({ matches: this.matches, media: this.media })));\n }));\n }\n return this;\n }\n /**\n * Add a listener to our internal list to activate later\n * @param {?} listener\n * @return {?}\n */\n addListener(listener) {\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n if (this._isActive) {\n /** @type {?} */\n const cb = (/** @type {?} */ (listener));\n cb.call(this, (/** @type {?} */ ({ matches: this.matches, media: this.media })));\n }\n }\n /**\n * Don't need to remove listeners in the testing environment\n * @param {?} _\n * @return {?}\n */\n removeListener(_) {\n }\n /**\n * @param {?} _\n * @param {?} __\n * @param {?=} ___\n * @return {?}\n */\n addEventListener(_, __, ___) {\n }\n /**\n * @param {?} _\n * @param {?} __\n * @param {?=} ___\n * @return {?}\n */\n removeEventListener(_, __, ___) {\n }\n /**\n * @param {?} _\n * @return {?}\n */\n dispatchEvent(_) {\n return false;\n }\n}\n/**\n * Pre-configured provider for MockMatchMedia\n * @type {?}\n */\nconst MockMatchMediaProvider = {\n // tslint:disable-line:variable-name\n provide: MatchMedia,\n useClass: MockMatchMedia\n};\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/match-media/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-marshaller/print-hook.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst PRINT = 'print';\n/** @type {?} */\nconst BREAKPOINT_PRINT = {\n alias: PRINT,\n mediaQuery: PRINT,\n priority: 1000\n};\n/**\n * PrintHook - Use to intercept print MediaQuery activations and force\n * layouts to render with the specified print alias/breakpoint\n *\n * Used in MediaMarshaller and MediaObserver\n */\nclass PrintHook {\n /**\n * @param {?} breakpoints\n * @param {?} layoutConfig\n * @param {?} _document\n */\n constructor(breakpoints, layoutConfig, _document) {\n this.breakpoints = breakpoints;\n this.layoutConfig = layoutConfig;\n this._document = _document;\n // registeredBeforeAfterPrintHooks tracks if we registered the `beforeprint`\n // and `afterprint` event listeners.\n this.registeredBeforeAfterPrintHooks = false;\n // isPrintingBeforeAfterEvent is used to track if we are printing from within\n // a `beforeprint` event handler. This prevents the typicall `stopPrinting`\n // form `interceptEvents` so that printing is not stopped while the dialog\n // is still open. This is an extension of the `isPrinting` property on\n // browsers which support `beforeprint` and `afterprint` events.\n this.isPrintingBeforeAfterEvent = false;\n this.beforePrintEventListeners = [];\n this.afterPrintEventListeners = [];\n /**\n * Is this service currently in Print-mode ?\n */\n this.isPrinting = false;\n this.queue = new PrintQueue();\n this.deactivations = [];\n }\n /**\n * Add 'print' mediaQuery: to listen for matchMedia activations\n * @param {?} queries\n * @return {?}\n */\n withPrintQuery(queries) {\n return [...queries, PRINT];\n }\n /**\n * Is the MediaChange event for any 'print' \\@media\n * @param {?} e\n * @return {?}\n */\n isPrintEvent(e) {\n return e.mediaQuery.startsWith(PRINT);\n }\n /**\n * What is the desired mqAlias to use while printing?\n * @return {?}\n */\n get printAlias() {\n return this.layoutConfig.printWithBreakpoints || [];\n }\n /**\n * Lookup breakpoints associated with print aliases.\n * @return {?}\n */\n get printBreakPoints() {\n return (/** @type {?} */ (this.printAlias\n .map((/**\n * @param {?} alias\n * @return {?}\n */\n alias => this.breakpoints.findByAlias(alias)))\n .filter((/**\n * @param {?} bp\n * @return {?}\n */\n bp => bp !== null))));\n }\n /**\n * Lookup breakpoint associated with mediaQuery\n * @param {?} __0\n * @return {?}\n */\n getEventBreakpoints({ mediaQuery }) {\n /** @type {?} */\n const bp = this.breakpoints.findByQuery(mediaQuery);\n /** @type {?} */\n const list = bp ? [...this.printBreakPoints, bp] : this.printBreakPoints;\n return list.sort(sortDescendingPriority);\n }\n /**\n * Update event with printAlias mediaQuery information\n * @param {?} event\n * @return {?}\n */\n updateEvent(event) {\n /** @type {?} */\n let bp = this.breakpoints.findByQuery(event.mediaQuery);\n if (this.isPrintEvent(event)) {\n // Reset from 'print' to first (highest priority) print breakpoint\n bp = this.getEventBreakpoints(event)[0];\n event.mediaQuery = bp ? bp.mediaQuery : '';\n }\n return mergeAlias(event, bp);\n }\n // registerBeforeAfterPrintHooks registers a `beforeprint` event hook so we can\n // trigger print styles synchronously and apply proper layout styles.\n // It is a noop if the hooks have already been registered or if the document's\n // `defaultView` is not available.\n /**\n * @private\n * @param {?} target\n * @return {?}\n */\n registerBeforeAfterPrintHooks(target) {\n // `defaultView` may be null when rendering on the server or in other contexts.\n if (!this._document.defaultView || this.registeredBeforeAfterPrintHooks) {\n return;\n }\n this.registeredBeforeAfterPrintHooks = true;\n /** @type {?} */\n const beforePrintListener = (/**\n * @return {?}\n */\n () => {\n // If we aren't already printing, start printing and update the styles as\n // if there was a regular print `MediaChange`(from matchMedia).\n if (!this.isPrinting) {\n this.isPrintingBeforeAfterEvent = true;\n this.startPrinting(target, this.getEventBreakpoints(new MediaChange(true, PRINT)));\n target.updateStyles();\n }\n });\n /** @type {?} */\n const afterPrintListener = (/**\n * @return {?}\n */\n () => {\n // If we aren't already printing, start printing and update the styles as\n // if there was a regular print `MediaChange`(from matchMedia).\n this.isPrintingBeforeAfterEvent = false;\n if (this.isPrinting) {\n this.stopPrinting(target);\n target.updateStyles();\n }\n });\n // Could we have teardown logic to remove if there are no print listeners being used?\n this._document.defaultView.addEventListener('beforeprint', beforePrintListener);\n this._document.defaultView.addEventListener('afterprint', afterPrintListener);\n this.beforePrintEventListeners.push(beforePrintListener);\n this.afterPrintEventListeners.push(afterPrintListener);\n }\n /**\n * Prepare RxJS filter operator with partial application\n * @param {?} target\n * @return {?} pipeable filter predicate\n */\n interceptEvents(target) {\n this.registerBeforeAfterPrintHooks(target);\n return (/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n if (this.isPrintEvent(event)) {\n if (event.matches && !this.isPrinting) {\n this.startPrinting(target, this.getEventBreakpoints(event));\n target.updateStyles();\n }\n else if (!event.matches && this.isPrinting && !this.isPrintingBeforeAfterEvent) {\n this.stopPrinting(target);\n target.updateStyles();\n }\n }\n else {\n this.collectActivations(event);\n }\n });\n }\n /**\n * Stop mediaChange event propagation in event streams\n * @return {?}\n */\n blockPropagation() {\n return (/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n return !(this.isPrinting || this.isPrintEvent(event));\n });\n }\n /**\n * Save current activateBreakpoints (for later restore)\n * and substitute only the printAlias breakpoint\n * @protected\n * @param {?} target\n * @param {?} bpList\n * @return {?}\n */\n startPrinting(target, bpList) {\n this.isPrinting = true;\n target.activatedBreakpoints = this.queue.addPrintBreakpoints(bpList);\n }\n /**\n * For any print de-activations, reset the entire print queue\n * @protected\n * @param {?} target\n * @return {?}\n */\n stopPrinting(target) {\n target.activatedBreakpoints = this.deactivations;\n this.deactivations = [];\n this.queue.clear();\n this.isPrinting = false;\n }\n /**\n * To restore pre-Print Activations, we must capture the proper\n * list of breakpoint activations BEFORE print starts. OnBeforePrint()\n * is supported; so 'print' mediaQuery activations are used as a fallback\n * in browsers without `beforeprint` support.\n *\n * > But activated breakpoints are deactivated BEFORE 'print' activation.\n *\n * Let's capture all de-activations using the following logic:\n *\n * When not printing:\n * - clear cache when activating non-print breakpoint\n * - update cache (and sort) when deactivating\n *\n * When printing:\n * - sort and save when starting print\n * - restore as activatedTargets and clear when stop printing\n * @param {?} event\n * @return {?}\n */\n collectActivations(event) {\n if (!this.isPrinting || this.isPrintingBeforeAfterEvent) {\n if (!event.matches) {\n /** @type {?} */\n const bp = this.breakpoints.findByQuery(event.mediaQuery);\n if (bp) { // Deactivating a breakpoint\n this.deactivations.push(bp);\n this.deactivations.sort(sortDescendingPriority);\n }\n }\n else if (!this.isPrintingBeforeAfterEvent) {\n // Only clear deactivations if we aren't printing from a `beforeprint` event.\n // Otherwise this will clear before `stopPrinting()` is called to restore\n // the pre-Print Activations.\n this.deactivations = [];\n }\n }\n }\n /**\n * Teardown logic for the service.\n * @return {?}\n */\n ngOnDestroy() {\n if (this._document.defaultView) {\n this.beforePrintEventListeners.forEach((/**\n * @param {?} l\n * @return {?}\n */\n l => this._document.defaultView.removeEventListener('beforeprint', l)));\n this.afterPrintEventListeners.forEach((/**\n * @param {?} l\n * @return {?}\n */\n l => this._document.defaultView.removeEventListener('afterprint', l)));\n }\n }\n}\nPrintHook.ɵfac = function PrintHook_Factory(t) { return new (t || PrintHook)(ɵngcc0.ɵɵinject(BreakPointRegistry), ɵngcc0.ɵɵinject(LAYOUT_CONFIG), ɵngcc0.ɵɵinject(DOCUMENT)); };\n/** @nocollapse */ PrintHook.ɵprov = ɵɵdefineInjectable({ factory: function PrintHook_Factory() { return new PrintHook(ɵɵinject(BreakPointRegistry), ɵɵinject(LAYOUT_CONFIG), ɵɵinject(DOCUMENT)); }, token: PrintHook, providedIn: \"root\" });\n/** @nocollapse */\nPrintHook.ctorParameters = () => [\n { type: BreakPointRegistry },\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PrintHook, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: BreakPointRegistry }, { type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n// ************************************************************************\n// Internal Utility class 'PrintQueue'\n// ************************************************************************\n/**\n * Utility class to manage print breakpoints + activatedBreakpoints\n * with correct sorting WHILE printing\n */\nclass PrintQueue {\n constructor() {\n /**\n * Sorted queue with prioritized print breakpoints\n */\n this.printBreakpoints = [];\n }\n /**\n * @param {?} bpList\n * @return {?}\n */\n addPrintBreakpoints(bpList) {\n bpList.push(BREAKPOINT_PRINT);\n bpList.sort(sortDescendingPriority);\n bpList.forEach((/**\n * @param {?} bp\n * @return {?}\n */\n bp => this.addBreakpoint(bp)));\n return this.printBreakpoints;\n }\n /**\n * Add Print breakpoint to queue\n * @param {?} bp\n * @return {?}\n */\n addBreakpoint(bp) {\n if (!!bp) {\n /** @type {?} */\n const bpInList = this.printBreakpoints.find((/**\n * @param {?} it\n * @return {?}\n */\n it => it.mediaQuery === bp.mediaQuery));\n if (bpInList === undefined) {\n // If this is a `printAlias` breakpoint, then append. If a true 'print' breakpoint,\n // register as highest priority in the queue\n this.printBreakpoints = isPrintBreakPoint(bp) ? [bp, ...this.printBreakpoints]\n : [...this.printBreakpoints, bp];\n }\n }\n }\n /**\n * Restore original activated breakpoints and clear internal caches\n * @return {?}\n */\n clear() {\n this.printBreakpoints = [];\n }\n}\n// ************************************************************************\n// Internal Utility methods\n// ************************************************************************\n/**\n * Only support intercept queueing if the Breakpoint is a print \\@media query\n * @param {?} bp\n * @return {?}\n */\nfunction isPrintBreakPoint(bp) {\n return bp ? bp.mediaQuery.startsWith(PRINT) : false;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/utils/array.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * Wraps the provided value in an array, unless the provided value is an array.\n * @template T\n * @param {?} value\n * @return {?}\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-observer/media-observer.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * MediaObserver enables applications to listen for 1..n mediaQuery activations and to determine\n * if a mediaQuery is currently activated.\n *\n * Since a breakpoint change will first deactivate 1...n mediaQueries and then possibly activate\n * 1..n mediaQueries, the MediaObserver will debounce notifications and report ALL *activations*\n * in 1 event notification. The reported activations will be sorted in descending priority order.\n *\n * This class uses the BreakPoint Registry to inject alias information into the raw MediaChange\n * notification. For custom mediaQuery notifications, alias information will not be injected and\n * those fields will be ''.\n *\n * Note: Developers should note that only mediaChange activations (not de-activations)\n * are announced by the MediaObserver.\n *\n * \\@usage\n *\n * // RxJS\n * import { filter } from 'rxjs/operators';\n * import { MediaObserver } from '\\@angular/flex-layout';\n *\n * \\@Component({ ... })\n * export class AppComponent {\n * status: string = '';\n *\n * constructor(mediaObserver: MediaObserver) {\n * const media$ = mediaObserver.asObservable().pipe(\n * filter((changes: MediaChange[]) => true) // silly noop filter\n * );\n *\n * media$.subscribe((changes: MediaChange[]) => {\n * let status = '';\n * changes.forEach( change => {\n * status += `'${change.mqAlias}' = (${change.mediaQuery})
` ;\n * });\n * this.status = status;\n * });\n *\n * }\n * }\n */\nclass MediaObserver {\n /**\n * @param {?} breakpoints\n * @param {?} matchMedia\n * @param {?} hook\n */\n constructor(breakpoints, matchMedia, hook) {\n this.breakpoints = breakpoints;\n this.matchMedia = matchMedia;\n this.hook = hook;\n /**\n * Filter MediaChange notifications for overlapping breakpoints\n */\n this.filterOverlaps = false;\n this.destroyed$ = new Subject();\n this._media$ = this.watchActivations();\n this.media$ = this._media$.pipe(filter((/**\n * @param {?} changes\n * @return {?}\n */\n (changes) => changes.length > 0)), map((/**\n * @param {?} changes\n * @return {?}\n */\n (changes) => changes[0])));\n }\n /**\n * Completes the active subject, signalling to all complete for all\n * MediaObserver subscribers\n * @return {?}\n */\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n // ************************************************\n // Public Methods\n // ************************************************\n /**\n * Observe changes to current activation 'list'\n * @return {?}\n */\n asObservable() {\n return this._media$;\n }\n /**\n * Allow programmatic query to determine if one or more media query/alias match\n * the current viewport size.\n * @param {?} value One or more media queries (or aliases) to check.\n * @return {?} Whether any of the media queries match.\n */\n isActive(value) {\n /** @type {?} */\n const aliases = splitQueries(coerceArray(value));\n return aliases.some((/**\n * @param {?} alias\n * @return {?}\n */\n alias => {\n /** @type {?} */\n const query = toMediaQuery(alias, this.breakpoints);\n return query !== null && this.matchMedia.isActive(query);\n }));\n }\n // ************************************************\n // Internal Methods\n // ************************************************\n /**\n * Register all the mediaQueries registered in the BreakPointRegistry\n * This is needed so subscribers can be auto-notified of all standard, registered\n * mediaQuery activations\n * @private\n * @return {?}\n */\n watchActivations() {\n /** @type {?} */\n const queries = this.breakpoints.items.map((/**\n * @param {?} bp\n * @return {?}\n */\n bp => bp.mediaQuery));\n return this.buildObservable(queries);\n }\n /**\n * Only pass/announce activations (not de-activations)\n *\n * Since multiple-mediaQueries can be activation in a cycle,\n * gather all current activations into a single list of changes to observers\n *\n * Inject associated (if any) alias information into the MediaChange event\n * - Exclude mediaQuery activations for overlapping mQs. List bounded mQ ranges only\n * - Exclude print activations that do not have an associated mediaQuery\n *\n * NOTE: the raw MediaChange events [from MatchMedia] do not\n * contain important alias information; as such this info\n * must be injected into the MediaChange\n * @private\n * @param {?} mqList\n * @return {?}\n */\n buildObservable(mqList) {\n /** @type {?} */\n const hasChanges = (/**\n * @param {?} changes\n * @return {?}\n */\n (changes) => {\n /** @type {?} */\n const isValidQuery = (/**\n * @param {?} change\n * @return {?}\n */\n (change) => (change.mediaQuery.length > 0));\n return (changes.filter(isValidQuery).length > 0);\n });\n /** @type {?} */\n const excludeOverlaps = (/**\n * @param {?} changes\n * @return {?}\n */\n (changes) => {\n return !this.filterOverlaps ? changes : changes.filter((/**\n * @param {?} change\n * @return {?}\n */\n change => {\n /** @type {?} */\n const bp = this.breakpoints.findByQuery(change.mediaQuery);\n return !bp ? true : !bp.overlapping;\n }));\n });\n /**\n */\n return this.matchMedia\n .observe(this.hook.withPrintQuery(mqList))\n .pipe(filter((/**\n * @param {?} change\n * @return {?}\n */\n (change) => change.matches)), debounceTime(0, asapScheduler), switchMap((/**\n * @param {?} _\n * @return {?}\n */\n _ => of(this.findAllActivations()))), map(excludeOverlaps), filter(hasChanges), takeUntil(this.destroyed$));\n }\n /**\n * Find all current activations and prepare single list of activations\n * sorted by descending priority.\n * @private\n * @return {?}\n */\n findAllActivations() {\n /** @type {?} */\n const mergeMQAlias = (/**\n * @param {?} change\n * @return {?}\n */\n (change) => {\n /** @type {?} */\n let bp = this.breakpoints.findByQuery(change.mediaQuery);\n return mergeAlias(change, bp);\n });\n /** @type {?} */\n const replaceWithPrintAlias = (/**\n * @param {?} change\n * @return {?}\n */\n (change) => {\n return this.hook.isPrintEvent(change) ? this.hook.updateEvent(change) : change;\n });\n return this.matchMedia\n .activations\n .map((/**\n * @param {?} query\n * @return {?}\n */\n query => new MediaChange(true, query)))\n .map(replaceWithPrintAlias)\n .map(mergeMQAlias)\n .sort(sortDescendingPriority);\n }\n}\nMediaObserver.ɵfac = function MediaObserver_Factory(t) { return new (t || MediaObserver)(ɵngcc0.ɵɵinject(BreakPointRegistry), ɵngcc0.ɵɵinject(MatchMedia), ɵngcc0.ɵɵinject(PrintHook)); };\n/** @nocollapse */ MediaObserver.ɵprov = ɵɵdefineInjectable({ factory: function MediaObserver_Factory() { return new MediaObserver(ɵɵinject(BreakPointRegistry), ɵɵinject(MatchMedia), ɵɵinject(PrintHook)); }, token: MediaObserver, providedIn: \"root\" });\n/** @nocollapse */\nMediaObserver.ctorParameters = () => [\n { type: BreakPointRegistry },\n { type: MatchMedia },\n { type: PrintHook }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MediaObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: BreakPointRegistry }, { type: MatchMedia }, { type: PrintHook }]; }, null); })();\n/**\n * Find associated breakpoint (if any)\n * @param {?} query\n * @param {?} locator\n * @return {?}\n */\nfunction toMediaQuery(query, locator) {\n /** @type {?} */\n const bp = locator.findByAlias(query) || locator.findByQuery(query);\n return bp ? bp.mediaQuery : null;\n}\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n * @param {?} queries\n * @return {?}\n */\nfunction splitQueries(queries) {\n return queries.map((/**\n * @param {?} query\n * @return {?}\n */\n (query) => query.split(',')))\n .reduce((/**\n * @param {?} a1\n * @param {?} a2\n * @return {?}\n */\n (a1, a2) => a1.concat(a2)))\n .map((/**\n * @param {?} query\n * @return {?}\n */\n query => query.trim()));\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-observer/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-trigger/media-trigger.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Class\n */\nclass MediaTrigger {\n /**\n * @param {?} breakpoints\n * @param {?} matchMedia\n * @param {?} layoutConfig\n * @param {?} _platformId\n * @param {?} _document\n */\n constructor(breakpoints, matchMedia, layoutConfig, _platformId, _document) {\n this.breakpoints = breakpoints;\n this.matchMedia = matchMedia;\n this.layoutConfig = layoutConfig;\n this._platformId = _platformId;\n this._document = _document;\n this.hasCachedRegistryMatches = false;\n this.originalActivations = [];\n this.originalRegistry = new Map();\n }\n /**\n * Manually activate range of breakpoints\n * @param {?} list array of mediaQuery or alias strings\n * @return {?}\n */\n activate(list) {\n list = list.map((/**\n * @param {?} it\n * @return {?}\n */\n it => it.trim())); // trim queries\n this.saveActivations();\n this.deactivateAll();\n this.setActivations(list);\n this.prepareAutoRestore();\n }\n /**\n * Restore original, 'real' breakpoints and emit events\n * to trigger stream notification\n * @return {?}\n */\n restore() {\n if (this.hasCachedRegistryMatches) {\n /** @type {?} */\n const extractQuery = (/**\n * @param {?} change\n * @return {?}\n */\n (change) => change.mediaQuery);\n /** @type {?} */\n const list = this.originalActivations.map(extractQuery);\n try {\n this.deactivateAll();\n this.restoreRegistryMatches();\n this.setActivations(list);\n }\n finally {\n this.originalActivations = [];\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n }\n }\n // ************************************************\n // Internal Methods\n // ************************************************\n /**\n * Whenever window resizes, immediately auto-restore original\n * activations (if we are simulating activations)\n * @private\n * @return {?}\n */\n prepareAutoRestore() {\n /** @type {?} */\n const isBrowser = isPlatformBrowser(this._platformId) && this._document;\n /** @type {?} */\n const enableAutoRestore = isBrowser && this.layoutConfig.mediaTriggerAutoRestore;\n if (enableAutoRestore) {\n /** @type {?} */\n const resize$ = fromEvent(window, 'resize').pipe(take(1));\n this.resizeSubscription = resize$.subscribe(this.restore.bind(this));\n }\n }\n /**\n * Notify all matchMedia subscribers of de-activations\n *\n * Note: we must force 'matches' updates for\n * future matchMedia::activation lookups\n * @private\n * @return {?}\n */\n deactivateAll() {\n /** @type {?} */\n const list = this.currentActivations;\n this.forceRegistryMatches(list, false);\n this.simulateMediaChanges(list, false);\n }\n /**\n * Cache current activations as sorted, prioritized list of MediaChanges\n * @private\n * @return {?}\n */\n saveActivations() {\n if (!this.hasCachedRegistryMatches) {\n /** @type {?} */\n const toMediaChange = (/**\n * @param {?} query\n * @return {?}\n */\n (query) => new MediaChange(true, query));\n /** @type {?} */\n const mergeMQAlias = (/**\n * @param {?} change\n * @return {?}\n */\n (change) => {\n /** @type {?} */\n const bp = this.breakpoints.findByQuery(change.mediaQuery);\n return mergeAlias(change, bp);\n });\n this.originalActivations = this.currentActivations\n .map(toMediaChange)\n .map(mergeMQAlias)\n .sort(sortDescendingPriority);\n this.cacheRegistryMatches();\n }\n }\n /**\n * Force set manual activations for specified mediaQuery list\n * @private\n * @param {?} list\n * @return {?}\n */\n setActivations(list) {\n if (!!this.originalRegistry) {\n this.forceRegistryMatches(list, true);\n }\n this.simulateMediaChanges(list);\n }\n /**\n * For specified mediaQuery list manually simulate activations or deactivations\n * @private\n * @param {?} queries\n * @param {?=} matches\n * @return {?}\n */\n simulateMediaChanges(queries, matches = true) {\n /** @type {?} */\n const toMediaQuery = (/**\n * @param {?} query\n * @return {?}\n */\n (query) => {\n /** @type {?} */\n const locator = this.breakpoints;\n /** @type {?} */\n const bp = locator.findByAlias(query) || locator.findByQuery(query);\n return bp ? bp.mediaQuery : query;\n });\n /** @type {?} */\n const emitChangeEvent = (/**\n * @param {?} query\n * @return {?}\n */\n (query) => this.emitChangeEvent(matches, query));\n queries.map(toMediaQuery).forEach(emitChangeEvent);\n }\n /**\n * Replace current registry with simulated registry...\n * Note: this is required since MediaQueryList::matches is 'readOnly'\n * @private\n * @param {?} queries\n * @param {?} matches\n * @return {?}\n */\n forceRegistryMatches(queries, matches) {\n /** @type {?} */\n const registry = new Map();\n queries.forEach((/**\n * @param {?} query\n * @return {?}\n */\n query => {\n registry.set(query, (/** @type {?} */ ({ matches })));\n }));\n this.matchMedia.registry = registry;\n }\n /**\n * Save current MatchMedia::registry items.\n * @private\n * @return {?}\n */\n cacheRegistryMatches() {\n /** @type {?} */\n const target = this.originalRegistry;\n target.clear();\n this.matchMedia.registry.forEach((/**\n * @param {?} value\n * @param {?} key\n * @return {?}\n */\n (value, key) => {\n target.set(key, value);\n }));\n this.hasCachedRegistryMatches = true;\n }\n /**\n * Restore original, 'true' registry\n * @private\n * @return {?}\n */\n restoreRegistryMatches() {\n /** @type {?} */\n const target = this.matchMedia.registry;\n target.clear();\n this.originalRegistry.forEach((/**\n * @param {?} value\n * @param {?} key\n * @return {?}\n */\n (value, key) => {\n target.set(key, value);\n }));\n this.originalRegistry.clear();\n this.hasCachedRegistryMatches = false;\n }\n /**\n * Manually emit a MediaChange event via the MatchMedia to MediaMarshaller and MediaObserver\n * @private\n * @param {?} matches\n * @param {?} query\n * @return {?}\n */\n emitChangeEvent(matches, query) {\n this.matchMedia.source.next(new MediaChange(matches, query));\n }\n /**\n * @private\n * @return {?}\n */\n get currentActivations() {\n return this.matchMedia.activations;\n }\n}\nMediaTrigger.ɵfac = function MediaTrigger_Factory(t) { return new (t || MediaTrigger)(ɵngcc0.ɵɵinject(BreakPointRegistry), ɵngcc0.ɵɵinject(MatchMedia), ɵngcc0.ɵɵinject(LAYOUT_CONFIG), ɵngcc0.ɵɵinject(PLATFORM_ID), ɵngcc0.ɵɵinject(DOCUMENT)); };\n/** @nocollapse */ MediaTrigger.ɵprov = ɵɵdefineInjectable({ factory: function MediaTrigger_Factory() { return new MediaTrigger(ɵɵinject(BreakPointRegistry), ɵɵinject(MatchMedia), ɵɵinject(LAYOUT_CONFIG), ɵɵinject(PLATFORM_ID), ɵɵinject(DOCUMENT)); }, token: MediaTrigger, providedIn: \"root\" });\n/** @nocollapse */\nMediaTrigger.ctorParameters = () => [\n { type: BreakPointRegistry },\n { type: MatchMedia },\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MediaTrigger, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: BreakPointRegistry }, { type: MatchMedia }, { type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-trigger/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/utils/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: utils/auto-prefixer.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * Applies CSS prefixes to appropriate style keys.\n *\n * Note: `-ms-`, `-moz` and `-webkit-box` are no longer supported. e.g.\n * {\n * display: -webkit-flex; NEW - Safari 6.1+. iOS 7.1+, BB10\n * display: flex; NEW, Spec - Firefox, Chrome, Opera\n * // display: -webkit-box; OLD - iOS 6-, Safari 3.1-6, BB7\n * // display: -ms-flexbox; TWEENER - IE 10\n * // display: -moz-flexbox; OLD - Firefox\n * }\n * @param {?} target\n * @return {?}\n */\nfunction applyCssPrefixes(target) {\n for (let key in target) {\n /** @type {?} */\n let value = target[key] || '';\n switch (key) {\n case 'display':\n if (value === 'flex') {\n target['display'] = [\n '-webkit-flex',\n 'flex'\n ];\n }\n else if (value === 'inline-flex') {\n target['display'] = [\n '-webkit-inline-flex',\n 'inline-flex'\n ];\n }\n else {\n target['display'] = value;\n }\n break;\n case 'align-items':\n case 'align-self':\n case 'align-content':\n case 'flex':\n case 'flex-basis':\n case 'flex-flow':\n case 'flex-grow':\n case 'flex-shrink':\n case 'flex-wrap':\n case 'justify-content':\n target['-webkit-' + key] = value;\n break;\n case 'flex-direction':\n value = value || 'row';\n target['-webkit-flex-direction'] = value;\n target['flex-direction'] = value;\n break;\n case 'order':\n target['order'] = target['-webkit-' + key] = isNaN(+value) ? '0' : value;\n break;\n }\n }\n return target;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/style-utils/style-utils.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass StyleUtils {\n /**\n * @param {?} _serverStylesheet\n * @param {?} _serverModuleLoaded\n * @param {?} _platformId\n * @param {?} layoutConfig\n */\n constructor(_serverStylesheet, _serverModuleLoaded, _platformId, layoutConfig) {\n this._serverStylesheet = _serverStylesheet;\n this._serverModuleLoaded = _serverModuleLoaded;\n this._platformId = _platformId;\n this.layoutConfig = layoutConfig;\n }\n /**\n * Applies styles given via string pair or object map to the directive element\n * @param {?} element\n * @param {?} style\n * @param {?=} value\n * @return {?}\n */\n applyStyleToElement(element, style, value = null) {\n /** @type {?} */\n let styles = {};\n if (typeof style === 'string') {\n styles[style] = value;\n style = styles;\n }\n styles = this.layoutConfig.disableVendorPrefixes ? style : applyCssPrefixes(style);\n this._applyMultiValueStyleToElement(styles, element);\n }\n /**\n * Applies styles given via string pair or object map to the directive's element\n * @param {?} style\n * @param {?=} elements\n * @return {?}\n */\n applyStyleToElements(style, elements = []) {\n /** @type {?} */\n const styles = this.layoutConfig.disableVendorPrefixes ? style : applyCssPrefixes(style);\n elements.forEach((/**\n * @param {?} el\n * @return {?}\n */\n el => {\n this._applyMultiValueStyleToElement(styles, el);\n }));\n }\n /**\n * Determine the DOM element's Flexbox flow (flex-direction)\n *\n * Check inline style first then check computed (stylesheet) style\n * @param {?} target\n * @return {?}\n */\n getFlowDirection(target) {\n /** @type {?} */\n const query = 'flex-direction';\n /** @type {?} */\n let value = this.lookupStyle(target, query);\n /** @type {?} */\n const hasInlineValue = this.lookupInlineStyle(target, query) ||\n (isPlatformServer(this._platformId) && this._serverModuleLoaded) ? value : '';\n return [value || 'row', hasInlineValue];\n }\n /**\n * @param {?} target\n * @return {?}\n */\n hasWrap(target) {\n /** @type {?} */\n const query = 'flex-wrap';\n return this.lookupStyle(target, query) === 'wrap';\n }\n /**\n * Find the DOM element's raw attribute value (if any)\n * @param {?} element\n * @param {?} attribute\n * @return {?}\n */\n lookupAttributeValue(element, attribute) {\n return element.getAttribute(attribute) || '';\n }\n /**\n * Find the DOM element's inline style value (if any)\n * @param {?} element\n * @param {?} styleName\n * @return {?}\n */\n lookupInlineStyle(element, styleName) {\n return isPlatformBrowser(this._platformId) ?\n element.style.getPropertyValue(styleName) : this._getServerStyle(element, styleName);\n }\n /**\n * Determine the inline or inherited CSS style\n * NOTE: platform-server has no implementation for getComputedStyle\n * @param {?} element\n * @param {?} styleName\n * @param {?=} inlineOnly\n * @return {?}\n */\n lookupStyle(element, styleName, inlineOnly = false) {\n /** @type {?} */\n let value = '';\n if (element) {\n /** @type {?} */\n let immediateValue = value = this.lookupInlineStyle(element, styleName);\n if (!immediateValue) {\n if (isPlatformBrowser(this._platformId)) {\n if (!inlineOnly) {\n value = getComputedStyle(element).getPropertyValue(styleName);\n }\n }\n else {\n if (this._serverModuleLoaded) {\n value = this._serverStylesheet.getStyleForElement(element, styleName);\n }\n }\n }\n }\n // Note: 'inline' is the default of all elements, unless UA stylesheet overrides;\n // in which case getComputedStyle() should determine a valid value.\n return value ? value.trim() : '';\n }\n /**\n * Applies the styles to the element. The styles object map may contain an array of values\n * Each value will be added as element style\n * Keys are sorted to add prefixed styles (like -webkit-x) first, before the standard ones\n * @private\n * @param {?} styles\n * @param {?} element\n * @return {?}\n */\n _applyMultiValueStyleToElement(styles, element) {\n Object.keys(styles).sort().forEach((/**\n * @param {?} key\n * @return {?}\n */\n key => {\n /** @type {?} */\n const el = styles[key];\n /** @type {?} */\n const values = Array.isArray(el) ? el : [el];\n values.sort();\n for (let value of values) {\n value = value ? value + '' : '';\n if (isPlatformBrowser(this._platformId) || !this._serverModuleLoaded) {\n isPlatformBrowser(this._platformId) ?\n element.style.setProperty(key, value) : this._setServerStyle(element, key, value);\n }\n else {\n this._serverStylesheet.addStyleToElement(element, key, value);\n }\n }\n }));\n }\n /**\n * @private\n * @param {?} element\n * @param {?} styleName\n * @param {?=} styleValue\n * @return {?}\n */\n _setServerStyle(element, styleName, styleValue) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n /** @type {?} */\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n /**\n * @private\n * @param {?} element\n * @param {?} styleName\n * @return {?}\n */\n _getServerStyle(element, styleName) {\n /** @type {?} */\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n /**\n * @private\n * @param {?} element\n * @return {?}\n */\n _readStyleAttribute(element) {\n /** @type {?} */\n const styleMap = {};\n /** @type {?} */\n const styleAttribute = element.getAttribute('style');\n if (styleAttribute) {\n /** @type {?} */\n const styleList = styleAttribute.split(/;+/g);\n for (let i = 0; i < styleList.length; i++) {\n /** @type {?} */\n const style = styleList[i].trim();\n if (style.length > 0) {\n /** @type {?} */\n const colonIndex = style.indexOf(':');\n if (colonIndex === -1) {\n throw new Error(`Invalid CSS style: ${style}`);\n }\n /** @type {?} */\n const name = style.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /**\n * @private\n * @param {?} element\n * @param {?} styleMap\n * @return {?}\n */\n _writeStyleAttribute(element, styleMap) {\n /** @type {?} */\n let styleAttrValue = '';\n for (const key in styleMap) {\n /** @type {?} */\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n}\nStyleUtils.ɵfac = function StyleUtils_Factory(t) { return new (t || StyleUtils)(ɵngcc0.ɵɵinject(StylesheetMap), ɵngcc0.ɵɵinject(SERVER_TOKEN), ɵngcc0.ɵɵinject(PLATFORM_ID), ɵngcc0.ɵɵinject(LAYOUT_CONFIG)); };\n/** @nocollapse */ StyleUtils.ɵprov = ɵɵdefineInjectable({ factory: function StyleUtils_Factory() { return new StyleUtils(ɵɵinject(StylesheetMap), ɵɵinject(SERVER_TOKEN), ɵɵinject(PLATFORM_ID), ɵɵinject(LAYOUT_CONFIG)); }, token: StyleUtils, providedIn: \"root\" });\n/** @nocollapse */\nStyleUtils.ctorParameters = () => [\n { type: StylesheetMap },\n { type: Boolean, decorators: [{ type: Inject, args: [SERVER_TOKEN,] }] },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StyleUtils, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: StylesheetMap }, { type: Boolean, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }]; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/style-builder/style-builder.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * A class that encapsulates CSS style generation for common directives\n * @abstract\n */\nclass StyleBuilder {\n constructor() {\n /**\n * Whether to cache the generated output styles\n */\n this.shouldCache = true;\n }\n /**\n * Run a side effect computation given the input string and the computed styles\n * from the build task and the host configuration object\n * NOTE: This should be a no-op unless an algorithm is provided in a subclass\n * @param {?} _input\n * @param {?} _styles\n * @param {?=} _parent\n * @return {?}\n */\n sideEffect(_input, _styles, _parent) {\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/basis-validator/basis-validator.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * The flex API permits 3 or 1 parts of the value:\n * - `flex-grow flex-shrink flex-basis`, or\n * - `flex-basis`\n * @param {?} basis\n * @param {?=} grow\n * @param {?=} shrink\n * @return {?}\n */\nfunction validateBasis(basis, grow = '1', shrink = '1') {\n /** @type {?} */\n let parts = [grow, shrink, basis];\n /** @type {?} */\n let j = basis.indexOf('calc');\n if (j > 0) {\n parts[2] = _validateCalcValue(basis.substring(j).trim());\n /** @type {?} */\n let matches = basis.substr(0, j).trim().split(' ');\n if (matches.length == 2) {\n parts[0] = matches[0];\n parts[1] = matches[1];\n }\n }\n else if (j == 0) {\n parts[2] = _validateCalcValue(basis.trim());\n }\n else {\n /** @type {?} */\n let matches = basis.split(' ');\n parts = (matches.length === 3) ? matches : [\n grow, shrink, basis\n ];\n }\n return parts;\n}\n/**\n * Calc expressions require whitespace before & after any expression operators\n * This is a simple, crude whitespace padding solution.\n * - '3 3 calc(15em + 20px)'\n * - calc(100% / 7 * 2)\n * - 'calc(15em + 20px)'\n * - 'calc(15em+20px)'\n * - '37px'\n * = '43%'\n * @param {?} calc\n * @return {?}\n */\nfunction _validateCalcValue(calc) {\n return calc.replace(/[\\s]/g, '').replace(/[\\/\\*\\+\\-]/g, ' $& ');\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/media-marshaller/media-marshaller.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * MediaMarshaller - register responsive values from directives and\n * trigger them based on media query events\n */\nclass MediaMarshaller {\n /**\n * @param {?} matchMedia\n * @param {?} breakpoints\n * @param {?} hook\n */\n constructor(matchMedia, breakpoints, hook) {\n this.matchMedia = matchMedia;\n this.breakpoints = breakpoints;\n this.hook = hook;\n this.activatedBreakpoints = [];\n this.elementMap = new Map();\n this.elementKeyMap = new WeakMap();\n this.watcherMap = new WeakMap(); // special triggers to update elements\n // special triggers to update elements\n this.updateMap = new WeakMap(); // callback functions to update styles\n // callback functions to update styles\n this.clearMap = new WeakMap(); // callback functions to clear styles\n // callback functions to clear styles\n this.subject = new Subject();\n this.observeActivations();\n }\n /**\n * @return {?}\n */\n get activatedAlias() {\n return this.activatedBreakpoints[0] ? this.activatedBreakpoints[0].alias : '';\n }\n /**\n * Update styles on breakpoint activates or deactivates\n * @param {?} mc\n * @return {?}\n */\n onMediaChange(mc) {\n /** @type {?} */\n const bp = this.findByQuery(mc.mediaQuery);\n if (bp) {\n mc = mergeAlias(mc, bp);\n if (mc.matches && this.activatedBreakpoints.indexOf(bp) === -1) {\n this.activatedBreakpoints.push(bp);\n this.activatedBreakpoints.sort(sortDescendingPriority);\n this.updateStyles();\n }\n else if (!mc.matches && this.activatedBreakpoints.indexOf(bp) !== -1) {\n // Remove the breakpoint when it's deactivated\n this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(bp), 1);\n this.activatedBreakpoints.sort(sortDescendingPriority);\n this.updateStyles();\n }\n }\n }\n /**\n * initialize the marshaller with necessary elements for delegation on an element\n * @param {?} element\n * @param {?} key\n * @param {?=} updateFn optional callback so that custom bp directives don't have to re-provide this\n * @param {?=} clearFn optional callback so that custom bp directives don't have to re-provide this\n * @param {?=} extraTriggers other triggers to force style updates (e.g. layout, directionality, etc)\n * @return {?}\n */\n init(element, key, updateFn, clearFn, extraTriggers = []) {\n initBuilderMap(this.updateMap, element, key, updateFn);\n initBuilderMap(this.clearMap, element, key, clearFn);\n this.buildElementKeyMap(element, key);\n this.watchExtraTriggers(element, key, extraTriggers);\n }\n /**\n * get the value for an element and key and optionally a given breakpoint\n * @param {?} element\n * @param {?} key\n * @param {?=} bp\n * @return {?}\n */\n getValue(element, key, bp) {\n /** @type {?} */\n const bpMap = this.elementMap.get(element);\n if (bpMap) {\n /** @type {?} */\n const values = bp !== undefined ? bpMap.get(bp) : this.getActivatedValues(bpMap, key);\n if (values) {\n return values.get(key);\n }\n }\n return undefined;\n }\n /**\n * whether the element has values for a given key\n * @param {?} element\n * @param {?} key\n * @return {?}\n */\n hasValue(element, key) {\n /** @type {?} */\n const bpMap = this.elementMap.get(element);\n if (bpMap) {\n /** @type {?} */\n const values = this.getActivatedValues(bpMap, key);\n if (values) {\n return values.get(key) !== undefined || false;\n }\n }\n return false;\n }\n /**\n * Set the value for an input on a directive\n * @param {?} element the element in question\n * @param {?} key the type of the directive (e.g. flex, layout-gap, etc)\n * @param {?} val the value for the breakpoint\n * @param {?} bp the breakpoint suffix (empty string = default)\n * @return {?}\n */\n setValue(element, key, val, bp) {\n /** @type {?} */\n let bpMap = this.elementMap.get(element);\n if (!bpMap) {\n bpMap = new Map().set(bp, new Map().set(key, val));\n this.elementMap.set(element, bpMap);\n }\n else {\n /** @type {?} */\n const values = (bpMap.get(bp) || new Map()).set(key, val);\n bpMap.set(bp, values);\n this.elementMap.set(element, bpMap);\n }\n /** @type {?} */\n const value = this.getValue(element, key);\n if (value !== undefined) {\n this.updateElement(element, key, value);\n }\n }\n /**\n * Track element value changes for a specific key\n * @param {?} element\n * @param {?} key\n * @return {?}\n */\n trackValue(element, key) {\n return this.subject\n .asObservable()\n .pipe(filter((/**\n * @param {?} v\n * @return {?}\n */\n v => v.element === element && v.key === key)));\n }\n /**\n * update all styles for all elements on the current breakpoint\n * @return {?}\n */\n updateStyles() {\n this.elementMap.forEach((/**\n * @param {?} bpMap\n * @param {?} el\n * @return {?}\n */\n (bpMap, el) => {\n /** @type {?} */\n const keyMap = new Set((/** @type {?} */ (this.elementKeyMap.get(el))));\n /** @type {?} */\n let valueMap = this.getActivatedValues(bpMap);\n if (valueMap) {\n valueMap.forEach((/**\n * @param {?} v\n * @param {?} k\n * @return {?}\n */\n (v, k) => {\n this.updateElement(el, k, v);\n keyMap.delete(k);\n }));\n }\n keyMap.forEach((/**\n * @param {?} k\n * @return {?}\n */\n k => {\n valueMap = this.getActivatedValues(bpMap, k);\n if (valueMap) {\n /** @type {?} */\n const value = valueMap.get(k);\n this.updateElement(el, k, value);\n }\n else {\n this.clearElement(el, k);\n }\n }));\n }));\n }\n /**\n * clear the styles for a given element\n * @param {?} element\n * @param {?} key\n * @return {?}\n */\n clearElement(element, key) {\n /** @type {?} */\n const builders = this.clearMap.get(element);\n if (builders) {\n /** @type {?} */\n const clearFn = (/** @type {?} */ (builders.get(key)));\n if (!!clearFn) {\n clearFn();\n this.subject.next({ element, key, value: '' });\n }\n }\n }\n /**\n * update a given element with the activated values for a given key\n * @param {?} element\n * @param {?} key\n * @param {?} value\n * @return {?}\n */\n updateElement(element, key, value) {\n /** @type {?} */\n const builders = this.updateMap.get(element);\n if (builders) {\n /** @type {?} */\n const updateFn = (/** @type {?} */ (builders.get(key)));\n if (!!updateFn) {\n updateFn(value);\n this.subject.next({ element, key, value });\n }\n }\n }\n /**\n * release all references to a given element\n * @param {?} element\n * @return {?}\n */\n releaseElement(element) {\n /** @type {?} */\n const watcherMap = this.watcherMap.get(element);\n if (watcherMap) {\n watcherMap.forEach((/**\n * @param {?} s\n * @return {?}\n */\n s => s.unsubscribe()));\n this.watcherMap.delete(element);\n }\n /** @type {?} */\n const elementMap = this.elementMap.get(element);\n if (elementMap) {\n elementMap.forEach((/**\n * @param {?} _\n * @param {?} s\n * @return {?}\n */\n (_, s) => elementMap.delete(s)));\n this.elementMap.delete(element);\n }\n }\n /**\n * trigger an update for a given element and key (e.g. layout)\n * @param {?} element\n * @param {?=} key\n * @return {?}\n */\n triggerUpdate(element, key) {\n /** @type {?} */\n const bpMap = this.elementMap.get(element);\n if (bpMap) {\n /** @type {?} */\n const valueMap = this.getActivatedValues(bpMap, key);\n if (valueMap) {\n if (key) {\n this.updateElement(element, key, valueMap.get(key));\n }\n else {\n valueMap.forEach((/**\n * @param {?} v\n * @param {?} k\n * @return {?}\n */\n (v, k) => this.updateElement(element, k, v)));\n }\n }\n }\n }\n /**\n * Cross-reference for HTMLElement with directive key\n * @private\n * @param {?} element\n * @param {?} key\n * @return {?}\n */\n buildElementKeyMap(element, key) {\n /** @type {?} */\n let keyMap = this.elementKeyMap.get(element);\n if (!keyMap) {\n keyMap = new Set();\n this.elementKeyMap.set(element, keyMap);\n }\n keyMap.add(key);\n }\n /**\n * Other triggers that should force style updates:\n * - directionality\n * - layout changes\n * - mutationobserver updates\n * @private\n * @param {?} element\n * @param {?} key\n * @param {?} triggers\n * @return {?}\n */\n watchExtraTriggers(element, key, triggers) {\n if (triggers && triggers.length) {\n /** @type {?} */\n let watchers = this.watcherMap.get(element);\n if (!watchers) {\n watchers = new Map();\n this.watcherMap.set(element, watchers);\n }\n /** @type {?} */\n const subscription = watchers.get(key);\n if (!subscription) {\n /** @type {?} */\n const newSubscription = merge(...triggers).subscribe((/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n const currentValue = this.getValue(element, key);\n this.updateElement(element, key, currentValue);\n }));\n watchers.set(key, newSubscription);\n }\n }\n }\n /**\n * Breakpoint locator by mediaQuery\n * @private\n * @param {?} query\n * @return {?}\n */\n findByQuery(query) {\n return this.breakpoints.findByQuery(query);\n }\n /**\n * get the fallback breakpoint for a given element, starting with the current breakpoint\n * @private\n * @param {?} bpMap\n * @param {?=} key\n * @return {?}\n */\n getActivatedValues(bpMap, key) {\n for (let i = 0; i < this.activatedBreakpoints.length; i++) {\n /** @type {?} */\n const activatedBp = this.activatedBreakpoints[i];\n /** @type {?} */\n const valueMap = bpMap.get(activatedBp.alias);\n if (valueMap) {\n if (key === undefined || (valueMap.has(key) && valueMap.get(key) != null)) {\n return valueMap;\n }\n }\n }\n /** @type {?} */\n const lastHope = bpMap.get('');\n return (key === undefined || lastHope && lastHope.has(key)) ? lastHope : undefined;\n }\n /**\n * Watch for mediaQuery breakpoint activations\n * @private\n * @return {?}\n */\n observeActivations() {\n /** @type {?} */\n const target = (/** @type {?} */ ((/** @type {?} */ (this))));\n /** @type {?} */\n const queries = this.breakpoints.items.map((/**\n * @param {?} bp\n * @return {?}\n */\n bp => bp.mediaQuery));\n this.matchMedia\n .observe(this.hook.withPrintQuery(queries))\n .pipe(tap(this.hook.interceptEvents(target)), filter(this.hook.blockPropagation()))\n .subscribe(this.onMediaChange.bind(this));\n }\n}\nMediaMarshaller.ɵfac = function MediaMarshaller_Factory(t) { return new (t || MediaMarshaller)(ɵngcc0.ɵɵinject(MatchMedia), ɵngcc0.ɵɵinject(BreakPointRegistry), ɵngcc0.ɵɵinject(PrintHook)); };\n/** @nocollapse */ MediaMarshaller.ɵprov = ɵɵdefineInjectable({ factory: function MediaMarshaller_Factory() { return new MediaMarshaller(ɵɵinject(MatchMedia), ɵɵinject(BreakPointRegistry), ɵɵinject(PrintHook)); }, token: MediaMarshaller, providedIn: \"root\" });\n/** @nocollapse */\nMediaMarshaller.ctorParameters = () => [\n { type: MatchMedia },\n { type: BreakPointRegistry },\n { type: PrintHook }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MediaMarshaller, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MatchMedia }, { type: BreakPointRegistry }, { type: PrintHook }]; }, null); })();\n/**\n * @param {?} map\n * @param {?} element\n * @param {?} key\n * @param {?=} input\n * @return {?}\n */\nfunction initBuilderMap(map$$1, element, key, input) {\n if (input !== undefined) {\n /** @type {?} */\n let oldMap = map$$1.get(element);\n if (!oldMap) {\n oldMap = new Map();\n map$$1.set(element, oldMap);\n }\n oldMap.set(key, input);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: core/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { MatchMedia as ɵMatchMedia, MockMatchMedia as ɵMockMatchMedia, MockMatchMediaProvider as ɵMockMatchMediaProvider, CoreModule, removeStyles, BROWSER_PROVIDER, CLASS_NAME, MediaChange, StylesheetMap, DEFAULT_CONFIG, LAYOUT_CONFIG, SERVER_TOKEN, BREAKPOINT, mergeAlias, BaseDirective2, DEFAULT_BREAKPOINTS, ScreenTypes, ORIENTATION_BREAKPOINTS, BreakPointRegistry, BREAKPOINTS, MediaObserver, MediaTrigger, sortDescendingPriority, sortAscendingPriority, coerceArray, StyleUtils, StyleBuilder, validateBasis, MediaMarshaller, BREAKPOINT_PRINT, PrintHook };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Directive, ElementRef, Inject, PLATFORM_ID, Injectable, Input, NgModule, IterableDiffers, KeyValueDiffers, Optional, Renderer2, Self, SecurityContext, ɵɵdefineInjectable } from '@angular/core';\nimport { isPlatformServer, NgClass, NgStyle } from '@angular/common';\nimport { MediaMarshaller, BaseDirective2, SERVER_TOKEN, StyleBuilder, StyleUtils, LAYOUT_CONFIG, CoreModule } from '@angular/flex-layout/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/img-src/img-src.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/flex-layout/core';\nimport * as ɵngcc2 from '@angular/common';\nimport * as ɵngcc3 from '@angular/platform-browser';\nclass ImgSrcStyleBuilder extends StyleBuilder {\n /**\n * @param {?} url\n * @return {?}\n */\n buildStyles(url) {\n return { 'content': url ? `url(${url})` : '' };\n }\n}\nImgSrcStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵImgSrcStyleBuilder_BaseFactory; return function ImgSrcStyleBuilder_Factory(t) { return (ɵImgSrcStyleBuilder_BaseFactory || (ɵImgSrcStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(ImgSrcStyleBuilder)))(t || ImgSrcStyleBuilder); }; }();\n/** @nocollapse */ ImgSrcStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function ImgSrcStyleBuilder_Factory() { return new ImgSrcStyleBuilder(); }, token: ImgSrcStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ImgSrcStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass ImgSrcDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n * @param {?} platformId\n * @param {?} serverModuleLoaded\n */\n constructor(elementRef, styleBuilder, styler, marshal, platformId, serverModuleLoaded) {\n super(elementRef, styleBuilder, styler, marshal);\n this.platformId = platformId;\n this.serverModuleLoaded = serverModuleLoaded;\n this.DIRECTIVE_KEY = 'img-src';\n this.defaultSrc = '';\n this.styleCache = imgSrcCache;\n this.init();\n this.setValue(this.nativeElement.getAttribute('src') || '', '');\n if (isPlatformServer(this.platformId) && this.serverModuleLoaded) {\n this.nativeElement.setAttribute('src', '');\n }\n }\n /**\n * @param {?} val\n * @return {?}\n */\n set src(val) {\n this.defaultSrc = val;\n this.setValue(this.defaultSrc, '');\n }\n /**\n * Use the [responsively] activated input value to update\n * the host img src attribute or assign a default `img.src=''`\n * if the src has not been defined.\n *\n * Do nothing to standard `` usages, only when responsive\n * keys are present do we actually call `setAttribute()`\n * @protected\n * @param {?=} value\n * @return {?}\n */\n updateWithValue(value) {\n /** @type {?} */\n const url = value || this.defaultSrc;\n if (isPlatformServer(this.platformId) && this.serverModuleLoaded) {\n this.addStyles(url);\n }\n else {\n this.nativeElement.setAttribute('src', url);\n }\n }\n}\nImgSrcDirective.ɵfac = function ImgSrcDirective_Factory(t) { return new (t || ImgSrcDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ImgSrcStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID), ɵngcc0.ɵɵdirectiveInject(SERVER_TOKEN)); };\nImgSrcDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ImgSrcDirective, inputs: { src: \"src\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nImgSrcDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: ImgSrcStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: Boolean, decorators: [{ type: Inject, args: [SERVER_TOKEN,] }] }\n];\nImgSrcDirective.propDecorators = {\n src: [{ type: Input, args: ['src',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ImgSrcDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ImgSrcStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }]; }, { src: [{\n type: Input,\n args: ['src']\n }] }); })();\n/** @type {?} */\nconst imgSrcCache = new Map();\n/** @type {?} */\nconst inputs = [\n 'src.xs', 'src.sm', 'src.md', 'src.lg', 'src.xl',\n 'src.lt-sm', 'src.lt-md', 'src.lt-lg', 'src.lt-xl',\n 'src.gt-xs', 'src.gt-sm', 'src.gt-md', 'src.gt-lg'\n];\n/** @type {?} */\nconst selector = `\n img[src.xs], img[src.sm], img[src.md], img[src.lg], img[src.xl],\n img[src.lt-sm], img[src.lt-md], img[src.lt-lg], img[src.lt-xl],\n img[src.gt-xs], img[src.gt-sm], img[src.gt-md], img[src.gt-lg]\n`;\n/**\n * This directive provides a responsive API for the HTML 'src' attribute\n * and will update the img.src property upon each responsive activation.\n *\n * e.g.\n * \n *\n * @see https://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-src/\n */\nclass DefaultImgSrcDirective extends ImgSrcDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n}\nDefaultImgSrcDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultImgSrcDirective_BaseFactory; return function DefaultImgSrcDirective_Factory(t) { return (ɵDefaultImgSrcDirective_BaseFactory || (ɵDefaultImgSrcDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultImgSrcDirective)))(t || DefaultImgSrcDirective); }; }();\nDefaultImgSrcDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultImgSrcDirective, selectors: [[\"img\", \"src.xs\", \"\"], [\"img\", \"src.sm\", \"\"], [\"img\", \"src.md\", \"\"], [\"img\", \"src.lg\", \"\"], [\"img\", \"src.xl\", \"\"], [\"img\", \"src.lt-sm\", \"\"], [\"img\", \"src.lt-md\", \"\"], [\"img\", \"src.lt-lg\", \"\"], [\"img\", \"src.lt-xl\", \"\"], [\"img\", \"src.gt-xs\", \"\"], [\"img\", \"src.gt-sm\", \"\"], [\"img\", \"src.gt-md\", \"\"], [\"img\", \"src.gt-lg\", \"\"]], inputs: { \"src.xs\": \"src.xs\", \"src.sm\": \"src.sm\", \"src.md\": \"src.md\", \"src.lg\": \"src.lg\", \"src.xl\": \"src.xl\", \"src.lt-sm\": \"src.lt-sm\", \"src.lt-md\": \"src.lt-md\", \"src.lt-lg\": \"src.lt-lg\", \"src.lt-xl\": \"src.lt-xl\", \"src.gt-xs\": \"src.gt-xs\", \"src.gt-sm\": \"src.gt-sm\", \"src.gt-md\": \"src.gt-md\", \"src.gt-lg\": \"src.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultImgSrcDirective, [{\n type: Directive,\n args: [{ selector, inputs }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/class/class.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass ClassDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styler\n * @param {?} marshal\n * @param {?} iterableDiffers\n * @param {?} keyValueDiffers\n * @param {?} renderer2\n * @param {?} ngClassInstance\n */\n constructor(elementRef, styler, marshal, iterableDiffers, keyValueDiffers, renderer2, ngClassInstance) {\n super(elementRef, (/** @type {?} */ (null)), styler, marshal);\n this.ngClassInstance = ngClassInstance;\n this.DIRECTIVE_KEY = 'ngClass';\n if (!this.ngClassInstance) {\n // Create an instance NgClass Directive instance only if `ngClass=\"\"` has NOT been defined on\n // the same host element; since the responsive variations may be defined...\n this.ngClassInstance = new NgClass(iterableDiffers, keyValueDiffers, elementRef, renderer2);\n }\n this.init();\n this.setValue('', '');\n }\n /**\n * Capture class assignments so we cache the default classes\n * which are merged with activated styles and used as fallbacks.\n * @param {?} val\n * @return {?}\n */\n set klass(val) {\n this.ngClassInstance.klass = val;\n this.setValue(val, '');\n }\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.ngClassInstance.ngClass = value;\n this.ngClassInstance.ngDoCheck();\n }\n // ******************************************************************\n // Lifecycle Hooks\n // ******************************************************************\n /**\n * For ChangeDetectionStrategy.onPush and ngOnChanges() updates\n * @return {?}\n */\n ngDoCheck() {\n this.ngClassInstance.ngDoCheck();\n }\n}\nClassDirective.ɵfac = function ClassDirective_Factory(t) { return new (t || ClassDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgClass, 10)); };\nClassDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ClassDirective, inputs: { klass: [\"class\", \"klass\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nClassDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: MediaMarshaller },\n { type: IterableDiffers },\n { type: KeyValueDiffers },\n { type: Renderer2 },\n { type: NgClass, decorators: [{ type: Optional }, { type: Self }] }\n];\nClassDirective.propDecorators = {\n klass: [{ type: Input, args: ['class',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ClassDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }, { type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc2.NgClass, decorators: [{\n type: Optional\n }, {\n type: Self\n }] }]; }, { klass: [{\n type: Input,\n args: ['class']\n }] }); })();\n/** @type {?} */\nconst inputs$1 = [\n 'ngClass', 'ngClass.xs', 'ngClass.sm', 'ngClass.md', 'ngClass.lg', 'ngClass.xl',\n 'ngClass.lt-sm', 'ngClass.lt-md', 'ngClass.lt-lg', 'ngClass.lt-xl',\n 'ngClass.gt-xs', 'ngClass.gt-sm', 'ngClass.gt-md', 'ngClass.gt-lg'\n];\n/** @type {?} */\nconst selector$1 = `\n [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl],\n [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl],\n [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]\n`;\n/**\n * Directive to add responsive support for ngClass.\n * This maintains the core functionality of 'ngClass' and adds responsive API\n * Note: this class is a no-op when rendered on the server\n */\nclass DefaultClassDirective extends ClassDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$1;\n }\n}\nDefaultClassDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultClassDirective_BaseFactory; return function DefaultClassDirective_Factory(t) { return (ɵDefaultClassDirective_BaseFactory || (ɵDefaultClassDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultClassDirective)))(t || DefaultClassDirective); }; }();\nDefaultClassDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultClassDirective, selectors: [[\"\", \"ngClass\", \"\"], [\"\", \"ngClass.xs\", \"\"], [\"\", \"ngClass.sm\", \"\"], [\"\", \"ngClass.md\", \"\"], [\"\", \"ngClass.lg\", \"\"], [\"\", \"ngClass.xl\", \"\"], [\"\", \"ngClass.lt-sm\", \"\"], [\"\", \"ngClass.lt-md\", \"\"], [\"\", \"ngClass.lt-lg\", \"\"], [\"\", \"ngClass.lt-xl\", \"\"], [\"\", \"ngClass.gt-xs\", \"\"], [\"\", \"ngClass.gt-sm\", \"\"], [\"\", \"ngClass.gt-md\", \"\"], [\"\", \"ngClass.gt-lg\", \"\"]], inputs: { ngClass: \"ngClass\", \"ngClass.xs\": \"ngClass.xs\", \"ngClass.sm\": \"ngClass.sm\", \"ngClass.md\": \"ngClass.md\", \"ngClass.lg\": \"ngClass.lg\", \"ngClass.xl\": \"ngClass.xl\", \"ngClass.lt-sm\": \"ngClass.lt-sm\", \"ngClass.lt-md\": \"ngClass.lt-md\", \"ngClass.lt-lg\": \"ngClass.lt-lg\", \"ngClass.lt-xl\": \"ngClass.lt-xl\", \"ngClass.gt-xs\": \"ngClass.gt-xs\", \"ngClass.gt-sm\": \"ngClass.gt-sm\", \"ngClass.gt-md\": \"ngClass.gt-md\", \"ngClass.gt-lg\": \"ngClass.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultClassDirective, [{\n type: Directive,\n args: [{ selector: selector$1, inputs: inputs$1 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/show-hide/show-hide.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass ShowHideStyleBuilder extends StyleBuilder {\n /**\n * @param {?} show\n * @param {?} parent\n * @return {?}\n */\n buildStyles(show, parent) {\n /** @type {?} */\n const shouldShow = show === 'true';\n return { 'display': shouldShow ? parent.display || (parent.isServer ? 'initial' : '') : 'none' };\n }\n}\nShowHideStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵShowHideStyleBuilder_BaseFactory; return function ShowHideStyleBuilder_Factory(t) { return (ɵShowHideStyleBuilder_BaseFactory || (ɵShowHideStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(ShowHideStyleBuilder)))(t || ShowHideStyleBuilder); }; }();\n/** @nocollapse */ ShowHideStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function ShowHideStyleBuilder_Factory() { return new ShowHideStyleBuilder(); }, token: ShowHideStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ShowHideStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass ShowHideDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n * @param {?} layoutConfig\n * @param {?} platformId\n * @param {?} serverModuleLoaded\n */\n constructor(elementRef, styleBuilder, styler, marshal, layoutConfig, platformId, serverModuleLoaded) {\n super(elementRef, styleBuilder, styler, marshal);\n this.layoutConfig = layoutConfig;\n this.platformId = platformId;\n this.serverModuleLoaded = serverModuleLoaded;\n this.DIRECTIVE_KEY = 'show-hide';\n /**\n * Original DOM Element CSS display style\n */\n this.display = '';\n this.hasLayout = false;\n this.hasFlexChild = false;\n }\n // *********************************************\n // Lifecycle Methods\n // *********************************************\n /**\n * @return {?}\n */\n ngAfterViewInit() {\n this.trackExtraTriggers();\n /** @type {?} */\n const children = Array.from(this.nativeElement.children);\n for (let i = 0; i < children.length; i++) {\n if (this.marshal.hasValue((/** @type {?} */ (children[i])), 'flex')) {\n this.hasFlexChild = true;\n break;\n }\n }\n if (DISPLAY_MAP.has(this.nativeElement)) {\n this.display = (/** @type {?} */ (DISPLAY_MAP.get(this.nativeElement)));\n }\n else {\n this.display = this.getDisplayStyle();\n DISPLAY_MAP.set(this.nativeElement, this.display);\n }\n this.init();\n // set the default to show unless explicitly overridden\n /** @type {?} */\n const defaultValue = this.marshal.getValue(this.nativeElement, this.DIRECTIVE_KEY, '');\n if (defaultValue === undefined || defaultValue === '') {\n this.setValue(true, '');\n }\n else {\n this.triggerUpdate();\n }\n }\n /**\n * On changes to any \\@Input properties...\n * Default to use the non-responsive Input value ('fxShow')\n * Then conditionally override with the mq-activated Input's current value\n * @param {?} changes\n * @return {?}\n */\n ngOnChanges(changes) {\n Object.keys(changes).forEach((/**\n * @param {?} key\n * @return {?}\n */\n key => {\n if (this.inputs.indexOf(key) !== -1) {\n /** @type {?} */\n const inputKey = key.split('.');\n /** @type {?} */\n const bp = inputKey.slice(1).join('.');\n /** @type {?} */\n const inputValue = changes[key].currentValue;\n /** @type {?} */\n let shouldShow = inputValue !== '' ?\n inputValue !== 0 ? coerceBooleanProperty(inputValue) : false\n : true;\n if (inputKey[0] === 'fxHide') {\n shouldShow = !shouldShow;\n }\n this.setValue(shouldShow, bp);\n }\n }));\n }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * Watch for these extra triggers to update fxShow, fxHide stylings\n * @protected\n * @return {?}\n */\n trackExtraTriggers() {\n this.hasLayout = this.marshal.hasValue(this.nativeElement, 'layout');\n ['layout', 'layout-align'].forEach((/**\n * @param {?} key\n * @return {?}\n */\n key => {\n this.marshal\n .trackValue(this.nativeElement, key)\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.triggerUpdate.bind(this));\n }));\n }\n /**\n * Override accessor to the current HTMLElement's `display` style\n * Note: Show/Hide will not change the display to 'flex' but will set it to 'block'\n * unless it was already explicitly specified inline or in a CSS stylesheet.\n * @protected\n * @return {?}\n */\n getDisplayStyle() {\n return (this.hasLayout || (this.hasFlexChild && this.layoutConfig.addFlexToParent)) ?\n 'flex' : this.styler.lookupStyle(this.nativeElement, 'display', true);\n }\n /**\n * Validate the visibility value and then update the host's inline display style\n * @protected\n * @param {?=} value\n * @return {?}\n */\n updateWithValue(value = true) {\n if (value === '') {\n return;\n }\n /** @type {?} */\n const isServer = isPlatformServer(this.platformId);\n this.addStyles(value ? 'true' : 'false', { display: this.display, isServer });\n if (isServer && this.serverModuleLoaded) {\n this.nativeElement.style.setProperty('display', '');\n }\n this.marshal.triggerUpdate((/** @type {?} */ (this.parentElement)), 'layout-gap');\n }\n}\nShowHideDirective.ɵfac = function ShowHideDirective_Factory(t) { return new (t || ShowHideDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ShowHideStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller), ɵngcc0.ɵɵdirectiveInject(LAYOUT_CONFIG), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID), ɵngcc0.ɵɵdirectiveInject(SERVER_TOKEN)); };\nShowHideDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ShowHideDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\n/** @nocollapse */\nShowHideDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: ShowHideStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller },\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: Boolean, decorators: [{ type: Inject, args: [SERVER_TOKEN,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ShowHideDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ShowHideStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }, { type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }]; }, null); })();\n/** @type {?} */\nconst DISPLAY_MAP = new WeakMap();\n/** @type {?} */\nconst inputs$2 = [\n 'fxShow', 'fxShow.print',\n 'fxShow.xs', 'fxShow.sm', 'fxShow.md', 'fxShow.lg', 'fxShow.xl',\n 'fxShow.lt-sm', 'fxShow.lt-md', 'fxShow.lt-lg', 'fxShow.lt-xl',\n 'fxShow.gt-xs', 'fxShow.gt-sm', 'fxShow.gt-md', 'fxShow.gt-lg',\n 'fxHide', 'fxHide.print',\n 'fxHide.xs', 'fxHide.sm', 'fxHide.md', 'fxHide.lg', 'fxHide.xl',\n 'fxHide.lt-sm', 'fxHide.lt-md', 'fxHide.lt-lg', 'fxHide.lt-xl',\n 'fxHide.gt-xs', 'fxHide.gt-sm', 'fxHide.gt-md', 'fxHide.gt-lg'\n];\n/** @type {?} */\nconst selector$2 = `\n [fxShow], [fxShow.print],\n [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl],\n [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl],\n [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg],\n [fxHide], [fxHide.print],\n [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl],\n [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl],\n [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]\n`;\n/**\n * 'show' Layout API directive\n */\nclass DefaultShowHideDirective extends ShowHideDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$2;\n }\n}\nDefaultShowHideDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultShowHideDirective_BaseFactory; return function DefaultShowHideDirective_Factory(t) { return (ɵDefaultShowHideDirective_BaseFactory || (ɵDefaultShowHideDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultShowHideDirective)))(t || DefaultShowHideDirective); }; }();\nDefaultShowHideDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultShowHideDirective, selectors: [[\"\", \"fxShow\", \"\"], [\"\", \"fxShow.print\", \"\"], [\"\", \"fxShow.xs\", \"\"], [\"\", \"fxShow.sm\", \"\"], [\"\", \"fxShow.md\", \"\"], [\"\", \"fxShow.lg\", \"\"], [\"\", \"fxShow.xl\", \"\"], [\"\", \"fxShow.lt-sm\", \"\"], [\"\", \"fxShow.lt-md\", \"\"], [\"\", \"fxShow.lt-lg\", \"\"], [\"\", \"fxShow.lt-xl\", \"\"], [\"\", \"fxShow.gt-xs\", \"\"], [\"\", \"fxShow.gt-sm\", \"\"], [\"\", \"fxShow.gt-md\", \"\"], [\"\", \"fxShow.gt-lg\", \"\"], [\"\", \"fxHide\", \"\"], [\"\", \"fxHide.print\", \"\"], [\"\", \"fxHide.xs\", \"\"], [\"\", \"fxHide.sm\", \"\"], [\"\", \"fxHide.md\", \"\"], [\"\", \"fxHide.lg\", \"\"], [\"\", \"fxHide.xl\", \"\"], [\"\", \"fxHide.lt-sm\", \"\"], [\"\", \"fxHide.lt-md\", \"\"], [\"\", \"fxHide.lt-lg\", \"\"], [\"\", \"fxHide.lt-xl\", \"\"], [\"\", \"fxHide.gt-xs\", \"\"], [\"\", \"fxHide.gt-sm\", \"\"], [\"\", \"fxHide.gt-md\", \"\"], [\"\", \"fxHide.gt-lg\", \"\"]], inputs: { fxShow: \"fxShow\", \"fxShow.print\": \"fxShow.print\", \"fxShow.xs\": \"fxShow.xs\", \"fxShow.sm\": \"fxShow.sm\", \"fxShow.md\": \"fxShow.md\", \"fxShow.lg\": \"fxShow.lg\", \"fxShow.xl\": \"fxShow.xl\", \"fxShow.lt-sm\": \"fxShow.lt-sm\", \"fxShow.lt-md\": \"fxShow.lt-md\", \"fxShow.lt-lg\": \"fxShow.lt-lg\", \"fxShow.lt-xl\": \"fxShow.lt-xl\", \"fxShow.gt-xs\": \"fxShow.gt-xs\", \"fxShow.gt-sm\": \"fxShow.gt-sm\", \"fxShow.gt-md\": \"fxShow.gt-md\", \"fxShow.gt-lg\": \"fxShow.gt-lg\", fxHide: \"fxHide\", \"fxHide.print\": \"fxHide.print\", \"fxHide.xs\": \"fxHide.xs\", \"fxHide.sm\": \"fxHide.sm\", \"fxHide.md\": \"fxHide.md\", \"fxHide.lg\": \"fxHide.lg\", \"fxHide.xl\": \"fxHide.xl\", \"fxHide.lt-sm\": \"fxHide.lt-sm\", \"fxHide.lt-md\": \"fxHide.lt-md\", \"fxHide.lt-lg\": \"fxHide.lt-lg\", \"fxHide.lt-xl\": \"fxHide.lt-xl\", \"fxHide.gt-xs\": \"fxHide.gt-xs\", \"fxHide.gt-sm\": \"fxHide.gt-sm\", \"fxHide.gt-md\": \"fxHide.gt-md\", \"fxHide.gt-lg\": \"fxHide.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultShowHideDirective, [{\n type: Directive,\n args: [{ selector: selector$2, inputs: inputs$2 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/style/style-transforms.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * NgStyle allowed inputs\n */\nclass NgStyleKeyValue {\n /**\n * @param {?} key\n * @param {?} value\n * @param {?=} noQuotes\n */\n constructor(key, value, noQuotes = true) {\n this.key = key;\n this.value = value;\n this.key = noQuotes ? key.replace(/['\"]/g, '').trim() : key.trim();\n this.value = noQuotes ? value.replace(/['\"]/g, '').trim() : value.trim();\n this.value = this.value.replace(/;/, '');\n }\n}\n/**\n * @param {?} target\n * @return {?}\n */\nfunction getType(target) {\n /** @type {?} */\n let what = typeof target;\n if (what === 'object') {\n return (target.constructor === Array) ? 'array' :\n (target.constructor === Set) ? 'set' : 'object';\n }\n return what;\n}\n/**\n * Split string of key:value pairs into Array of k-v pairs\n * e.g. 'key:value; key:value; key:value;' -> ['key:value',...]\n * @param {?} source\n * @param {?=} delimiter\n * @return {?}\n */\nfunction buildRawList(source, delimiter = ';') {\n return String(source)\n .trim()\n .split(delimiter)\n .map((/**\n * @param {?} val\n * @return {?}\n */\n (val) => val.trim()))\n .filter((/**\n * @param {?} val\n * @return {?}\n */\n val => val !== ''));\n}\n/**\n * Convert array of key:value strings to a iterable map object\n * @param {?} styles\n * @param {?=} sanitize\n * @return {?}\n */\nfunction buildMapFromList(styles, sanitize) {\n /** @type {?} */\n const sanitizeValue = (/**\n * @param {?} it\n * @return {?}\n */\n (it) => {\n if (sanitize) {\n it.value = sanitize(it.value);\n }\n return it;\n });\n return styles\n .map(stringToKeyValue)\n .filter((/**\n * @param {?} entry\n * @return {?}\n */\n entry => !!entry))\n .map(sanitizeValue)\n .reduce(keyValuesToMap, (/** @type {?} */ ({})));\n}\n/**\n * Convert Set or raw Object to an iterable NgStyleMap\n * @param {?} source\n * @param {?=} sanitize\n * @return {?}\n */\nfunction buildMapFromSet(source, sanitize) {\n /** @type {?} */\n let list = [];\n if (getType(source) === 'set') {\n ((/** @type {?} */ (source))).forEach((/**\n * @param {?} entry\n * @return {?}\n */\n entry => list.push(entry)));\n }\n else {\n Object.keys(source).forEach((/**\n * @param {?} key\n * @return {?}\n */\n (key) => {\n list.push(`${key}:${((/** @type {?} */ (source)))[key]}`);\n }));\n }\n return buildMapFromList(list, sanitize);\n}\n/**\n * Convert 'key:value' -> [key, value]\n * @param {?} it\n * @return {?}\n */\nfunction stringToKeyValue(it) {\n const [key, ...vals] = it.split(':');\n return new NgStyleKeyValue(key, vals.join(':'));\n}\n/**\n * Convert [ [key,value] ] -> { key : value }\n * @param {?} map\n * @param {?} entry\n * @return {?}\n */\nfunction keyValuesToMap(map, entry) {\n if (!!entry.key) {\n map[entry.key] = entry.value;\n }\n return map;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/style/style.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass StyleDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styler\n * @param {?} marshal\n * @param {?} sanitizer\n * @param {?} differs\n * @param {?} renderer2\n * @param {?} ngStyleInstance\n * @param {?} serverLoaded\n * @param {?} platformId\n */\n constructor(elementRef, styler, marshal, sanitizer, differs, renderer2, ngStyleInstance, serverLoaded, platformId) {\n super(elementRef, (/** @type {?} */ (null)), styler, marshal);\n this.sanitizer = sanitizer;\n this.ngStyleInstance = ngStyleInstance;\n this.DIRECTIVE_KEY = 'ngStyle';\n if (!this.ngStyleInstance) {\n // Create an instance NgStyle Directive instance only if `ngStyle=\"\"` has NOT been\n // defined on the same host element; since the responsive variations may be defined...\n this.ngStyleInstance = new NgStyle(elementRef, differs, renderer2);\n }\n this.init();\n /** @type {?} */\n const styles = this.nativeElement.getAttribute('style') || '';\n this.fallbackStyles = this.buildStyleMap(styles);\n this.isServer = serverLoaded && isPlatformServer(platformId);\n }\n /**\n * Add generated styles\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n /** @type {?} */\n const styles = this.buildStyleMap(value);\n this.ngStyleInstance.ngStyle = Object.assign(Object.assign({}, this.fallbackStyles), styles);\n if (this.isServer) {\n this.applyStyleToElement(styles);\n }\n this.ngStyleInstance.ngDoCheck();\n }\n /**\n * Remove generated styles\n * @protected\n * @return {?}\n */\n clearStyles() {\n this.ngStyleInstance.ngStyle = this.fallbackStyles;\n this.ngStyleInstance.ngDoCheck();\n }\n /**\n * Convert raw strings to ngStyleMap; which is required by ngStyle\n * NOTE: Raw string key-value pairs MUST be delimited by `;`\n * Comma-delimiters are not supported due to complexities of\n * possible style values such as `rgba(x,x,x,x)` and others\n * @protected\n * @param {?} styles\n * @return {?}\n */\n buildStyleMap(styles) {\n // Always safe-guard (aka sanitize) style property values\n /** @type {?} */\n const sanitizer = (/**\n * @param {?} val\n * @return {?}\n */\n (val) => this.sanitizer.sanitize(SecurityContext.STYLE, val) || '');\n if (styles) {\n switch (getType(styles)) {\n case 'string': return buildMapFromList$1(buildRawList(styles), sanitizer);\n case 'array': return buildMapFromList$1((/** @type {?} */ (styles)), sanitizer);\n case 'set': return buildMapFromSet(styles, sanitizer);\n default: return buildMapFromSet(styles, sanitizer);\n }\n }\n return {};\n }\n // ******************************************************************\n // Lifecycle Hooks\n // ******************************************************************\n /**\n * For ChangeDetectionStrategy.onPush and ngOnChanges() updates\n * @return {?}\n */\n ngDoCheck() {\n this.ngStyleInstance.ngDoCheck();\n }\n}\nStyleDirective.ɵfac = function StyleDirective_Factory(t) { return new (t || StyleDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.DomSanitizer), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgStyle, 10), ɵngcc0.ɵɵdirectiveInject(SERVER_TOKEN), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nStyleDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: StyleDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nStyleDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: MediaMarshaller },\n { type: DomSanitizer },\n { type: KeyValueDiffers },\n { type: Renderer2 },\n { type: NgStyle, decorators: [{ type: Optional }, { type: Self }] },\n { type: Boolean, decorators: [{ type: Inject, args: [SERVER_TOKEN,] }] },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StyleDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }, { type: ɵngcc3.DomSanitizer }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc2.NgStyle, decorators: [{\n type: Optional\n }, {\n type: Self\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, null); })();\n/** @type {?} */\nconst inputs$3 = [\n 'ngStyle',\n 'ngStyle.xs', 'ngStyle.sm', 'ngStyle.md', 'ngStyle.lg', 'ngStyle.xl',\n 'ngStyle.lt-sm', 'ngStyle.lt-md', 'ngStyle.lt-lg', 'ngStyle.lt-xl',\n 'ngStyle.gt-xs', 'ngStyle.gt-sm', 'ngStyle.gt-md', 'ngStyle.gt-lg'\n];\n/** @type {?} */\nconst selector$3 = `\n [ngStyle],\n [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl],\n [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl],\n [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]\n`;\n/**\n * Directive to add responsive support for ngStyle.\n *\n */\nclass DefaultStyleDirective extends StyleDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$3;\n }\n}\nDefaultStyleDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultStyleDirective_BaseFactory; return function DefaultStyleDirective_Factory(t) { return (ɵDefaultStyleDirective_BaseFactory || (ɵDefaultStyleDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultStyleDirective)))(t || DefaultStyleDirective); }; }();\nDefaultStyleDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultStyleDirective, selectors: [[\"\", \"ngStyle\", \"\"], [\"\", \"ngStyle.xs\", \"\"], [\"\", \"ngStyle.sm\", \"\"], [\"\", \"ngStyle.md\", \"\"], [\"\", \"ngStyle.lg\", \"\"], [\"\", \"ngStyle.xl\", \"\"], [\"\", \"ngStyle.lt-sm\", \"\"], [\"\", \"ngStyle.lt-md\", \"\"], [\"\", \"ngStyle.lt-lg\", \"\"], [\"\", \"ngStyle.lt-xl\", \"\"], [\"\", \"ngStyle.gt-xs\", \"\"], [\"\", \"ngStyle.gt-sm\", \"\"], [\"\", \"ngStyle.gt-md\", \"\"], [\"\", \"ngStyle.gt-lg\", \"\"]], inputs: { ngStyle: \"ngStyle\", \"ngStyle.xs\": \"ngStyle.xs\", \"ngStyle.sm\": \"ngStyle.sm\", \"ngStyle.md\": \"ngStyle.md\", \"ngStyle.lg\": \"ngStyle.lg\", \"ngStyle.xl\": \"ngStyle.xl\", \"ngStyle.lt-sm\": \"ngStyle.lt-sm\", \"ngStyle.lt-md\": \"ngStyle.lt-md\", \"ngStyle.lt-lg\": \"ngStyle.lt-lg\", \"ngStyle.lt-xl\": \"ngStyle.lt-xl\", \"ngStyle.gt-xs\": \"ngStyle.gt-xs\", \"ngStyle.gt-sm\": \"ngStyle.gt-sm\", \"ngStyle.gt-md\": \"ngStyle.gt-md\", \"ngStyle.gt-lg\": \"ngStyle.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultStyleDirective, [{\n type: Directive,\n args: [{ selector: selector$3, inputs: inputs$3 }]\n }], null, null); })();\n/**\n * Build a styles map from a list of styles, while sanitizing bad values first\n * @param {?} styles\n * @param {?=} sanitize\n * @return {?}\n */\nfunction buildMapFromList$1(styles, sanitize) {\n /** @type {?} */\n const sanitizeValue = (/**\n * @param {?} it\n * @return {?}\n */\n (it) => {\n if (sanitize) {\n it.value = sanitize(it.value);\n }\n return it;\n });\n return styles\n .map(stringToKeyValue)\n .filter((/**\n * @param {?} entry\n * @return {?}\n */\n entry => !!entry))\n .map(sanitizeValue)\n .reduce(keyValuesToMap, (/** @type {?} */ ({})));\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/module.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst ALL_DIRECTIVES = [\n DefaultShowHideDirective,\n DefaultClassDirective,\n DefaultStyleDirective,\n DefaultImgSrcDirective,\n];\n/**\n * *****************************************************************\n * Define module for the Extended API\n * *****************************************************************\n */\nclass ExtendedModule {\n}\nExtendedModule.ɵfac = function ExtendedModule_Factory(t) { return new (t || ExtendedModule)(); };\nExtendedModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ExtendedModule });\nExtendedModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[CoreModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ExtendedModule, [{\n type: NgModule,\n args: [{\n imports: [CoreModule],\n declarations: [...ALL_DIRECTIVES],\n exports: [...ALL_DIRECTIVES]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ExtendedModule, { declarations: function () { return [DefaultShowHideDirective, DefaultClassDirective, DefaultStyleDirective, DefaultImgSrcDirective]; }, imports: function () { return [CoreModule]; }, exports: function () { return [DefaultShowHideDirective, DefaultClassDirective, DefaultStyleDirective, DefaultImgSrcDirective]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: extended/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { ExtendedModule, ClassDirective, DefaultClassDirective, ImgSrcStyleBuilder, ImgSrcDirective, DefaultImgSrcDirective, ShowHideStyleBuilder, ShowHideDirective, DefaultShowHideDirective, StyleDirective, DefaultStyleDirective };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Version, Inject, NgModule, PLATFORM_ID } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { SERVER_TOKEN, LAYOUT_CONFIG, DEFAULT_CONFIG, BREAKPOINT } from '@angular/flex-layout/core';\nimport * as ɵngcc0 from '@angular/core';\nexport { ɵMatchMedia, ɵMockMatchMedia, ɵMockMatchMediaProvider, CoreModule, removeStyles, BROWSER_PROVIDER, CLASS_NAME, MediaChange, StylesheetMap, DEFAULT_CONFIG, LAYOUT_CONFIG, SERVER_TOKEN, BREAKPOINT, mergeAlias, BaseDirective2, DEFAULT_BREAKPOINTS, ScreenTypes, ORIENTATION_BREAKPOINTS, BreakPointRegistry, BREAKPOINTS, MediaObserver, MediaTrigger, sortDescendingPriority, sortAscendingPriority, coerceArray, StyleUtils, StyleBuilder, validateBasis, MediaMarshaller, BREAKPOINT_PRINT, PrintHook } from '@angular/flex-layout/core';\nimport { ExtendedModule } from '@angular/flex-layout/extended';\nexport { ExtendedModule, ClassDirective, DefaultClassDirective, ImgSrcStyleBuilder, ImgSrcDirective, DefaultImgSrcDirective, ShowHideStyleBuilder, ShowHideDirective, DefaultShowHideDirective, StyleDirective, DefaultStyleDirective } from '@angular/flex-layout/extended';\nimport { FlexModule } from '@angular/flex-layout/flex';\nexport { FlexModule, FlexStyleBuilder, FlexDirective, DefaultFlexDirective, FlexAlignStyleBuilder, FlexAlignDirective, DefaultFlexAlignDirective, FlexFillStyleBuilder, FlexFillDirective, FlexOffsetStyleBuilder, FlexOffsetDirective, DefaultFlexOffsetDirective, FlexOrderStyleBuilder, FlexOrderDirective, DefaultFlexOrderDirective, LayoutStyleBuilder, LayoutDirective, DefaultLayoutDirective, LayoutAlignStyleBuilder, LayoutAlignDirective, DefaultLayoutAlignDirective, LayoutGapStyleBuilder, LayoutGapDirective, DefaultLayoutGapDirective } from '@angular/flex-layout/flex';\nimport { GridModule } from '@angular/flex-layout/grid';\nexport { GridModule, GridAlignColumnsStyleBuilder, GridAlignColumnsDirective, DefaultGridAlignColumnsDirective, GridAlignRowsStyleBuilder, GridAlignRowsDirective, DefaultGridAlignRowsDirective, GridAreaStyleBuilder, GridAreaDirective, DefaultGridAreaDirective, GridAreasStyleBuiler, GridAreasDirective, DefaultGridAreasDirective, GridAutoStyleBuilder, GridAutoDirective, DefaultGridAutoDirective, GridColumnStyleBuilder, GridColumnDirective, DefaultGridColumnDirective, GridColumnsStyleBuilder, GridColumnsDirective, DefaultGridColumnsDirective, GridGapStyleBuilder, GridGapDirective, DefaultGridGapDirective, GridAlignStyleBuilder, GridAlignDirective, DefaultGridAlignDirective, GridRowStyleBuilder, GridRowDirective, DefaultGridRowDirective, GridRowsStyleBuilder, GridRowsDirective, DefaultGridRowsDirective } from '@angular/flex-layout/grid';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: version.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * Current version of Angular Flex-Layout.\n * @type {?}\n */\nconst VERSION = new Version('12.0.0-beta.35');\n\n/**\n * @fileoverview added by tsickle\n * Generated from: module.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * FlexLayoutModule -- the main import for all utilities in the Angular Layout library\n * * Will automatically provide Flex, Grid, and Extended modules for use in the application\n * * Can be configured using the static withConfig method, options viewable on the Wiki's\n * Configuration page\n */\nclass FlexLayoutModule {\n /**\n * @param {?} serverModuleLoaded\n * @param {?} platformId\n */\n constructor(serverModuleLoaded, platformId) {\n if (isPlatformServer(platformId) && !serverModuleLoaded) {\n console.warn('Warning: Flex Layout loaded on the server without FlexLayoutServerModule');\n }\n }\n /**\n * Initialize the FlexLayoutModule with a set of config options,\n * which sets the corresponding tokens accordingly\n * @param {?} configOptions\n * @param {?=} breakpoints\n * @return {?}\n */\n static withConfig(configOptions, \n // tslint:disable-next-line:max-line-length\n breakpoints = []) {\n return {\n ngModule: FlexLayoutModule,\n providers: configOptions.serverLoaded ?\n [\n { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },\n { provide: BREAKPOINT, useValue: breakpoints, multi: true },\n { provide: SERVER_TOKEN, useValue: true },\n ] : [\n { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },\n { provide: BREAKPOINT, useValue: breakpoints, multi: true },\n ]\n };\n }\n}\nFlexLayoutModule.ɵfac = function FlexLayoutModule_Factory(t) { return new (t || FlexLayoutModule)(ɵngcc0.ɵɵinject(SERVER_TOKEN), ɵngcc0.ɵɵinject(PLATFORM_ID)); };\nFlexLayoutModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FlexLayoutModule });\nFlexLayoutModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[FlexModule, ExtendedModule, GridModule], FlexModule, ExtendedModule, GridModule] });\n/** @nocollapse */\nFlexLayoutModule.ctorParameters = () => [\n { type: Boolean, decorators: [{ type: Inject, args: [SERVER_TOKEN,] }] },\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexLayoutModule, [{\n type: NgModule,\n args: [{\n imports: [FlexModule, ExtendedModule, GridModule],\n exports: [FlexModule, ExtendedModule, GridModule]\n }]\n }], function () { return [{ type: Boolean, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FlexLayoutModule, { imports: function () { return [FlexModule, ExtendedModule, GridModule]; }, exports: function () { return [FlexModule, ExtendedModule, GridModule]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { VERSION, FlexLayoutModule };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Directive, ElementRef, Injectable, NgModule, NgZone, Inject, Input, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';\nimport { BaseDirective2, StyleBuilder, StyleUtils, MediaMarshaller, CoreModule, LAYOUT_CONFIG, validateBasis } from '@angular/flex-layout/core';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: utils/layout-validator.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @type {?}\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/flex-layout/core';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nconst INLINE = 'inline';\n/** @type {?} */\nconst LAYOUT_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'];\n/**\n * Validate the direction|'direction wrap' value and then update the host's inline flexbox styles\n * @param {?} value\n * @return {?}\n */\nfunction buildLayoutCSS(value) {\n let [direction, wrap, isInline] = validateValue(value);\n return buildCSS(direction, wrap, isInline);\n}\n/**\n * Validate the value to be one of the acceptable value options\n * Use default fallback of 'row'\n * @param {?} value\n * @return {?}\n */\nfunction validateValue(value) {\n value = value ? value.toLowerCase() : '';\n let [direction, wrap, inline] = value.split(' ');\n // First value must be the `flex-direction`\n if (!LAYOUT_VALUES.find((/**\n * @param {?} x\n * @return {?}\n */\n x => x === direction))) {\n direction = LAYOUT_VALUES[0];\n }\n if (wrap === INLINE) {\n wrap = (inline !== INLINE) ? inline : '';\n inline = INLINE;\n }\n return [direction, validateWrapValue(wrap), !!inline];\n}\n/**\n * Determine if the validated, flex-direction value specifies\n * a horizontal/row flow.\n * @param {?} value\n * @return {?}\n */\nfunction isFlowHorizontal(value) {\n let [flow,] = validateValue(value);\n return flow.indexOf('row') > -1;\n}\n/**\n * Convert layout-wrap='' to expected flex-wrap style\n * @param {?} value\n * @return {?}\n */\nfunction validateWrapValue(value) {\n if (!!value) {\n switch (value.toLowerCase()) {\n case 'reverse':\n case 'wrap-reverse':\n case 'reverse-wrap':\n value = 'wrap-reverse';\n break;\n case 'no':\n case 'none':\n case 'nowrap':\n value = 'nowrap';\n break;\n // All other values fallback to 'wrap'\n default:\n value = 'wrap';\n break;\n }\n }\n return value;\n}\n/**\n * Build the CSS that should be assigned to the element instance\n * BUG:\n * 1) min-height on a column flex container won’t apply to its flex item children in IE 10-11.\n * Use height instead if possible; height : vh;\n *\n * This way any padding or border specified on the child elements are\n * laid out and drawn inside that element's specified width and height.\n * @param {?} direction\n * @param {?=} wrap\n * @param {?=} inline\n * @return {?}\n */\nfunction buildCSS(direction, wrap = null, inline = false) {\n return {\n 'display': inline ? 'inline-flex' : 'flex',\n 'box-sizing': 'border-box',\n 'flex-direction': direction,\n 'flex-wrap': !!wrap ? wrap : null\n };\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/layout/layout.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass LayoutStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n return buildLayoutCSS(input);\n }\n}\nLayoutStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵLayoutStyleBuilder_BaseFactory; return function LayoutStyleBuilder_Factory(t) { return (ɵLayoutStyleBuilder_BaseFactory || (ɵLayoutStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(LayoutStyleBuilder)))(t || LayoutStyleBuilder); }; }();\n/** @nocollapse */ LayoutStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function LayoutStyleBuilder_Factory() { return new LayoutStyleBuilder(); }, token: LayoutStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** @type {?} */\nconst inputs = [\n 'fxLayout', 'fxLayout.xs', 'fxLayout.sm', 'fxLayout.md',\n 'fxLayout.lg', 'fxLayout.xl', 'fxLayout.lt-sm', 'fxLayout.lt-md',\n 'fxLayout.lt-lg', 'fxLayout.lt-xl', 'fxLayout.gt-xs', 'fxLayout.gt-sm',\n 'fxLayout.gt-md', 'fxLayout.gt-lg'\n];\n/** @type {?} */\nconst selector = `\n [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],\n [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],\n [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],\n [fxLayout.gt-md], [fxLayout.gt-lg]\n`;\n/**\n * 'layout' flexbox styling directive\n * Defines the positioning flow direction for the child elements: row or column\n * Optional values: column or row (default)\n * @see https://css-tricks.com/almanac/properties/f/flex-direction/\n *\n */\nclass LayoutDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'layout';\n this.styleCache = layoutCache;\n this.init();\n }\n}\nLayoutDirective.ɵfac = function LayoutDirective_Factory(t) { return new (t || LayoutDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(LayoutStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nLayoutDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: LayoutDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nLayoutDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: LayoutStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: LayoutStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\nclass DefaultLayoutDirective extends LayoutDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n}\nDefaultLayoutDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultLayoutDirective_BaseFactory; return function DefaultLayoutDirective_Factory(t) { return (ɵDefaultLayoutDirective_BaseFactory || (ɵDefaultLayoutDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultLayoutDirective)))(t || DefaultLayoutDirective); }; }();\nDefaultLayoutDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultLayoutDirective, selectors: [[\"\", \"fxLayout\", \"\"], [\"\", \"fxLayout.xs\", \"\"], [\"\", \"fxLayout.sm\", \"\"], [\"\", \"fxLayout.md\", \"\"], [\"\", \"fxLayout.lg\", \"\"], [\"\", \"fxLayout.xl\", \"\"], [\"\", \"fxLayout.lt-sm\", \"\"], [\"\", \"fxLayout.lt-md\", \"\"], [\"\", \"fxLayout.lt-lg\", \"\"], [\"\", \"fxLayout.lt-xl\", \"\"], [\"\", \"fxLayout.gt-xs\", \"\"], [\"\", \"fxLayout.gt-sm\", \"\"], [\"\", \"fxLayout.gt-md\", \"\"], [\"\", \"fxLayout.gt-lg\", \"\"]], inputs: { fxLayout: \"fxLayout\", \"fxLayout.xs\": \"fxLayout.xs\", \"fxLayout.sm\": \"fxLayout.sm\", \"fxLayout.md\": \"fxLayout.md\", \"fxLayout.lg\": \"fxLayout.lg\", \"fxLayout.xl\": \"fxLayout.xl\", \"fxLayout.lt-sm\": \"fxLayout.lt-sm\", \"fxLayout.lt-md\": \"fxLayout.lt-md\", \"fxLayout.lt-lg\": \"fxLayout.lt-lg\", \"fxLayout.lt-xl\": \"fxLayout.lt-xl\", \"fxLayout.gt-xs\": \"fxLayout.gt-xs\", \"fxLayout.gt-sm\": \"fxLayout.gt-sm\", \"fxLayout.gt-md\": \"fxLayout.gt-md\", \"fxLayout.gt-lg\": \"fxLayout.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultLayoutDirective, [{\n type: Directive,\n args: [{ selector, inputs }]\n }], null, null); })();\n/** @type {?} */\nconst layoutCache = new Map();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/layout-gap/layout-gap.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst CLEAR_MARGIN_CSS = {\n 'margin-left': null,\n 'margin-right': null,\n 'margin-top': null,\n 'margin-bottom': null\n};\nclass LayoutGapStyleBuilder extends StyleBuilder {\n /**\n * @param {?} _styler\n */\n constructor(_styler) {\n super();\n this._styler = _styler;\n }\n /**\n * @param {?} gapValue\n * @param {?} parent\n * @return {?}\n */\n buildStyles(gapValue, parent) {\n if (gapValue.endsWith(GRID_SPECIFIER)) {\n gapValue = gapValue.slice(0, gapValue.indexOf(GRID_SPECIFIER));\n // Add the margin to the host element\n return buildGridMargin(gapValue, parent.directionality);\n }\n else {\n return {};\n }\n }\n /**\n * @param {?} gapValue\n * @param {?} _styles\n * @param {?} parent\n * @return {?}\n */\n sideEffect(gapValue, _styles, parent) {\n /** @type {?} */\n const items = parent.items;\n if (gapValue.endsWith(GRID_SPECIFIER)) {\n gapValue = gapValue.slice(0, gapValue.indexOf(GRID_SPECIFIER));\n // For each `element` children, set the padding\n /** @type {?} */\n const paddingStyles = buildGridPadding(gapValue, parent.directionality);\n this._styler.applyStyleToElements(paddingStyles, parent.items);\n }\n else {\n /** @type {?} */\n const lastItem = (/** @type {?} */ (items.pop()));\n // For each `element` children EXCEPT the last,\n // set the margin right/bottom styles...\n /** @type {?} */\n const gapCss = buildGapCSS(gapValue, parent);\n this._styler.applyStyleToElements(gapCss, items);\n // Clear all gaps for all visible elements\n this._styler.applyStyleToElements(CLEAR_MARGIN_CSS, [lastItem]);\n }\n }\n}\nLayoutGapStyleBuilder.ɵfac = function LayoutGapStyleBuilder_Factory(t) { return new (t || LayoutGapStyleBuilder)(ɵngcc0.ɵɵinject(ɵngcc1.StyleUtils)); };\n/** @nocollapse */ LayoutGapStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function LayoutGapStyleBuilder_Factory() { return new LayoutGapStyleBuilder(ɵɵinject(StyleUtils)); }, token: LayoutGapStyleBuilder, providedIn: \"root\" });\n/** @nocollapse */\nLayoutGapStyleBuilder.ctorParameters = () => [\n { type: StyleUtils }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutGapStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.StyleUtils }]; }, null); })();\n/** @type {?} */\nconst inputs$1 = [\n 'fxLayoutGap', 'fxLayoutGap.xs', 'fxLayoutGap.sm', 'fxLayoutGap.md',\n 'fxLayoutGap.lg', 'fxLayoutGap.xl', 'fxLayoutGap.lt-sm', 'fxLayoutGap.lt-md',\n 'fxLayoutGap.lt-lg', 'fxLayoutGap.lt-xl', 'fxLayoutGap.gt-xs', 'fxLayoutGap.gt-sm',\n 'fxLayoutGap.gt-md', 'fxLayoutGap.gt-lg'\n];\n/** @type {?} */\nconst selector$1 = `\n [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],\n [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],\n [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],\n [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]\n`;\n/**\n * 'layout-padding' styling directive\n * Defines padding of child elements in a layout container\n */\nclass LayoutGapDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} zone\n * @param {?} directionality\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, zone, directionality, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.zone = zone;\n this.directionality = directionality;\n this.styleUtils = styleUtils;\n this.layout = 'row'; // default flex-direction\n // default flex-direction\n this.DIRECTIVE_KEY = 'layout-gap';\n this.observerSubject = new Subject();\n /** @type {?} */\n const extraTriggers = [this.directionality.change, this.observerSubject.asObservable()];\n this.init(extraTriggers);\n this.marshal\n .trackValue(this.nativeElement, 'layout')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.onLayoutChange.bind(this));\n }\n /**\n * Special accessor to query for all child 'element' nodes regardless of type, class, etc\n * @protected\n * @return {?}\n */\n get childrenNodes() {\n /** @type {?} */\n const obj = this.nativeElement.children;\n /** @type {?} */\n const buffer = [];\n // iterate backwards ensuring that length is an UInt32\n for (let i = obj.length; i--;) {\n buffer[i] = obj[i];\n }\n return buffer;\n }\n // *********************************************\n // Lifecycle Methods\n // *********************************************\n /**\n * @return {?}\n */\n ngAfterContentInit() {\n this.buildChildObservable();\n this.triggerUpdate();\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * Cache the parent container 'flex-direction' and update the 'margin' styles\n * @protected\n * @param {?} matcher\n * @return {?}\n */\n onLayoutChange(matcher) {\n /** @type {?} */\n const layout = matcher.value;\n // Make sure to filter out 'wrap' option\n /** @type {?} */\n const direction = layout.split(' ');\n this.layout = direction[0];\n if (!LAYOUT_VALUES.find((/**\n * @param {?} x\n * @return {?}\n */\n x => x === this.layout))) {\n this.layout = 'row';\n }\n this.triggerUpdate();\n }\n /**\n *\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n // Gather all non-hidden Element nodes\n /** @type {?} */\n const items = this.childrenNodes\n .filter((/**\n * @param {?} el\n * @return {?}\n */\n el => el.nodeType === 1 && this.willDisplay(el)))\n .sort((/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\n (a, b) => {\n /** @type {?} */\n const orderA = +this.styler.lookupStyle(a, 'order');\n /** @type {?} */\n const orderB = +this.styler.lookupStyle(b, 'order');\n if (isNaN(orderA) || isNaN(orderB) || orderA === orderB) {\n return 0;\n }\n else {\n return orderA > orderB ? 1 : -1;\n }\n }));\n if (items.length > 0) {\n /** @type {?} */\n const directionality = this.directionality.value;\n /** @type {?} */\n const layout = this.layout;\n if (layout === 'row' && directionality === 'rtl') {\n this.styleCache = layoutGapCacheRowRtl;\n }\n else if (layout === 'row' && directionality !== 'rtl') {\n this.styleCache = layoutGapCacheRowLtr;\n }\n else if (layout === 'column' && directionality === 'rtl') {\n this.styleCache = layoutGapCacheColumnRtl;\n }\n else if (layout === 'column' && directionality !== 'rtl') {\n this.styleCache = layoutGapCacheColumnLtr;\n }\n this.addStyles(value, { directionality, items, layout });\n }\n }\n /**\n * We need to override clearStyles because in most cases mru isn't populated\n * @protected\n * @return {?}\n */\n clearStyles() {\n /** @type {?} */\n const gridMode = Object.keys(this.mru).length > 0;\n /** @type {?} */\n const childrenStyle = gridMode ? 'padding' :\n getMarginType(this.directionality.value, this.layout);\n // If there are styles on the parent remove them\n if (gridMode) {\n super.clearStyles();\n }\n // Then remove the children styles too\n this.styleUtils.applyStyleToElements({ [childrenStyle]: '' }, this.childrenNodes);\n }\n /**\n * Determine if an element will show or hide based on current activation\n * @protected\n * @param {?} source\n * @return {?}\n */\n willDisplay(source) {\n /** @type {?} */\n const value = this.marshal.getValue(source, 'show-hide');\n return value === true ||\n (value === undefined && this.styleUtils.lookupStyle(source, 'display') !== 'none');\n }\n /**\n * @protected\n * @return {?}\n */\n buildChildObservable() {\n this.zone.runOutsideAngular((/**\n * @return {?}\n */\n () => {\n if (typeof MutationObserver !== 'undefined') {\n this.observer = new MutationObserver((/**\n * @param {?} mutations\n * @return {?}\n */\n (mutations) => {\n /** @type {?} */\n const validatedChanges = (/**\n * @param {?} it\n * @return {?}\n */\n (it) => {\n return (it.addedNodes && it.addedNodes.length > 0) ||\n (it.removedNodes && it.removedNodes.length > 0);\n });\n // update gap styles only for child 'added' or 'removed' events\n if (mutations.some(validatedChanges)) {\n this.observerSubject.next();\n }\n }));\n this.observer.observe(this.nativeElement, { childList: true });\n }\n }));\n }\n}\nLayoutGapDirective.ɵfac = function LayoutGapDirective_Factory(t) { return new (t || LayoutGapDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(LayoutGapStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nLayoutGapDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: LayoutGapDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nLayoutGapDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: Directionality },\n { type: StyleUtils },\n { type: LayoutGapStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutGapDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc2.Directionality }, { type: ɵngcc1.StyleUtils }, { type: LayoutGapStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\nclass DefaultLayoutGapDirective extends LayoutGapDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$1;\n }\n}\nDefaultLayoutGapDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultLayoutGapDirective_BaseFactory; return function DefaultLayoutGapDirective_Factory(t) { return (ɵDefaultLayoutGapDirective_BaseFactory || (ɵDefaultLayoutGapDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultLayoutGapDirective)))(t || DefaultLayoutGapDirective); }; }();\nDefaultLayoutGapDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultLayoutGapDirective, selectors: [[\"\", \"fxLayoutGap\", \"\"], [\"\", \"fxLayoutGap.xs\", \"\"], [\"\", \"fxLayoutGap.sm\", \"\"], [\"\", \"fxLayoutGap.md\", \"\"], [\"\", \"fxLayoutGap.lg\", \"\"], [\"\", \"fxLayoutGap.xl\", \"\"], [\"\", \"fxLayoutGap.lt-sm\", \"\"], [\"\", \"fxLayoutGap.lt-md\", \"\"], [\"\", \"fxLayoutGap.lt-lg\", \"\"], [\"\", \"fxLayoutGap.lt-xl\", \"\"], [\"\", \"fxLayoutGap.gt-xs\", \"\"], [\"\", \"fxLayoutGap.gt-sm\", \"\"], [\"\", \"fxLayoutGap.gt-md\", \"\"], [\"\", \"fxLayoutGap.gt-lg\", \"\"]], inputs: { fxLayoutGap: \"fxLayoutGap\", \"fxLayoutGap.xs\": \"fxLayoutGap.xs\", \"fxLayoutGap.sm\": \"fxLayoutGap.sm\", \"fxLayoutGap.md\": \"fxLayoutGap.md\", \"fxLayoutGap.lg\": \"fxLayoutGap.lg\", \"fxLayoutGap.xl\": \"fxLayoutGap.xl\", \"fxLayoutGap.lt-sm\": \"fxLayoutGap.lt-sm\", \"fxLayoutGap.lt-md\": \"fxLayoutGap.lt-md\", \"fxLayoutGap.lt-lg\": \"fxLayoutGap.lt-lg\", \"fxLayoutGap.lt-xl\": \"fxLayoutGap.lt-xl\", \"fxLayoutGap.gt-xs\": \"fxLayoutGap.gt-xs\", \"fxLayoutGap.gt-sm\": \"fxLayoutGap.gt-sm\", \"fxLayoutGap.gt-md\": \"fxLayoutGap.gt-md\", \"fxLayoutGap.gt-lg\": \"fxLayoutGap.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultLayoutGapDirective, [{\n type: Directive,\n args: [{ selector: selector$1, inputs: inputs$1 }]\n }], null, null); })();\n/** @type {?} */\nconst layoutGapCacheRowRtl = new Map();\n/** @type {?} */\nconst layoutGapCacheColumnRtl = new Map();\n/** @type {?} */\nconst layoutGapCacheRowLtr = new Map();\n/** @type {?} */\nconst layoutGapCacheColumnLtr = new Map();\n/** @type {?} */\nconst GRID_SPECIFIER = ' grid';\n/**\n * @param {?} value\n * @param {?} directionality\n * @return {?}\n */\nfunction buildGridPadding(value, directionality) {\n const [between, below] = value.split(' ');\n /** @type {?} */\n const bottom = below || between;\n /** @type {?} */\n let paddingRight = '0px';\n /** @type {?} */\n let paddingBottom = bottom;\n /** @type {?} */\n let paddingLeft = '0px';\n if (directionality === 'rtl') {\n paddingLeft = between;\n }\n else {\n paddingRight = between;\n }\n return { 'padding': `0px ${paddingRight} ${paddingBottom} ${paddingLeft}` };\n}\n/**\n * @param {?} value\n * @param {?} directionality\n * @return {?}\n */\nfunction buildGridMargin(value, directionality) {\n const [between, below] = value.split(' ');\n /** @type {?} */\n const bottom = below || between;\n /** @type {?} */\n const minus = (/**\n * @param {?} str\n * @return {?}\n */\n (str) => `-${str}`);\n /** @type {?} */\n let marginRight = '0px';\n /** @type {?} */\n let marginBottom = minus(bottom);\n /** @type {?} */\n let marginLeft = '0px';\n if (directionality === 'rtl') {\n marginLeft = minus(between);\n }\n else {\n marginRight = minus(between);\n }\n return { 'margin': `0px ${marginRight} ${marginBottom} ${marginLeft}` };\n}\n/**\n * @param {?} directionality\n * @param {?} layout\n * @return {?}\n */\nfunction getMarginType(directionality, layout) {\n switch (layout) {\n case 'column':\n return 'margin-bottom';\n case 'column-reverse':\n return 'margin-top';\n case 'row':\n return directionality === 'rtl' ? 'margin-left' : 'margin-right';\n case 'row-reverse':\n return directionality === 'rtl' ? 'margin-right' : 'margin-left';\n default:\n return directionality === 'rtl' ? 'margin-left' : 'margin-right';\n }\n}\n/**\n * @param {?} gapValue\n * @param {?} parent\n * @return {?}\n */\nfunction buildGapCSS(gapValue, parent) {\n /** @type {?} */\n const key = getMarginType(parent.directionality, parent.layout);\n /** @type {?} */\n const margins = Object.assign({}, CLEAR_MARGIN_CSS);\n margins[key] = gapValue;\n return margins;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: utils/object-extend.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * Extends an object with the *enumerable* and *own* properties of one or more source objects,\n * similar to Object.assign.\n *\n * @param {?} dest The object which will have properties copied to it.\n * @param {...?} sources The source objects from which properties will be copied.\n * @return {?}\n */\nfunction extendObject(dest, ...sources) {\n if (dest == null) {\n throw TypeError('Cannot convert undefined or null to object');\n }\n for (let source of sources) {\n if (source != null) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n dest[key] = source[key];\n }\n }\n }\n }\n return dest;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/flex/flex.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FlexStyleBuilder extends StyleBuilder {\n /**\n * @param {?} layoutConfig\n */\n constructor(layoutConfig) {\n super();\n this.layoutConfig = layoutConfig;\n }\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n let [grow, shrink, ...basisParts] = input.split(' ');\n /** @type {?} */\n let basis = basisParts.join(' ');\n // The flex-direction of this element's flex container. Defaults to 'row'.\n /** @type {?} */\n const direction = (parent.direction.indexOf('column') > -1) ? 'column' : 'row';\n /** @type {?} */\n const max = isFlowHorizontal(direction) ? 'max-width' : 'max-height';\n /** @type {?} */\n const min = isFlowHorizontal(direction) ? 'min-width' : 'min-height';\n /** @type {?} */\n const hasCalc = String(basis).indexOf('calc') > -1;\n /** @type {?} */\n const usingCalc = hasCalc || (basis === 'auto');\n /** @type {?} */\n const isPercent = String(basis).indexOf('%') > -1 && !hasCalc;\n /** @type {?} */\n const hasUnits = String(basis).indexOf('px') > -1 || String(basis).indexOf('rem') > -1 ||\n String(basis).indexOf('em') > -1 || String(basis).indexOf('vw') > -1 ||\n String(basis).indexOf('vh') > -1;\n /** @type {?} */\n let isValue = (hasCalc || hasUnits);\n grow = (grow == '0') ? 0 : grow;\n shrink = (shrink == '0') ? 0 : shrink;\n // make box inflexible when shrink and grow are both zero\n // should not set a min when the grow is zero\n // should not set a max when the shrink is zero\n /** @type {?} */\n const isFixed = !grow && !shrink;\n /** @type {?} */\n let css = {};\n // flex-basis allows you to specify the initial/starting main-axis size of the element,\n // before anything else is computed. It can either be a percentage or an absolute value.\n // It is, however, not the breaking point for flex-grow/shrink properties\n //\n // flex-grow can be seen as this:\n // 0: Do not stretch. Either size to element's content width, or obey 'flex-basis'.\n // 1: (Default value). Stretch; will be the same size to all other flex items on\n // the same row since they have a default value of 1.\n // ≥2 (integer n): Stretch. Will be n times the size of other elements\n // with 'flex-grow: 1' on the same row.\n // Use `null` to clear existing styles.\n /** @type {?} */\n const clearStyles = {\n 'max-width': null,\n 'max-height': null,\n 'min-width': null,\n 'min-height': null\n };\n switch (basis || '') {\n case '':\n /** @type {?} */\n const useColumnBasisZero = this.layoutConfig.useColumnBasisZero !== false;\n basis = direction === 'row' ? '0%' : (useColumnBasisZero ? '0.000000001px' : 'auto');\n break;\n case 'initial': // default\n case 'nogrow':\n grow = 0;\n basis = 'auto';\n break;\n case 'grow':\n basis = '100%';\n break;\n case 'noshrink':\n shrink = 0;\n basis = 'auto';\n break;\n case 'auto':\n break;\n case 'none':\n grow = 0;\n shrink = 0;\n basis = 'auto';\n break;\n default:\n // Defaults to percentage sizing unless `px` is explicitly set\n if (!isValue && !isPercent && !isNaN((/** @type {?} */ (basis)))) {\n basis = basis + '%';\n }\n // Fix for issue 280\n if (basis === '0%') {\n isValue = true;\n }\n if (basis === '0px') {\n basis = '0%';\n }\n // fix issue #5345\n if (hasCalc) {\n css = extendObject(clearStyles, {\n 'flex-grow': grow,\n 'flex-shrink': shrink,\n 'flex-basis': isValue ? basis : '100%'\n });\n }\n else {\n css = extendObject(clearStyles, {\n 'flex': `${grow} ${shrink} ${isValue ? basis : '100%'}`\n });\n }\n break;\n }\n if (!(css['flex'] || css['flex-grow'])) {\n if (hasCalc) {\n css = extendObject(clearStyles, {\n 'flex-grow': grow,\n 'flex-shrink': shrink,\n 'flex-basis': basis\n });\n }\n else {\n css = extendObject(clearStyles, {\n 'flex': `${grow} ${shrink} ${basis}`\n });\n }\n }\n // Fix for issues 277, 534, and 728\n if (basis !== '0%' && basis !== '0px' && basis !== '0.000000001px' && basis !== 'auto') {\n css[min] = isFixed || (isValue && grow) ? basis : null;\n css[max] = isFixed || (!usingCalc && shrink) ? basis : null;\n }\n // Fix for issue 528\n if (!css[min] && !css[max]) {\n if (hasCalc) {\n css = extendObject(clearStyles, {\n 'flex-grow': grow,\n 'flex-shrink': shrink,\n 'flex-basis': basis\n });\n }\n else {\n css = extendObject(clearStyles, {\n 'flex': `${grow} ${shrink} ${basis}`\n });\n }\n }\n else {\n // Fix for issue 660\n if (parent.hasWrap) {\n css[hasCalc ? 'flex-basis' : 'flex'] = css[max] ?\n (hasCalc ? css[max] : `${grow} ${shrink} ${css[max]}`) :\n (hasCalc ? css[min] : `${grow} ${shrink} ${css[min]}`);\n }\n }\n return (/** @type {?} */ (extendObject(css, { 'box-sizing': 'border-box' })));\n }\n}\nFlexStyleBuilder.ɵfac = function FlexStyleBuilder_Factory(t) { return new (t || FlexStyleBuilder)(ɵngcc0.ɵɵinject(LAYOUT_CONFIG)); };\n/** @nocollapse */ FlexStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function FlexStyleBuilder_Factory() { return new FlexStyleBuilder(ɵɵinject(LAYOUT_CONFIG)); }, token: FlexStyleBuilder, providedIn: \"root\" });\n/** @nocollapse */\nFlexStyleBuilder.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }]; }, null); })();\n/** @type {?} */\nconst inputs$2 = [\n 'fxFlex', 'fxFlex.xs', 'fxFlex.sm', 'fxFlex.md',\n 'fxFlex.lg', 'fxFlex.xl', 'fxFlex.lt-sm', 'fxFlex.lt-md',\n 'fxFlex.lt-lg', 'fxFlex.lt-xl', 'fxFlex.gt-xs', 'fxFlex.gt-sm',\n 'fxFlex.gt-md', 'fxFlex.gt-lg'\n];\n/** @type {?} */\nconst selector$2 = `\n [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],\n [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],\n [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],\n [fxFlex.gt-md], [fxFlex.gt-lg]\n`;\n/**\n * Directive to control the size of a flex item using flex-basis, flex-grow, and flex-shrink.\n * Corresponds to the css `flex` shorthand property.\n *\n * @see https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n */\nclass FlexDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} layoutConfig\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, layoutConfig, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.layoutConfig = layoutConfig;\n this.marshal = marshal;\n this.DIRECTIVE_KEY = 'flex';\n this.direction = undefined;\n this.wrap = undefined;\n this.flexGrow = '1';\n this.flexShrink = '1';\n this.init();\n }\n /**\n * @return {?}\n */\n get shrink() { return this.flexShrink; }\n /**\n * @param {?} value\n * @return {?}\n */\n set shrink(value) {\n this.flexShrink = value || '1';\n this.triggerReflow();\n }\n /**\n * @return {?}\n */\n get grow() { return this.flexGrow; }\n /**\n * @param {?} value\n * @return {?}\n */\n set grow(value) {\n this.flexGrow = value || '1';\n this.triggerReflow();\n }\n /**\n * @return {?}\n */\n ngOnInit() {\n if (this.parentElement) {\n this.marshal.trackValue(this.parentElement, 'layout')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.onLayoutChange.bind(this));\n this.marshal.trackValue(this.nativeElement, 'layout-align')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.triggerReflow.bind(this));\n }\n }\n /**\n * Caches the parent container's 'flex-direction' and updates the element's style.\n * Used as a handler for layout change events from the parent flex container.\n * @protected\n * @param {?} matcher\n * @return {?}\n */\n onLayoutChange(matcher) {\n /** @type {?} */\n const layout = matcher.value;\n /** @type {?} */\n const layoutParts = layout.split(' ');\n this.direction = layoutParts[0];\n this.wrap = layoutParts[1] !== undefined && layoutParts[1] === 'wrap';\n this.triggerUpdate();\n }\n /**\n * Input to this is exclusively the basis input value\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n /** @type {?} */\n const addFlexToParent = this.layoutConfig.addFlexToParent !== false;\n if (this.direction === undefined) {\n this.direction = this.getFlexFlowDirection((/** @type {?} */ (this.parentElement)), addFlexToParent);\n }\n if (this.wrap === undefined) {\n this.wrap = this.hasWrap((/** @type {?} */ (this.parentElement)));\n }\n /** @type {?} */\n const direction = this.direction;\n /** @type {?} */\n const isHorizontal = direction.startsWith('row');\n /** @type {?} */\n const hasWrap = this.wrap;\n if (isHorizontal && hasWrap) {\n this.styleCache = flexRowWrapCache;\n }\n else if (isHorizontal && !hasWrap) {\n this.styleCache = flexRowCache;\n }\n else if (!isHorizontal && hasWrap) {\n this.styleCache = flexColumnWrapCache;\n }\n else if (!isHorizontal && !hasWrap) {\n this.styleCache = flexColumnCache;\n }\n /** @type {?} */\n const basis = String(value).replace(';', '');\n /** @type {?} */\n const parts = validateBasis(basis, this.flexGrow, this.flexShrink);\n this.addStyles(parts.join(' '), { direction, hasWrap });\n }\n /**\n * Trigger a style reflow, usually based on a shrink/grow input event\n * @protected\n * @return {?}\n */\n triggerReflow() {\n /** @type {?} */\n const activatedValue = this.activatedValue;\n if (activatedValue !== undefined) {\n /** @type {?} */\n const parts = validateBasis(activatedValue + '', this.flexGrow, this.flexShrink);\n this.marshal.updateElement(this.nativeElement, this.DIRECTIVE_KEY, parts.join(' '));\n }\n }\n}\nFlexDirective.ɵfac = function FlexDirective_Factory(t) { return new (t || FlexDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(LAYOUT_CONFIG), ɵngcc0.ɵɵdirectiveInject(FlexStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nFlexDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FlexDirective, inputs: { shrink: [\"fxShrink\", \"shrink\"], grow: [\"fxGrow\", \"grow\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nFlexDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG,] }] },\n { type: FlexStyleBuilder },\n { type: MediaMarshaller }\n];\nFlexDirective.propDecorators = {\n shrink: [{ type: Input, args: ['fxShrink',] }],\n grow: [{ type: Input, args: ['fxGrow',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }, { type: FlexStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, { shrink: [{\n type: Input,\n args: ['fxShrink']\n }], grow: [{\n type: Input,\n args: ['fxGrow']\n }] }); })();\nclass DefaultFlexDirective extends FlexDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$2;\n }\n}\nDefaultFlexDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultFlexDirective_BaseFactory; return function DefaultFlexDirective_Factory(t) { return (ɵDefaultFlexDirective_BaseFactory || (ɵDefaultFlexDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultFlexDirective)))(t || DefaultFlexDirective); }; }();\nDefaultFlexDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultFlexDirective, selectors: [[\"\", \"fxFlex\", \"\"], [\"\", \"fxFlex.xs\", \"\"], [\"\", \"fxFlex.sm\", \"\"], [\"\", \"fxFlex.md\", \"\"], [\"\", \"fxFlex.lg\", \"\"], [\"\", \"fxFlex.xl\", \"\"], [\"\", \"fxFlex.lt-sm\", \"\"], [\"\", \"fxFlex.lt-md\", \"\"], [\"\", \"fxFlex.lt-lg\", \"\"], [\"\", \"fxFlex.lt-xl\", \"\"], [\"\", \"fxFlex.gt-xs\", \"\"], [\"\", \"fxFlex.gt-sm\", \"\"], [\"\", \"fxFlex.gt-md\", \"\"], [\"\", \"fxFlex.gt-lg\", \"\"]], inputs: { fxFlex: \"fxFlex\", \"fxFlex.xs\": \"fxFlex.xs\", \"fxFlex.sm\": \"fxFlex.sm\", \"fxFlex.md\": \"fxFlex.md\", \"fxFlex.lg\": \"fxFlex.lg\", \"fxFlex.xl\": \"fxFlex.xl\", \"fxFlex.lt-sm\": \"fxFlex.lt-sm\", \"fxFlex.lt-md\": \"fxFlex.lt-md\", \"fxFlex.lt-lg\": \"fxFlex.lt-lg\", \"fxFlex.lt-xl\": \"fxFlex.lt-xl\", \"fxFlex.gt-xs\": \"fxFlex.gt-xs\", \"fxFlex.gt-sm\": \"fxFlex.gt-sm\", \"fxFlex.gt-md\": \"fxFlex.gt-md\", \"fxFlex.gt-lg\": \"fxFlex.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultFlexDirective, [{\n type: Directive,\n args: [{ inputs: inputs$2, selector: selector$2 }]\n }], null, null); })();\n/** @type {?} */\nconst flexRowCache = new Map();\n/** @type {?} */\nconst flexColumnCache = new Map();\n/** @type {?} */\nconst flexRowWrapCache = new Map();\n/** @type {?} */\nconst flexColumnWrapCache = new Map();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/flex-order/flex-order.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FlexOrderStyleBuilder extends StyleBuilder {\n /**\n * @param {?} value\n * @return {?}\n */\n buildStyles(value) {\n return { order: (value && parseInt(value, 10)) || '' };\n }\n}\nFlexOrderStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵFlexOrderStyleBuilder_BaseFactory; return function FlexOrderStyleBuilder_Factory(t) { return (ɵFlexOrderStyleBuilder_BaseFactory || (ɵFlexOrderStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(FlexOrderStyleBuilder)))(t || FlexOrderStyleBuilder); }; }();\n/** @nocollapse */ FlexOrderStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function FlexOrderStyleBuilder_Factory() { return new FlexOrderStyleBuilder(); }, token: FlexOrderStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexOrderStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** @type {?} */\nconst inputs$3 = [\n 'fxFlexOrder', 'fxFlexOrder.xs', 'fxFlexOrder.sm', 'fxFlexOrder.md',\n 'fxFlexOrder.lg', 'fxFlexOrder.xl', 'fxFlexOrder.lt-sm', 'fxFlexOrder.lt-md',\n 'fxFlexOrder.lt-lg', 'fxFlexOrder.lt-xl', 'fxFlexOrder.gt-xs', 'fxFlexOrder.gt-sm',\n 'fxFlexOrder.gt-md', 'fxFlexOrder.gt-lg'\n];\n/** @type {?} */\nconst selector$3 = `\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\n`;\n/**\n * 'flex-order' flexbox styling directive\n * Configures the positional ordering of the element in a sorted layout container\n * @see https://css-tricks.com/almanac/properties/o/order/\n */\nclass FlexOrderDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'flex-order';\n this.styleCache = flexOrderCache;\n this.init();\n }\n}\nFlexOrderDirective.ɵfac = function FlexOrderDirective_Factory(t) { return new (t || FlexOrderDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(FlexOrderStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nFlexOrderDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FlexOrderDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nFlexOrderDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: FlexOrderStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexOrderDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: FlexOrderStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst flexOrderCache = new Map();\nclass DefaultFlexOrderDirective extends FlexOrderDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$3;\n }\n}\nDefaultFlexOrderDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultFlexOrderDirective_BaseFactory; return function DefaultFlexOrderDirective_Factory(t) { return (ɵDefaultFlexOrderDirective_BaseFactory || (ɵDefaultFlexOrderDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultFlexOrderDirective)))(t || DefaultFlexOrderDirective); }; }();\nDefaultFlexOrderDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultFlexOrderDirective, selectors: [[\"\", \"fxFlexOrder\", \"\"], [\"\", \"fxFlexOrder.xs\", \"\"], [\"\", \"fxFlexOrder.sm\", \"\"], [\"\", \"fxFlexOrder.md\", \"\"], [\"\", \"fxFlexOrder.lg\", \"\"], [\"\", \"fxFlexOrder.xl\", \"\"], [\"\", \"fxFlexOrder.lt-sm\", \"\"], [\"\", \"fxFlexOrder.lt-md\", \"\"], [\"\", \"fxFlexOrder.lt-lg\", \"\"], [\"\", \"fxFlexOrder.lt-xl\", \"\"], [\"\", \"fxFlexOrder.gt-xs\", \"\"], [\"\", \"fxFlexOrder.gt-sm\", \"\"], [\"\", \"fxFlexOrder.gt-md\", \"\"], [\"\", \"fxFlexOrder.gt-lg\", \"\"]], inputs: { fxFlexOrder: \"fxFlexOrder\", \"fxFlexOrder.xs\": \"fxFlexOrder.xs\", \"fxFlexOrder.sm\": \"fxFlexOrder.sm\", \"fxFlexOrder.md\": \"fxFlexOrder.md\", \"fxFlexOrder.lg\": \"fxFlexOrder.lg\", \"fxFlexOrder.xl\": \"fxFlexOrder.xl\", \"fxFlexOrder.lt-sm\": \"fxFlexOrder.lt-sm\", \"fxFlexOrder.lt-md\": \"fxFlexOrder.lt-md\", \"fxFlexOrder.lt-lg\": \"fxFlexOrder.lt-lg\", \"fxFlexOrder.lt-xl\": \"fxFlexOrder.lt-xl\", \"fxFlexOrder.gt-xs\": \"fxFlexOrder.gt-xs\", \"fxFlexOrder.gt-sm\": \"fxFlexOrder.gt-sm\", \"fxFlexOrder.gt-md\": \"fxFlexOrder.gt-md\", \"fxFlexOrder.gt-lg\": \"fxFlexOrder.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultFlexOrderDirective, [{\n type: Directive,\n args: [{ selector: selector$3, inputs: inputs$3 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/flex-offset/flex-offset.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FlexOffsetStyleBuilder extends StyleBuilder {\n /**\n * @param {?} offset\n * @param {?} parent\n * @return {?}\n */\n buildStyles(offset, parent) {\n if (offset === '') {\n offset = '0';\n }\n /** @type {?} */\n const isPercent = String(offset).indexOf('%') > -1;\n /** @type {?} */\n const isPx = String(offset).indexOf('px') > -1;\n if (!isPx && !isPercent && !isNaN(+offset)) {\n offset = offset + '%';\n }\n /** @type {?} */\n const horizontalLayoutKey = parent.isRtl ? 'margin-right' : 'margin-left';\n /** @type {?} */\n const styles = isFlowHorizontal(parent.layout) ?\n { [horizontalLayoutKey]: `${offset}` } : { 'margin-top': `${offset}` };\n return styles;\n }\n}\nFlexOffsetStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵFlexOffsetStyleBuilder_BaseFactory; return function FlexOffsetStyleBuilder_Factory(t) { return (ɵFlexOffsetStyleBuilder_BaseFactory || (ɵFlexOffsetStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(FlexOffsetStyleBuilder)))(t || FlexOffsetStyleBuilder); }; }();\n/** @nocollapse */ FlexOffsetStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function FlexOffsetStyleBuilder_Factory() { return new FlexOffsetStyleBuilder(); }, token: FlexOffsetStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexOffsetStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** @type {?} */\nconst inputs$4 = [\n 'fxFlexOffset', 'fxFlexOffset.xs', 'fxFlexOffset.sm', 'fxFlexOffset.md',\n 'fxFlexOffset.lg', 'fxFlexOffset.xl', 'fxFlexOffset.lt-sm', 'fxFlexOffset.lt-md',\n 'fxFlexOffset.lt-lg', 'fxFlexOffset.lt-xl', 'fxFlexOffset.gt-xs', 'fxFlexOffset.gt-sm',\n 'fxFlexOffset.gt-md', 'fxFlexOffset.gt-lg'\n];\n/** @type {?} */\nconst selector$4 = `\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\n`;\n/**\n * 'flex-offset' flexbox styling directive\n * Configures the 'margin-left' of the element in a layout container\n */\nclass FlexOffsetDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} directionality\n * @param {?} styleBuilder\n * @param {?} marshal\n * @param {?} styler\n */\n constructor(elRef, directionality, styleBuilder, marshal, styler) {\n super(elRef, styleBuilder, styler, marshal);\n this.directionality = directionality;\n this.DIRECTIVE_KEY = 'flex-offset';\n this.init([this.directionality.change]);\n // Parent DOM `layout-gap` with affect the nested child with `flex-offset`\n if (this.parentElement) {\n this.marshal\n .trackValue(this.parentElement, 'layout-gap')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.triggerUpdate.bind(this));\n }\n }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * Using the current fxFlexOffset value, update the inline CSS\n * NOTE: this will assign `margin-left` if the parent flex-direction == 'row',\n * otherwise `margin-top` is used for the offset.\n * @protected\n * @param {?=} value\n * @return {?}\n */\n updateWithValue(value = '') {\n // The flex-direction of this element's flex container. Defaults to 'row'.\n /** @type {?} */\n const layout = this.getFlexFlowDirection((/** @type {?} */ (this.parentElement)), true);\n /** @type {?} */\n const isRtl = this.directionality.value === 'rtl';\n if (layout === 'row' && isRtl) {\n this.styleCache = flexOffsetCacheRowRtl;\n }\n else if (layout === 'row' && !isRtl) {\n this.styleCache = flexOffsetCacheRowLtr;\n }\n else if (layout === 'column' && isRtl) {\n this.styleCache = flexOffsetCacheColumnRtl;\n }\n else if (layout === 'column' && !isRtl) {\n this.styleCache = flexOffsetCacheColumnLtr;\n }\n this.addStyles(value + '', { layout, isRtl });\n }\n}\nFlexOffsetDirective.ɵfac = function FlexOffsetDirective_Factory(t) { return new (t || FlexOffsetDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality), ɵngcc0.ɵɵdirectiveInject(FlexOffsetStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils)); };\nFlexOffsetDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FlexOffsetDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nFlexOffsetDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: Directionality },\n { type: FlexOffsetStyleBuilder },\n { type: MediaMarshaller },\n { type: StyleUtils }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexOffsetDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc2.Directionality }, { type: FlexOffsetStyleBuilder }, { type: ɵngcc1.MediaMarshaller }, { type: ɵngcc1.StyleUtils }]; }, null); })();\nclass DefaultFlexOffsetDirective extends FlexOffsetDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$4;\n }\n}\nDefaultFlexOffsetDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultFlexOffsetDirective_BaseFactory; return function DefaultFlexOffsetDirective_Factory(t) { return (ɵDefaultFlexOffsetDirective_BaseFactory || (ɵDefaultFlexOffsetDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultFlexOffsetDirective)))(t || DefaultFlexOffsetDirective); }; }();\nDefaultFlexOffsetDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultFlexOffsetDirective, selectors: [[\"\", \"fxFlexOffset\", \"\"], [\"\", \"fxFlexOffset.xs\", \"\"], [\"\", \"fxFlexOffset.sm\", \"\"], [\"\", \"fxFlexOffset.md\", \"\"], [\"\", \"fxFlexOffset.lg\", \"\"], [\"\", \"fxFlexOffset.xl\", \"\"], [\"\", \"fxFlexOffset.lt-sm\", \"\"], [\"\", \"fxFlexOffset.lt-md\", \"\"], [\"\", \"fxFlexOffset.lt-lg\", \"\"], [\"\", \"fxFlexOffset.lt-xl\", \"\"], [\"\", \"fxFlexOffset.gt-xs\", \"\"], [\"\", \"fxFlexOffset.gt-sm\", \"\"], [\"\", \"fxFlexOffset.gt-md\", \"\"], [\"\", \"fxFlexOffset.gt-lg\", \"\"]], inputs: { fxFlexOffset: \"fxFlexOffset\", \"fxFlexOffset.xs\": \"fxFlexOffset.xs\", \"fxFlexOffset.sm\": \"fxFlexOffset.sm\", \"fxFlexOffset.md\": \"fxFlexOffset.md\", \"fxFlexOffset.lg\": \"fxFlexOffset.lg\", \"fxFlexOffset.xl\": \"fxFlexOffset.xl\", \"fxFlexOffset.lt-sm\": \"fxFlexOffset.lt-sm\", \"fxFlexOffset.lt-md\": \"fxFlexOffset.lt-md\", \"fxFlexOffset.lt-lg\": \"fxFlexOffset.lt-lg\", \"fxFlexOffset.lt-xl\": \"fxFlexOffset.lt-xl\", \"fxFlexOffset.gt-xs\": \"fxFlexOffset.gt-xs\", \"fxFlexOffset.gt-sm\": \"fxFlexOffset.gt-sm\", \"fxFlexOffset.gt-md\": \"fxFlexOffset.gt-md\", \"fxFlexOffset.gt-lg\": \"fxFlexOffset.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultFlexOffsetDirective, [{\n type: Directive,\n args: [{ selector: selector$4, inputs: inputs$4 }]\n }], null, null); })();\n/** @type {?} */\nconst flexOffsetCacheRowRtl = new Map();\n/** @type {?} */\nconst flexOffsetCacheColumnRtl = new Map();\n/** @type {?} */\nconst flexOffsetCacheRowLtr = new Map();\n/** @type {?} */\nconst flexOffsetCacheColumnLtr = new Map();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/flex-align/flex-align.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FlexAlignStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n input = input || 'stretch';\n /** @type {?} */\n const styles = {};\n // Cross-axis\n switch (input) {\n case 'start':\n styles['align-self'] = 'flex-start';\n break;\n case 'end':\n styles['align-self'] = 'flex-end';\n break;\n default:\n styles['align-self'] = input;\n break;\n }\n return styles;\n }\n}\nFlexAlignStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵFlexAlignStyleBuilder_BaseFactory; return function FlexAlignStyleBuilder_Factory(t) { return (ɵFlexAlignStyleBuilder_BaseFactory || (ɵFlexAlignStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(FlexAlignStyleBuilder)))(t || FlexAlignStyleBuilder); }; }();\n/** @nocollapse */ FlexAlignStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function FlexAlignStyleBuilder_Factory() { return new FlexAlignStyleBuilder(); }, token: FlexAlignStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexAlignStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** @type {?} */\nconst inputs$5 = [\n 'fxFlexAlign', 'fxFlexAlign.xs', 'fxFlexAlign.sm', 'fxFlexAlign.md',\n 'fxFlexAlign.lg', 'fxFlexAlign.xl', 'fxFlexAlign.lt-sm', 'fxFlexAlign.lt-md',\n 'fxFlexAlign.lt-lg', 'fxFlexAlign.lt-xl', 'fxFlexAlign.gt-xs', 'fxFlexAlign.gt-sm',\n 'fxFlexAlign.gt-md', 'fxFlexAlign.gt-lg'\n];\n/** @type {?} */\nconst selector$5 = `\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\n`;\n/**\n * 'flex-align' flexbox styling directive\n * Allows element-specific overrides for cross-axis alignments in a layout container\n * @see https://css-tricks.com/almanac/properties/a/align-self/\n */\nclass FlexAlignDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'flex-align';\n this.styleCache = flexAlignCache;\n this.init();\n }\n}\nFlexAlignDirective.ɵfac = function FlexAlignDirective_Factory(t) { return new (t || FlexAlignDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(FlexAlignStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nFlexAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FlexAlignDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nFlexAlignDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: FlexAlignStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexAlignDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: FlexAlignStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst flexAlignCache = new Map();\nclass DefaultFlexAlignDirective extends FlexAlignDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$5;\n }\n}\nDefaultFlexAlignDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultFlexAlignDirective_BaseFactory; return function DefaultFlexAlignDirective_Factory(t) { return (ɵDefaultFlexAlignDirective_BaseFactory || (ɵDefaultFlexAlignDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultFlexAlignDirective)))(t || DefaultFlexAlignDirective); }; }();\nDefaultFlexAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultFlexAlignDirective, selectors: [[\"\", \"fxFlexAlign\", \"\"], [\"\", \"fxFlexAlign.xs\", \"\"], [\"\", \"fxFlexAlign.sm\", \"\"], [\"\", \"fxFlexAlign.md\", \"\"], [\"\", \"fxFlexAlign.lg\", \"\"], [\"\", \"fxFlexAlign.xl\", \"\"], [\"\", \"fxFlexAlign.lt-sm\", \"\"], [\"\", \"fxFlexAlign.lt-md\", \"\"], [\"\", \"fxFlexAlign.lt-lg\", \"\"], [\"\", \"fxFlexAlign.lt-xl\", \"\"], [\"\", \"fxFlexAlign.gt-xs\", \"\"], [\"\", \"fxFlexAlign.gt-sm\", \"\"], [\"\", \"fxFlexAlign.gt-md\", \"\"], [\"\", \"fxFlexAlign.gt-lg\", \"\"]], inputs: { fxFlexAlign: \"fxFlexAlign\", \"fxFlexAlign.xs\": \"fxFlexAlign.xs\", \"fxFlexAlign.sm\": \"fxFlexAlign.sm\", \"fxFlexAlign.md\": \"fxFlexAlign.md\", \"fxFlexAlign.lg\": \"fxFlexAlign.lg\", \"fxFlexAlign.xl\": \"fxFlexAlign.xl\", \"fxFlexAlign.lt-sm\": \"fxFlexAlign.lt-sm\", \"fxFlexAlign.lt-md\": \"fxFlexAlign.lt-md\", \"fxFlexAlign.lt-lg\": \"fxFlexAlign.lt-lg\", \"fxFlexAlign.lt-xl\": \"fxFlexAlign.lt-xl\", \"fxFlexAlign.gt-xs\": \"fxFlexAlign.gt-xs\", \"fxFlexAlign.gt-sm\": \"fxFlexAlign.gt-sm\", \"fxFlexAlign.gt-md\": \"fxFlexAlign.gt-md\", \"fxFlexAlign.gt-lg\": \"fxFlexAlign.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultFlexAlignDirective, [{\n type: Directive,\n args: [{ selector: selector$5, inputs: inputs$5 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/flex-fill/flex-fill.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst FLEX_FILL_CSS = {\n 'margin': 0,\n 'width': '100%',\n 'height': '100%',\n 'min-width': '100%',\n 'min-height': '100%'\n};\nclass FlexFillStyleBuilder extends StyleBuilder {\n /**\n * @param {?} _input\n * @return {?}\n */\n buildStyles(_input) {\n return FLEX_FILL_CSS;\n }\n}\nFlexFillStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵFlexFillStyleBuilder_BaseFactory; return function FlexFillStyleBuilder_Factory(t) { return (ɵFlexFillStyleBuilder_BaseFactory || (ɵFlexFillStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(FlexFillStyleBuilder)))(t || FlexFillStyleBuilder); }; }();\n/** @nocollapse */ FlexFillStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function FlexFillStyleBuilder_Factory() { return new FlexFillStyleBuilder(); }, token: FlexFillStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexFillStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/**\n * 'fxFill' flexbox styling directive\n * Maximizes width and height of element in a layout container\n *\n * NOTE: fxFill is NOT responsive API!!\n */\nclass FlexFillDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.styleCache = flexFillCache;\n this.addStyles('');\n }\n}\nFlexFillDirective.ɵfac = function FlexFillDirective_Factory(t) { return new (t || FlexFillDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(FlexFillStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nFlexFillDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FlexFillDirective, selectors: [[\"\", \"fxFill\", \"\"], [\"\", \"fxFlexFill\", \"\"]], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nFlexFillDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: FlexFillStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexFillDirective, [{\n type: Directive,\n args: [{ selector: `[fxFill], [fxFlexFill]` }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: FlexFillStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst flexFillCache = new Map();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/layout-align/layout-align.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass LayoutAlignStyleBuilder extends StyleBuilder {\n /**\n * @param {?} align\n * @param {?} parent\n * @return {?}\n */\n buildStyles(align, parent) {\n /** @type {?} */\n const css = {};\n const [mainAxis, crossAxis] = align.split(' ');\n // Main axis\n switch (mainAxis) {\n case 'center':\n css['justify-content'] = 'center';\n break;\n case 'space-around':\n css['justify-content'] = 'space-around';\n break;\n case 'space-between':\n css['justify-content'] = 'space-between';\n break;\n case 'space-evenly':\n css['justify-content'] = 'space-evenly';\n break;\n case 'end':\n case 'flex-end':\n css['justify-content'] = 'flex-end';\n break;\n case 'start':\n case 'flex-start':\n default:\n css['justify-content'] = 'flex-start'; // default main axis\n break;\n }\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n case 'flex-start':\n css['align-items'] = css['align-content'] = 'flex-start';\n break;\n case 'center':\n css['align-items'] = css['align-content'] = 'center';\n break;\n case 'end':\n case 'flex-end':\n css['align-items'] = css['align-content'] = 'flex-end';\n break;\n case 'space-between':\n css['align-content'] = 'space-between';\n css['align-items'] = 'stretch';\n break;\n case 'space-around':\n css['align-content'] = 'space-around';\n css['align-items'] = 'stretch';\n break;\n case 'baseline':\n css['align-content'] = 'stretch';\n css['align-items'] = 'baseline';\n break;\n case 'stretch':\n default: // 'stretch'\n css['align-items'] = css['align-content'] = 'stretch'; // default cross axis\n break;\n }\n return (/** @type {?} */ (extendObject(css, {\n 'display': parent.inline ? 'inline-flex' : 'flex',\n 'flex-direction': parent.layout,\n 'box-sizing': 'border-box',\n 'max-width': crossAxis === 'stretch' ?\n !isFlowHorizontal(parent.layout) ? '100%' : null : null,\n 'max-height': crossAxis === 'stretch' ?\n isFlowHorizontal(parent.layout) ? '100%' : null : null,\n })));\n }\n}\nLayoutAlignStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵLayoutAlignStyleBuilder_BaseFactory; return function LayoutAlignStyleBuilder_Factory(t) { return (ɵLayoutAlignStyleBuilder_BaseFactory || (ɵLayoutAlignStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(LayoutAlignStyleBuilder)))(t || LayoutAlignStyleBuilder); }; }();\n/** @nocollapse */ LayoutAlignStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function LayoutAlignStyleBuilder_Factory() { return new LayoutAlignStyleBuilder(); }, token: LayoutAlignStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutAlignStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** @type {?} */\nconst inputs$6 = [\n 'fxLayoutAlign', 'fxLayoutAlign.xs', 'fxLayoutAlign.sm', 'fxLayoutAlign.md',\n 'fxLayoutAlign.lg', 'fxLayoutAlign.xl', 'fxLayoutAlign.lt-sm', 'fxLayoutAlign.lt-md',\n 'fxLayoutAlign.lt-lg', 'fxLayoutAlign.lt-xl', 'fxLayoutAlign.gt-xs', 'fxLayoutAlign.gt-sm',\n 'fxLayoutAlign.gt-md', 'fxLayoutAlign.gt-lg'\n];\n/** @type {?} */\nconst selector$6 = `\n [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],\n [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],\n [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],\n [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]\n`;\n/**\n * 'layout-align' flexbox styling directive\n * Defines positioning of child elements along main and cross axis in a layout container\n * Optional values: {main-axis} values or {main-axis cross-axis} value pairs\n *\n * @see https://css-tricks.com/almanac/properties/j/justify-content/\n * @see https://css-tricks.com/almanac/properties/a/align-items/\n * @see https://css-tricks.com/almanac/properties/a/align-content/\n */\nclass LayoutAlignDirective extends BaseDirective2 {\n // default inline value\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'layout-align';\n this.layout = 'row'; // default flex-direction\n // default flex-direction\n this.inline = false; // default inline value\n this.init();\n this.marshal.trackValue(this.nativeElement, 'layout')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.onLayoutChange.bind(this));\n }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n *\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n /** @type {?} */\n const layout = this.layout || 'row';\n /** @type {?} */\n const inline = this.inline;\n if (layout === 'row' && inline) {\n this.styleCache = layoutAlignHorizontalInlineCache;\n }\n else if (layout === 'row' && !inline) {\n this.styleCache = layoutAlignHorizontalCache;\n }\n else if (layout === 'row-reverse' && inline) {\n this.styleCache = layoutAlignHorizontalRevInlineCache;\n }\n else if (layout === 'row-reverse' && !inline) {\n this.styleCache = layoutAlignHorizontalRevCache;\n }\n else if (layout === 'column' && inline) {\n this.styleCache = layoutAlignVerticalInlineCache;\n }\n else if (layout === 'column' && !inline) {\n this.styleCache = layoutAlignVerticalCache;\n }\n else if (layout === 'column-reverse' && inline) {\n this.styleCache = layoutAlignVerticalRevInlineCache;\n }\n else if (layout === 'column-reverse' && !inline) {\n this.styleCache = layoutAlignVerticalRevCache;\n }\n this.addStyles(value, { layout, inline });\n }\n /**\n * Cache the parent container 'flex-direction' and update the 'flex' styles\n * @protected\n * @param {?} matcher\n * @return {?}\n */\n onLayoutChange(matcher) {\n /** @type {?} */\n const layoutKeys = matcher.value.split(' ');\n this.layout = layoutKeys[0];\n this.inline = matcher.value.includes('inline');\n if (!LAYOUT_VALUES.find((/**\n * @param {?} x\n * @return {?}\n */\n x => x === this.layout))) {\n this.layout = 'row';\n }\n this.triggerUpdate();\n }\n}\nLayoutAlignDirective.ɵfac = function LayoutAlignDirective_Factory(t) { return new (t || LayoutAlignDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(LayoutAlignStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nLayoutAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: LayoutAlignDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nLayoutAlignDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: LayoutAlignStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutAlignDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: LayoutAlignStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\nclass DefaultLayoutAlignDirective extends LayoutAlignDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$6;\n }\n}\nDefaultLayoutAlignDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultLayoutAlignDirective_BaseFactory; return function DefaultLayoutAlignDirective_Factory(t) { return (ɵDefaultLayoutAlignDirective_BaseFactory || (ɵDefaultLayoutAlignDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultLayoutAlignDirective)))(t || DefaultLayoutAlignDirective); }; }();\nDefaultLayoutAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultLayoutAlignDirective, selectors: [[\"\", \"fxLayoutAlign\", \"\"], [\"\", \"fxLayoutAlign.xs\", \"\"], [\"\", \"fxLayoutAlign.sm\", \"\"], [\"\", \"fxLayoutAlign.md\", \"\"], [\"\", \"fxLayoutAlign.lg\", \"\"], [\"\", \"fxLayoutAlign.xl\", \"\"], [\"\", \"fxLayoutAlign.lt-sm\", \"\"], [\"\", \"fxLayoutAlign.lt-md\", \"\"], [\"\", \"fxLayoutAlign.lt-lg\", \"\"], [\"\", \"fxLayoutAlign.lt-xl\", \"\"], [\"\", \"fxLayoutAlign.gt-xs\", \"\"], [\"\", \"fxLayoutAlign.gt-sm\", \"\"], [\"\", \"fxLayoutAlign.gt-md\", \"\"], [\"\", \"fxLayoutAlign.gt-lg\", \"\"]], inputs: { fxLayoutAlign: \"fxLayoutAlign\", \"fxLayoutAlign.xs\": \"fxLayoutAlign.xs\", \"fxLayoutAlign.sm\": \"fxLayoutAlign.sm\", \"fxLayoutAlign.md\": \"fxLayoutAlign.md\", \"fxLayoutAlign.lg\": \"fxLayoutAlign.lg\", \"fxLayoutAlign.xl\": \"fxLayoutAlign.xl\", \"fxLayoutAlign.lt-sm\": \"fxLayoutAlign.lt-sm\", \"fxLayoutAlign.lt-md\": \"fxLayoutAlign.lt-md\", \"fxLayoutAlign.lt-lg\": \"fxLayoutAlign.lt-lg\", \"fxLayoutAlign.lt-xl\": \"fxLayoutAlign.lt-xl\", \"fxLayoutAlign.gt-xs\": \"fxLayoutAlign.gt-xs\", \"fxLayoutAlign.gt-sm\": \"fxLayoutAlign.gt-sm\", \"fxLayoutAlign.gt-md\": \"fxLayoutAlign.gt-md\", \"fxLayoutAlign.gt-lg\": \"fxLayoutAlign.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultLayoutAlignDirective, [{\n type: Directive,\n args: [{ selector: selector$6, inputs: inputs$6 }]\n }], null, null); })();\n/** @type {?} */\nconst layoutAlignHorizontalCache = new Map();\n/** @type {?} */\nconst layoutAlignVerticalCache = new Map();\n/** @type {?} */\nconst layoutAlignHorizontalRevCache = new Map();\n/** @type {?} */\nconst layoutAlignVerticalRevCache = new Map();\n/** @type {?} */\nconst layoutAlignHorizontalInlineCache = new Map();\n/** @type {?} */\nconst layoutAlignVerticalInlineCache = new Map();\n/** @type {?} */\nconst layoutAlignHorizontalRevInlineCache = new Map();\n/** @type {?} */\nconst layoutAlignVerticalRevInlineCache = new Map();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/module.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst ALL_DIRECTIVES = [\n DefaultLayoutDirective,\n DefaultLayoutGapDirective,\n DefaultLayoutAlignDirective,\n DefaultFlexOrderDirective,\n DefaultFlexOffsetDirective,\n FlexFillDirective,\n DefaultFlexAlignDirective,\n DefaultFlexDirective,\n];\n/**\n * *****************************************************************\n * Define module for the Flex API\n * *****************************************************************\n */\nclass FlexModule {\n}\nFlexModule.ɵfac = function FlexModule_Factory(t) { return new (t || FlexModule)(); };\nFlexModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FlexModule });\nFlexModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[CoreModule, BidiModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FlexModule, [{\n type: NgModule,\n args: [{\n imports: [CoreModule, BidiModule],\n declarations: [...ALL_DIRECTIVES],\n exports: [...ALL_DIRECTIVES]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FlexModule, { declarations: function () { return [DefaultLayoutDirective, DefaultLayoutGapDirective, DefaultLayoutAlignDirective, DefaultFlexOrderDirective, DefaultFlexOffsetDirective, FlexFillDirective, DefaultFlexAlignDirective, DefaultFlexDirective]; }, imports: function () { return [CoreModule, BidiModule]; }, exports: function () { return [DefaultLayoutDirective, DefaultLayoutGapDirective, DefaultLayoutAlignDirective, DefaultFlexOrderDirective, DefaultFlexOffsetDirective, FlexFillDirective, DefaultFlexAlignDirective, DefaultFlexDirective]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: flex/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { FlexModule, FlexStyleBuilder, FlexDirective, DefaultFlexDirective, FlexAlignStyleBuilder, FlexAlignDirective, DefaultFlexAlignDirective, FlexFillStyleBuilder, FlexFillDirective, FlexOffsetStyleBuilder, FlexOffsetDirective, DefaultFlexOffsetDirective, FlexOrderStyleBuilder, FlexOrderDirective, DefaultFlexOrderDirective, LayoutStyleBuilder, LayoutDirective, DefaultLayoutDirective, LayoutAlignStyleBuilder, LayoutAlignDirective, DefaultLayoutAlignDirective, LayoutGapStyleBuilder, LayoutGapDirective, DefaultLayoutGapDirective };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Directive, ElementRef, Injectable, NgModule, Input, ɵɵdefineInjectable } from '@angular/core';\nimport { MediaMarshaller, BaseDirective2, StyleBuilder, StyleUtils, CoreModule } from '@angular/flex-layout/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/grid-align/grid-align.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/flex-layout/core';\nconst ROW_DEFAULT = 'stretch';\n/** @type {?} */\nconst COL_DEFAULT = 'stretch';\nclass GridAlignStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n return buildCss(input || ROW_DEFAULT);\n }\n}\nGridAlignStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridAlignStyleBuilder_BaseFactory; return function GridAlignStyleBuilder_Factory(t) { return (ɵGridAlignStyleBuilder_BaseFactory || (ɵGridAlignStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAlignStyleBuilder)))(t || GridAlignStyleBuilder); }; }();\n/** @nocollapse */ GridAlignStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridAlignStyleBuilder_Factory() { return new GridAlignStyleBuilder(); }, token: GridAlignStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAlignDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align';\n this.styleCache = alignCache;\n this.init();\n }\n}\nGridAlignDirective.ɵfac = function GridAlignDirective_Factory(t) { return new (t || GridAlignDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridAlignStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAlignDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAlignDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridAlignStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridAlignStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst alignCache = new Map();\n/** @type {?} */\nconst inputs = [\n 'gdGridAlign',\n 'gdGridAlign.xs', 'gdGridAlign.sm', 'gdGridAlign.md', 'gdGridAlign.lg', 'gdGridAlign.xl',\n 'gdGridAlign.lt-sm', 'gdGridAlign.lt-md', 'gdGridAlign.lt-lg', 'gdGridAlign.lt-xl',\n 'gdGridAlign.gt-xs', 'gdGridAlign.gt-sm', 'gdGridAlign.gt-md', 'gdGridAlign.gt-lg'\n];\n/** @type {?} */\nconst selector = `\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n`;\n/**\n * 'align' CSS Grid styling directive for grid children\n * Defines positioning of child elements along row and column axis in a grid container\n * Optional values: {row-axis} values or {row-axis column-axis} value pairs\n *\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-self\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-self\n */\nclass DefaultGridAlignDirective extends GridAlignDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n}\nDefaultGridAlignDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAlignDirective_BaseFactory; return function DefaultGridAlignDirective_Factory(t) { return (ɵDefaultGridAlignDirective_BaseFactory || (ɵDefaultGridAlignDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAlignDirective)))(t || DefaultGridAlignDirective); }; }();\nDefaultGridAlignDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAlignDirective, selectors: [[\"\", \"gdGridAlign\", \"\"], [\"\", \"gdGridAlign.xs\", \"\"], [\"\", \"gdGridAlign.sm\", \"\"], [\"\", \"gdGridAlign.md\", \"\"], [\"\", \"gdGridAlign.lg\", \"\"], [\"\", \"gdGridAlign.xl\", \"\"], [\"\", \"gdGridAlign.lt-sm\", \"\"], [\"\", \"gdGridAlign.lt-md\", \"\"], [\"\", \"gdGridAlign.lt-lg\", \"\"], [\"\", \"gdGridAlign.lt-xl\", \"\"], [\"\", \"gdGridAlign.gt-xs\", \"\"], [\"\", \"gdGridAlign.gt-sm\", \"\"], [\"\", \"gdGridAlign.gt-md\", \"\"], [\"\", \"gdGridAlign.gt-lg\", \"\"]], inputs: { gdGridAlign: \"gdGridAlign\", \"gdGridAlign.xs\": \"gdGridAlign.xs\", \"gdGridAlign.sm\": \"gdGridAlign.sm\", \"gdGridAlign.md\": \"gdGridAlign.md\", \"gdGridAlign.lg\": \"gdGridAlign.lg\", \"gdGridAlign.xl\": \"gdGridAlign.xl\", \"gdGridAlign.lt-sm\": \"gdGridAlign.lt-sm\", \"gdGridAlign.lt-md\": \"gdGridAlign.lt-md\", \"gdGridAlign.lt-lg\": \"gdGridAlign.lt-lg\", \"gdGridAlign.lt-xl\": \"gdGridAlign.lt-xl\", \"gdGridAlign.gt-xs\": \"gdGridAlign.gt-xs\", \"gdGridAlign.gt-sm\": \"gdGridAlign.gt-sm\", \"gdGridAlign.gt-md\": \"gdGridAlign.gt-md\", \"gdGridAlign.gt-lg\": \"gdGridAlign.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAlignDirective, [{\n type: Directive,\n args: [{ selector, inputs }]\n }], null, null); })();\n/**\n * @param {?=} align\n * @return {?}\n */\nfunction buildCss(align = '') {\n /** @type {?} */\n const css = {};\n const [rowAxis, columnAxis] = align.split(' ');\n // Row axis\n switch (rowAxis) {\n case 'end':\n css['justify-self'] = 'end';\n break;\n case 'center':\n css['justify-self'] = 'center';\n break;\n case 'stretch':\n css['justify-self'] = 'stretch';\n break;\n case 'start':\n css['justify-self'] = 'start';\n break;\n default:\n css['justify-self'] = ROW_DEFAULT; // default row axis\n break;\n }\n // Column axis\n switch (columnAxis) {\n case 'end':\n css['align-self'] = 'end';\n break;\n case 'center':\n css['align-self'] = 'center';\n break;\n case 'stretch':\n css['align-self'] = 'stretch';\n break;\n case 'start':\n css['align-self'] = 'start';\n break;\n default:\n css['align-self'] = COL_DEFAULT; // default column axis\n break;\n }\n return css;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/align-columns/align-columns.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_MAIN = 'start';\n/** @type {?} */\nconst DEFAULT_CROSS = 'stretch';\nclass GridAlignColumnsStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n return buildCss$1(input || `${DEFAULT_MAIN} ${DEFAULT_CROSS}`, parent.inline);\n }\n}\nGridAlignColumnsStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridAlignColumnsStyleBuilder_BaseFactory; return function GridAlignColumnsStyleBuilder_Factory(t) { return (ɵGridAlignColumnsStyleBuilder_BaseFactory || (ɵGridAlignColumnsStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAlignColumnsStyleBuilder)))(t || GridAlignColumnsStyleBuilder); }; }();\n/** @nocollapse */ GridAlignColumnsStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridAlignColumnsStyleBuilder_Factory() { return new GridAlignColumnsStyleBuilder(); }, token: GridAlignColumnsStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignColumnsStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAlignColumnsDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align-columns';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? alignColumnsInlineCache : alignColumnsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAlignColumnsDirective.ɵfac = function GridAlignColumnsDirective_Factory(t) { return new (t || GridAlignColumnsDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridAlignColumnsStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAlignColumnsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAlignColumnsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAlignColumnsDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridAlignColumnsStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\nGridAlignColumnsDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignColumnsDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridAlignColumnsStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst alignColumnsCache = new Map();\n/** @type {?} */\nconst alignColumnsInlineCache = new Map();\n/** @type {?} */\nconst inputs$1 = [\n 'gdAlignColumns',\n 'gdAlignColumns.xs', 'gdAlignColumns.sm', 'gdAlignColumns.md',\n 'gdAlignColumns.lg', 'gdAlignColumns.xl', 'gdAlignColumns.lt-sm',\n 'gdAlignColumns.lt-md', 'gdAlignColumns.lt-lg', 'gdAlignColumns.lt-xl',\n 'gdAlignColumns.gt-xs', 'gdAlignColumns.gt-sm', 'gdAlignColumns.gt-md',\n 'gdAlignColumns.gt-lg'\n];\n/** @type {?} */\nconst selector$1 = `\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n`;\n/**\n * 'column alignment' CSS Grid styling directive\n * Configures the alignment in the column direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-19\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-21\n */\nclass DefaultGridAlignColumnsDirective extends GridAlignColumnsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$1;\n }\n}\nDefaultGridAlignColumnsDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAlignColumnsDirective_BaseFactory; return function DefaultGridAlignColumnsDirective_Factory(t) { return (ɵDefaultGridAlignColumnsDirective_BaseFactory || (ɵDefaultGridAlignColumnsDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAlignColumnsDirective)))(t || DefaultGridAlignColumnsDirective); }; }();\nDefaultGridAlignColumnsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAlignColumnsDirective, selectors: [[\"\", \"gdAlignColumns\", \"\"], [\"\", \"gdAlignColumns.xs\", \"\"], [\"\", \"gdAlignColumns.sm\", \"\"], [\"\", \"gdAlignColumns.md\", \"\"], [\"\", \"gdAlignColumns.lg\", \"\"], [\"\", \"gdAlignColumns.xl\", \"\"], [\"\", \"gdAlignColumns.lt-sm\", \"\"], [\"\", \"gdAlignColumns.lt-md\", \"\"], [\"\", \"gdAlignColumns.lt-lg\", \"\"], [\"\", \"gdAlignColumns.lt-xl\", \"\"], [\"\", \"gdAlignColumns.gt-xs\", \"\"], [\"\", \"gdAlignColumns.gt-sm\", \"\"], [\"\", \"gdAlignColumns.gt-md\", \"\"], [\"\", \"gdAlignColumns.gt-lg\", \"\"]], inputs: { gdAlignColumns: \"gdAlignColumns\", \"gdAlignColumns.xs\": \"gdAlignColumns.xs\", \"gdAlignColumns.sm\": \"gdAlignColumns.sm\", \"gdAlignColumns.md\": \"gdAlignColumns.md\", \"gdAlignColumns.lg\": \"gdAlignColumns.lg\", \"gdAlignColumns.xl\": \"gdAlignColumns.xl\", \"gdAlignColumns.lt-sm\": \"gdAlignColumns.lt-sm\", \"gdAlignColumns.lt-md\": \"gdAlignColumns.lt-md\", \"gdAlignColumns.lt-lg\": \"gdAlignColumns.lt-lg\", \"gdAlignColumns.lt-xl\": \"gdAlignColumns.lt-xl\", \"gdAlignColumns.gt-xs\": \"gdAlignColumns.gt-xs\", \"gdAlignColumns.gt-sm\": \"gdAlignColumns.gt-sm\", \"gdAlignColumns.gt-md\": \"gdAlignColumns.gt-md\", \"gdAlignColumns.gt-lg\": \"gdAlignColumns.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAlignColumnsDirective, [{\n type: Directive,\n args: [{ selector: selector$1, inputs: inputs$1 }]\n }], null, null); })();\n/**\n * @param {?} align\n * @param {?} inline\n * @return {?}\n */\nfunction buildCss$1(align, inline) {\n /** @type {?} */\n const css = {};\n const [mainAxis, crossAxis] = align.split(' ');\n // Main axis\n switch (mainAxis) {\n case 'center':\n css['align-content'] = 'center';\n break;\n case 'space-around':\n css['align-content'] = 'space-around';\n break;\n case 'space-between':\n css['align-content'] = 'space-between';\n break;\n case 'space-evenly':\n css['align-content'] = 'space-evenly';\n break;\n case 'end':\n css['align-content'] = 'end';\n break;\n case 'start':\n css['align-content'] = 'start';\n break;\n case 'stretch':\n css['align-content'] = 'stretch';\n break;\n default:\n css['align-content'] = DEFAULT_MAIN; // default main axis\n break;\n }\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n css['align-items'] = 'start';\n break;\n case 'center':\n css['align-items'] = 'center';\n break;\n case 'end':\n css['align-items'] = 'end';\n break;\n case 'stretch':\n css['align-items'] = 'stretch';\n break;\n default: // 'stretch'\n css['align-items'] = DEFAULT_CROSS; // default cross axis\n break;\n }\n css['display'] = inline ? 'inline-grid' : 'grid';\n return css;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/align-rows/align-rows.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_MAIN$1 = 'start';\n/** @type {?} */\nconst DEFAULT_CROSS$1 = 'stretch';\nclass GridAlignRowsStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n return buildCss$2(input || `${DEFAULT_MAIN$1} ${DEFAULT_CROSS$1}`, parent.inline);\n }\n}\nGridAlignRowsStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridAlignRowsStyleBuilder_BaseFactory; return function GridAlignRowsStyleBuilder_Factory(t) { return (ɵGridAlignRowsStyleBuilder_BaseFactory || (ɵGridAlignRowsStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAlignRowsStyleBuilder)))(t || GridAlignRowsStyleBuilder); }; }();\n/** @nocollapse */ GridAlignRowsStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridAlignRowsStyleBuilder_Factory() { return new GridAlignRowsStyleBuilder(); }, token: GridAlignRowsStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignRowsStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAlignRowsDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align-rows';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? alignRowsInlineCache : alignRowsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAlignRowsDirective.ɵfac = function GridAlignRowsDirective_Factory(t) { return new (t || GridAlignRowsDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridAlignRowsStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAlignRowsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAlignRowsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAlignRowsDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridAlignRowsStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\nGridAlignRowsDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAlignRowsDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridAlignRowsStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst alignRowsCache = new Map();\n/** @type {?} */\nconst alignRowsInlineCache = new Map();\n/** @type {?} */\nconst inputs$2 = [\n 'gdAlignRows',\n 'gdAlignRows.xs', 'gdAlignRows.sm', 'gdAlignRows.md',\n 'gdAlignRows.lg', 'gdAlignRows.xl', 'gdAlignRows.lt-sm',\n 'gdAlignRows.lt-md', 'gdAlignRows.lt-lg', 'gdAlignRows.lt-xl',\n 'gdAlignRows.gt-xs', 'gdAlignRows.gt-sm', 'gdAlignRows.gt-md',\n 'gdAlignRows.gt-lg'\n];\n/** @type {?} */\nconst selector$2 = `\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n`;\n/**\n * 'row alignment' CSS Grid styling directive\n * Configures the alignment in the row direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-18\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-20\n */\nclass DefaultGridAlignRowsDirective extends GridAlignRowsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$2;\n }\n}\nDefaultGridAlignRowsDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAlignRowsDirective_BaseFactory; return function DefaultGridAlignRowsDirective_Factory(t) { return (ɵDefaultGridAlignRowsDirective_BaseFactory || (ɵDefaultGridAlignRowsDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAlignRowsDirective)))(t || DefaultGridAlignRowsDirective); }; }();\nDefaultGridAlignRowsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAlignRowsDirective, selectors: [[\"\", \"gdAlignRows\", \"\"], [\"\", \"gdAlignRows.xs\", \"\"], [\"\", \"gdAlignRows.sm\", \"\"], [\"\", \"gdAlignRows.md\", \"\"], [\"\", \"gdAlignRows.lg\", \"\"], [\"\", \"gdAlignRows.xl\", \"\"], [\"\", \"gdAlignRows.lt-sm\", \"\"], [\"\", \"gdAlignRows.lt-md\", \"\"], [\"\", \"gdAlignRows.lt-lg\", \"\"], [\"\", \"gdAlignRows.lt-xl\", \"\"], [\"\", \"gdAlignRows.gt-xs\", \"\"], [\"\", \"gdAlignRows.gt-sm\", \"\"], [\"\", \"gdAlignRows.gt-md\", \"\"], [\"\", \"gdAlignRows.gt-lg\", \"\"]], inputs: { gdAlignRows: \"gdAlignRows\", \"gdAlignRows.xs\": \"gdAlignRows.xs\", \"gdAlignRows.sm\": \"gdAlignRows.sm\", \"gdAlignRows.md\": \"gdAlignRows.md\", \"gdAlignRows.lg\": \"gdAlignRows.lg\", \"gdAlignRows.xl\": \"gdAlignRows.xl\", \"gdAlignRows.lt-sm\": \"gdAlignRows.lt-sm\", \"gdAlignRows.lt-md\": \"gdAlignRows.lt-md\", \"gdAlignRows.lt-lg\": \"gdAlignRows.lt-lg\", \"gdAlignRows.lt-xl\": \"gdAlignRows.lt-xl\", \"gdAlignRows.gt-xs\": \"gdAlignRows.gt-xs\", \"gdAlignRows.gt-sm\": \"gdAlignRows.gt-sm\", \"gdAlignRows.gt-md\": \"gdAlignRows.gt-md\", \"gdAlignRows.gt-lg\": \"gdAlignRows.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAlignRowsDirective, [{\n type: Directive,\n args: [{ selector: selector$2, inputs: inputs$2 }]\n }], null, null); })();\n/**\n * @param {?} align\n * @param {?} inline\n * @return {?}\n */\nfunction buildCss$2(align, inline) {\n /** @type {?} */\n const css = {};\n const [mainAxis, crossAxis] = align.split(' ');\n // Main axis\n switch (mainAxis) {\n case 'center':\n case 'space-around':\n case 'space-between':\n case 'space-evenly':\n case 'end':\n case 'start':\n case 'stretch':\n css['justify-content'] = mainAxis;\n break;\n default:\n css['justify-content'] = DEFAULT_MAIN$1; // default main axis\n break;\n }\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n case 'center':\n case 'end':\n case 'stretch':\n css['justify-items'] = crossAxis;\n break;\n default: // 'stretch'\n css['justify-items'] = DEFAULT_CROSS$1; // default cross axis\n break;\n }\n css['display'] = inline ? 'inline-grid' : 'grid';\n return css;\n}\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/area/area.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE = 'auto';\nclass GridAreaStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n return { 'grid-area': input || DEFAULT_VALUE };\n }\n}\nGridAreaStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridAreaStyleBuilder_BaseFactory; return function GridAreaStyleBuilder_Factory(t) { return (ɵGridAreaStyleBuilder_BaseFactory || (ɵGridAreaStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAreaStyleBuilder)))(t || GridAreaStyleBuilder); }; }();\n/** @nocollapse */ GridAreaStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridAreaStyleBuilder_Factory() { return new GridAreaStyleBuilder(); }, token: GridAreaStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAreaStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAreaDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-area';\n this.styleCache = gridAreaCache;\n this.init();\n }\n}\nGridAreaDirective.ɵfac = function GridAreaDirective_Factory(t) { return new (t || GridAreaDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(GridAreaStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAreaDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAreaDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAreaDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: GridAreaStyleBuilder },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAreaDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: GridAreaStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst gridAreaCache = new Map();\n/** @type {?} */\nconst inputs$3 = [\n 'gdArea',\n 'gdArea.xs', 'gdArea.sm', 'gdArea.md', 'gdArea.lg', 'gdArea.xl',\n 'gdArea.lt-sm', 'gdArea.lt-md', 'gdArea.lt-lg', 'gdArea.lt-xl',\n 'gdArea.gt-xs', 'gdArea.gt-sm', 'gdArea.gt-md', 'gdArea.gt-lg'\n];\n/** @type {?} */\nconst selector$3 = `\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n`;\n/**\n * 'grid-area' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-27\n */\nclass DefaultGridAreaDirective extends GridAreaDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$3;\n }\n}\nDefaultGridAreaDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAreaDirective_BaseFactory; return function DefaultGridAreaDirective_Factory(t) { return (ɵDefaultGridAreaDirective_BaseFactory || (ɵDefaultGridAreaDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAreaDirective)))(t || DefaultGridAreaDirective); }; }();\nDefaultGridAreaDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAreaDirective, selectors: [[\"\", \"gdArea\", \"\"], [\"\", \"gdArea.xs\", \"\"], [\"\", \"gdArea.sm\", \"\"], [\"\", \"gdArea.md\", \"\"], [\"\", \"gdArea.lg\", \"\"], [\"\", \"gdArea.xl\", \"\"], [\"\", \"gdArea.lt-sm\", \"\"], [\"\", \"gdArea.lt-md\", \"\"], [\"\", \"gdArea.lt-lg\", \"\"], [\"\", \"gdArea.lt-xl\", \"\"], [\"\", \"gdArea.gt-xs\", \"\"], [\"\", \"gdArea.gt-sm\", \"\"], [\"\", \"gdArea.gt-md\", \"\"], [\"\", \"gdArea.gt-lg\", \"\"]], inputs: { gdArea: \"gdArea\", \"gdArea.xs\": \"gdArea.xs\", \"gdArea.sm\": \"gdArea.sm\", \"gdArea.md\": \"gdArea.md\", \"gdArea.lg\": \"gdArea.lg\", \"gdArea.xl\": \"gdArea.xl\", \"gdArea.lt-sm\": \"gdArea.lt-sm\", \"gdArea.lt-md\": \"gdArea.lt-md\", \"gdArea.lt-lg\": \"gdArea.lt-lg\", \"gdArea.lt-xl\": \"gdArea.lt-xl\", \"gdArea.gt-xs\": \"gdArea.gt-xs\", \"gdArea.gt-sm\": \"gdArea.gt-sm\", \"gdArea.gt-md\": \"gdArea.gt-md\", \"gdArea.gt-lg\": \"gdArea.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAreaDirective, [{\n type: Directive,\n args: [{ selector: selector$3, inputs: inputs$3 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/areas/areas.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$1 = 'none';\n/** @type {?} */\nconst DELIMETER = '|';\nclass GridAreasStyleBuiler extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n /** @type {?} */\n const areas = (input || DEFAULT_VALUE$1).split(DELIMETER).map((/**\n * @param {?} v\n * @return {?}\n */\n v => `\"${v.trim()}\"`));\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-template-areas': areas.join(' ')\n };\n }\n}\nGridAreasStyleBuiler.ɵfac = /*@__PURE__*/ function () { let ɵGridAreasStyleBuiler_BaseFactory; return function GridAreasStyleBuiler_Factory(t) { return (ɵGridAreasStyleBuiler_BaseFactory || (ɵGridAreasStyleBuiler_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAreasStyleBuiler)))(t || GridAreasStyleBuiler); }; }();\n/** @nocollapse */ GridAreasStyleBuiler.ɵprov = ɵɵdefineInjectable({ factory: function GridAreasStyleBuiler_Factory() { return new GridAreasStyleBuiler(); }, token: GridAreasStyleBuiler, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAreasStyleBuiler, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAreasDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-areas';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? areasInlineCache : areasCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAreasDirective.ɵfac = function GridAreasDirective_Factory(t) { return new (t || GridAreasDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(GridAreasStyleBuiler), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAreasDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAreasDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAreasDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: GridAreasStyleBuiler },\n { type: MediaMarshaller }\n];\nGridAreasDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAreasDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: GridAreasStyleBuiler }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst areasCache = new Map();\n/** @type {?} */\nconst areasInlineCache = new Map();\n/** @type {?} */\nconst inputs$4 = [\n 'gdAreas',\n 'gdAreas.xs', 'gdAreas.sm', 'gdAreas.md', 'gdAreas.lg', 'gdAreas.xl',\n 'gdAreas.lt-sm', 'gdAreas.lt-md', 'gdAreas.lt-lg', 'gdAreas.lt-xl',\n 'gdAreas.gt-xs', 'gdAreas.gt-sm', 'gdAreas.gt-md', 'gdAreas.gt-lg'\n];\n/** @type {?} */\nconst selector$4 = `\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n`;\n/**\n * 'grid-template-areas' CSS Grid styling directive\n * Configures the names of elements within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-14\n */\nclass DefaultGridAreasDirective extends GridAreasDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$4;\n }\n}\nDefaultGridAreasDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAreasDirective_BaseFactory; return function DefaultGridAreasDirective_Factory(t) { return (ɵDefaultGridAreasDirective_BaseFactory || (ɵDefaultGridAreasDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAreasDirective)))(t || DefaultGridAreasDirective); }; }();\nDefaultGridAreasDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAreasDirective, selectors: [[\"\", \"gdAreas\", \"\"], [\"\", \"gdAreas.xs\", \"\"], [\"\", \"gdAreas.sm\", \"\"], [\"\", \"gdAreas.md\", \"\"], [\"\", \"gdAreas.lg\", \"\"], [\"\", \"gdAreas.xl\", \"\"], [\"\", \"gdAreas.lt-sm\", \"\"], [\"\", \"gdAreas.lt-md\", \"\"], [\"\", \"gdAreas.lt-lg\", \"\"], [\"\", \"gdAreas.lt-xl\", \"\"], [\"\", \"gdAreas.gt-xs\", \"\"], [\"\", \"gdAreas.gt-sm\", \"\"], [\"\", \"gdAreas.gt-md\", \"\"], [\"\", \"gdAreas.gt-lg\", \"\"]], inputs: { gdAreas: \"gdAreas\", \"gdAreas.xs\": \"gdAreas.xs\", \"gdAreas.sm\": \"gdAreas.sm\", \"gdAreas.md\": \"gdAreas.md\", \"gdAreas.lg\": \"gdAreas.lg\", \"gdAreas.xl\": \"gdAreas.xl\", \"gdAreas.lt-sm\": \"gdAreas.lt-sm\", \"gdAreas.lt-md\": \"gdAreas.lt-md\", \"gdAreas.lt-lg\": \"gdAreas.lt-lg\", \"gdAreas.lt-xl\": \"gdAreas.lt-xl\", \"gdAreas.gt-xs\": \"gdAreas.gt-xs\", \"gdAreas.gt-sm\": \"gdAreas.gt-sm\", \"gdAreas.gt-md\": \"gdAreas.gt-md\", \"gdAreas.gt-lg\": \"gdAreas.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAreasDirective, [{\n type: Directive,\n args: [{ selector: selector$4, inputs: inputs$4 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/auto/auto.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$2 = 'initial';\nclass GridAutoStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n let [direction, dense] = (input || DEFAULT_VALUE$2).split(' ');\n if (direction !== 'column' && direction !== 'row' && direction !== 'dense') {\n direction = 'row';\n }\n dense = (dense === 'dense' && direction !== 'dense') ? ' dense' : '';\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-flow': direction + dense\n };\n }\n}\nGridAutoStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridAutoStyleBuilder_BaseFactory; return function GridAutoStyleBuilder_Factory(t) { return (ɵGridAutoStyleBuilder_BaseFactory || (ɵGridAutoStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridAutoStyleBuilder)))(t || GridAutoStyleBuilder); }; }();\n/** @nocollapse */ GridAutoStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridAutoStyleBuilder_Factory() { return new GridAutoStyleBuilder(); }, token: GridAutoStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAutoStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridAutoDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this._inline = false;\n this.DIRECTIVE_KEY = 'grid-auto';\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? autoInlineCache : autoCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAutoDirective.ɵfac = function GridAutoDirective_Factory(t) { return new (t || GridAutoDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridAutoStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridAutoDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridAutoDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridAutoDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridAutoStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\nGridAutoDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridAutoDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridAutoStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst autoCache = new Map();\n/** @type {?} */\nconst autoInlineCache = new Map();\n/** @type {?} */\nconst inputs$5 = [\n 'gdAuto',\n 'gdAuto.xs', 'gdAuto.sm', 'gdAuto.md', 'gdAuto.lg', 'gdAuto.xl',\n 'gdAuto.lt-sm', 'gdAuto.lt-md', 'gdAuto.lt-lg', 'gdAuto.lt-xl',\n 'gdAuto.gt-xs', 'gdAuto.gt-sm', 'gdAuto.gt-md', 'gdAuto.gt-lg'\n];\n/** @type {?} */\nconst selector$5 = `\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n`;\n/**\n * 'grid-auto-flow' CSS Grid styling directive\n * Configures the auto placement algorithm for the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-23\n */\nclass DefaultGridAutoDirective extends GridAutoDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$5;\n }\n}\nDefaultGridAutoDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridAutoDirective_BaseFactory; return function DefaultGridAutoDirective_Factory(t) { return (ɵDefaultGridAutoDirective_BaseFactory || (ɵDefaultGridAutoDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridAutoDirective)))(t || DefaultGridAutoDirective); }; }();\nDefaultGridAutoDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridAutoDirective, selectors: [[\"\", \"gdAuto\", \"\"], [\"\", \"gdAuto.xs\", \"\"], [\"\", \"gdAuto.sm\", \"\"], [\"\", \"gdAuto.md\", \"\"], [\"\", \"gdAuto.lg\", \"\"], [\"\", \"gdAuto.xl\", \"\"], [\"\", \"gdAuto.lt-sm\", \"\"], [\"\", \"gdAuto.lt-md\", \"\"], [\"\", \"gdAuto.lt-lg\", \"\"], [\"\", \"gdAuto.lt-xl\", \"\"], [\"\", \"gdAuto.gt-xs\", \"\"], [\"\", \"gdAuto.gt-sm\", \"\"], [\"\", \"gdAuto.gt-md\", \"\"], [\"\", \"gdAuto.gt-lg\", \"\"]], inputs: { gdAuto: \"gdAuto\", \"gdAuto.xs\": \"gdAuto.xs\", \"gdAuto.sm\": \"gdAuto.sm\", \"gdAuto.md\": \"gdAuto.md\", \"gdAuto.lg\": \"gdAuto.lg\", \"gdAuto.xl\": \"gdAuto.xl\", \"gdAuto.lt-sm\": \"gdAuto.lt-sm\", \"gdAuto.lt-md\": \"gdAuto.lt-md\", \"gdAuto.lt-lg\": \"gdAuto.lt-lg\", \"gdAuto.lt-xl\": \"gdAuto.lt-xl\", \"gdAuto.gt-xs\": \"gdAuto.gt-xs\", \"gdAuto.gt-sm\": \"gdAuto.gt-sm\", \"gdAuto.gt-md\": \"gdAuto.gt-md\", \"gdAuto.gt-lg\": \"gdAuto.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridAutoDirective, [{\n type: Directive,\n args: [{ selector: selector$5, inputs: inputs$5 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/column/column.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$3 = 'auto';\nclass GridColumnStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n return { 'grid-column': input || DEFAULT_VALUE$3 };\n }\n}\nGridColumnStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridColumnStyleBuilder_BaseFactory; return function GridColumnStyleBuilder_Factory(t) { return (ɵGridColumnStyleBuilder_BaseFactory || (ɵGridColumnStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridColumnStyleBuilder)))(t || GridColumnStyleBuilder); }; }();\n/** @nocollapse */ GridColumnStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridColumnStyleBuilder_Factory() { return new GridColumnStyleBuilder(); }, token: GridColumnStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridColumnStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridColumnDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-column';\n this.styleCache = columnCache;\n this.init();\n }\n}\nGridColumnDirective.ɵfac = function GridColumnDirective_Factory(t) { return new (t || GridColumnDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridColumnStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridColumnDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridColumnDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridColumnDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridColumnStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridColumnDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridColumnStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst columnCache = new Map();\n/** @type {?} */\nconst inputs$6 = [\n 'gdColumn',\n 'gdColumn.xs', 'gdColumn.sm', 'gdColumn.md', 'gdColumn.lg', 'gdColumn.xl',\n 'gdColumn.lt-sm', 'gdColumn.lt-md', 'gdColumn.lt-lg', 'gdColumn.lt-xl',\n 'gdColumn.gt-xs', 'gdColumn.gt-sm', 'gdColumn.gt-md', 'gdColumn.gt-lg'\n];\n/** @type {?} */\nconst selector$6 = `\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n`;\n/**\n * 'grid-column' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\nclass DefaultGridColumnDirective extends GridColumnDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$6;\n }\n}\nDefaultGridColumnDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridColumnDirective_BaseFactory; return function DefaultGridColumnDirective_Factory(t) { return (ɵDefaultGridColumnDirective_BaseFactory || (ɵDefaultGridColumnDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridColumnDirective)))(t || DefaultGridColumnDirective); }; }();\nDefaultGridColumnDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridColumnDirective, selectors: [[\"\", \"gdColumn\", \"\"], [\"\", \"gdColumn.xs\", \"\"], [\"\", \"gdColumn.sm\", \"\"], [\"\", \"gdColumn.md\", \"\"], [\"\", \"gdColumn.lg\", \"\"], [\"\", \"gdColumn.xl\", \"\"], [\"\", \"gdColumn.lt-sm\", \"\"], [\"\", \"gdColumn.lt-md\", \"\"], [\"\", \"gdColumn.lt-lg\", \"\"], [\"\", \"gdColumn.lt-xl\", \"\"], [\"\", \"gdColumn.gt-xs\", \"\"], [\"\", \"gdColumn.gt-sm\", \"\"], [\"\", \"gdColumn.gt-md\", \"\"], [\"\", \"gdColumn.gt-lg\", \"\"]], inputs: { gdColumn: \"gdColumn\", \"gdColumn.xs\": \"gdColumn.xs\", \"gdColumn.sm\": \"gdColumn.sm\", \"gdColumn.md\": \"gdColumn.md\", \"gdColumn.lg\": \"gdColumn.lg\", \"gdColumn.xl\": \"gdColumn.xl\", \"gdColumn.lt-sm\": \"gdColumn.lt-sm\", \"gdColumn.lt-md\": \"gdColumn.lt-md\", \"gdColumn.lt-lg\": \"gdColumn.lt-lg\", \"gdColumn.lt-xl\": \"gdColumn.lt-xl\", \"gdColumn.gt-xs\": \"gdColumn.gt-xs\", \"gdColumn.gt-sm\": \"gdColumn.gt-sm\", \"gdColumn.gt-md\": \"gdColumn.gt-md\", \"gdColumn.gt-lg\": \"gdColumn.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridColumnDirective, [{\n type: Directive,\n args: [{ selector: selector$6, inputs: inputs$6 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/columns/columns.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$4 = 'none';\n/** @type {?} */\nconst AUTO_SPECIFIER = '!';\nclass GridColumnsStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n input = input || DEFAULT_VALUE$4;\n /** @type {?} */\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER));\n auto = true;\n }\n /** @type {?} */\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-columns': '',\n 'grid-template-columns': '',\n };\n /** @type {?} */\n const key = (auto ? 'grid-auto-columns' : 'grid-template-columns');\n css[key] = input;\n return css;\n }\n}\nGridColumnsStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridColumnsStyleBuilder_BaseFactory; return function GridColumnsStyleBuilder_Factory(t) { return (ɵGridColumnsStyleBuilder_BaseFactory || (ɵGridColumnsStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridColumnsStyleBuilder)))(t || GridColumnsStyleBuilder); }; }();\n/** @nocollapse */ GridColumnsStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridColumnsStyleBuilder_Factory() { return new GridColumnsStyleBuilder(); }, token: GridColumnsStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridColumnsStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridColumnsDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-columns';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? columnsInlineCache : columnsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridColumnsDirective.ɵfac = function GridColumnsDirective_Factory(t) { return new (t || GridColumnsDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridColumnsStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridColumnsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridColumnsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridColumnsDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridColumnsStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\nGridColumnsDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridColumnsDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridColumnsStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst columnsCache = new Map();\n/** @type {?} */\nconst columnsInlineCache = new Map();\n/** @type {?} */\nconst inputs$7 = [\n 'gdColumns',\n 'gdColumns.xs', 'gdColumns.sm', 'gdColumns.md', 'gdColumns.lg', 'gdColumns.xl',\n 'gdColumns.lt-sm', 'gdColumns.lt-md', 'gdColumns.lt-lg', 'gdColumns.lt-xl',\n 'gdColumns.gt-xs', 'gdColumns.gt-sm', 'gdColumns.gt-md', 'gdColumns.gt-lg'\n];\n/** @type {?} */\nconst selector$7 = `\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n`;\n/**\n * 'grid-template-columns' CSS Grid styling directive\n * Configures the sizing for the columns in the grid\n * Syntax: [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\nclass DefaultGridColumnsDirective extends GridColumnsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$7;\n }\n}\nDefaultGridColumnsDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridColumnsDirective_BaseFactory; return function DefaultGridColumnsDirective_Factory(t) { return (ɵDefaultGridColumnsDirective_BaseFactory || (ɵDefaultGridColumnsDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridColumnsDirective)))(t || DefaultGridColumnsDirective); }; }();\nDefaultGridColumnsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridColumnsDirective, selectors: [[\"\", \"gdColumns\", \"\"], [\"\", \"gdColumns.xs\", \"\"], [\"\", \"gdColumns.sm\", \"\"], [\"\", \"gdColumns.md\", \"\"], [\"\", \"gdColumns.lg\", \"\"], [\"\", \"gdColumns.xl\", \"\"], [\"\", \"gdColumns.lt-sm\", \"\"], [\"\", \"gdColumns.lt-md\", \"\"], [\"\", \"gdColumns.lt-lg\", \"\"], [\"\", \"gdColumns.lt-xl\", \"\"], [\"\", \"gdColumns.gt-xs\", \"\"], [\"\", \"gdColumns.gt-sm\", \"\"], [\"\", \"gdColumns.gt-md\", \"\"], [\"\", \"gdColumns.gt-lg\", \"\"]], inputs: { gdColumns: \"gdColumns\", \"gdColumns.xs\": \"gdColumns.xs\", \"gdColumns.sm\": \"gdColumns.sm\", \"gdColumns.md\": \"gdColumns.md\", \"gdColumns.lg\": \"gdColumns.lg\", \"gdColumns.xl\": \"gdColumns.xl\", \"gdColumns.lt-sm\": \"gdColumns.lt-sm\", \"gdColumns.lt-md\": \"gdColumns.lt-md\", \"gdColumns.lt-lg\": \"gdColumns.lt-lg\", \"gdColumns.lt-xl\": \"gdColumns.lt-xl\", \"gdColumns.gt-xs\": \"gdColumns.gt-xs\", \"gdColumns.gt-sm\": \"gdColumns.gt-sm\", \"gdColumns.gt-md\": \"gdColumns.gt-md\", \"gdColumns.gt-lg\": \"gdColumns.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridColumnsDirective, [{\n type: Directive,\n args: [{ selector: selector$7, inputs: inputs$7 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/gap/gap.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$5 = '0';\nclass GridGapStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-gap': input || DEFAULT_VALUE$5\n };\n }\n}\nGridGapStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridGapStyleBuilder_BaseFactory; return function GridGapStyleBuilder_Factory(t) { return (ɵGridGapStyleBuilder_BaseFactory || (ɵGridGapStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridGapStyleBuilder)))(t || GridGapStyleBuilder); }; }();\n/** @nocollapse */ GridGapStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridGapStyleBuilder_Factory() { return new GridGapStyleBuilder(); }, token: GridGapStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridGapStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridGapDirective extends BaseDirective2 {\n /**\n * @param {?} elRef\n * @param {?} styleUtils\n * @param {?} styleBuilder\n * @param {?} marshal\n */\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-gap';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? gapInlineCache : gapCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridGapDirective.ɵfac = function GridGapDirective_Factory(t) { return new (t || GridGapDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(GridGapStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridGapDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridGapDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridGapDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: StyleUtils },\n { type: GridGapStyleBuilder },\n { type: MediaMarshaller }\n];\nGridGapDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridGapDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.StyleUtils }, { type: GridGapStyleBuilder }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst gapCache = new Map();\n/** @type {?} */\nconst gapInlineCache = new Map();\n/** @type {?} */\nconst inputs$8 = [\n 'gdGap',\n 'gdGap.xs', 'gdGap.sm', 'gdGap.md', 'gdGap.lg', 'gdGap.xl',\n 'gdGap.lt-sm', 'gdGap.lt-md', 'gdGap.lt-lg', 'gdGap.lt-xl',\n 'gdGap.gt-xs', 'gdGap.gt-sm', 'gdGap.gt-md', 'gdGap.gt-lg'\n];\n/** @type {?} */\nconst selector$8 = `\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n`;\n/**\n * 'grid-gap' CSS Grid styling directive\n * Configures the gap between items in the grid\n * Syntax: []\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-17\n */\nclass DefaultGridGapDirective extends GridGapDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$8;\n }\n}\nDefaultGridGapDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridGapDirective_BaseFactory; return function DefaultGridGapDirective_Factory(t) { return (ɵDefaultGridGapDirective_BaseFactory || (ɵDefaultGridGapDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridGapDirective)))(t || DefaultGridGapDirective); }; }();\nDefaultGridGapDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridGapDirective, selectors: [[\"\", \"gdGap\", \"\"], [\"\", \"gdGap.xs\", \"\"], [\"\", \"gdGap.sm\", \"\"], [\"\", \"gdGap.md\", \"\"], [\"\", \"gdGap.lg\", \"\"], [\"\", \"gdGap.xl\", \"\"], [\"\", \"gdGap.lt-sm\", \"\"], [\"\", \"gdGap.lt-md\", \"\"], [\"\", \"gdGap.lt-lg\", \"\"], [\"\", \"gdGap.lt-xl\", \"\"], [\"\", \"gdGap.gt-xs\", \"\"], [\"\", \"gdGap.gt-sm\", \"\"], [\"\", \"gdGap.gt-md\", \"\"], [\"\", \"gdGap.gt-lg\", \"\"]], inputs: { gdGap: \"gdGap\", \"gdGap.xs\": \"gdGap.xs\", \"gdGap.sm\": \"gdGap.sm\", \"gdGap.md\": \"gdGap.md\", \"gdGap.lg\": \"gdGap.lg\", \"gdGap.xl\": \"gdGap.xl\", \"gdGap.lt-sm\": \"gdGap.lt-sm\", \"gdGap.lt-md\": \"gdGap.lt-md\", \"gdGap.lt-lg\": \"gdGap.lt-lg\", \"gdGap.lt-xl\": \"gdGap.lt-xl\", \"gdGap.gt-xs\": \"gdGap.gt-xs\", \"gdGap.gt-sm\": \"gdGap.gt-sm\", \"gdGap.gt-md\": \"gdGap.gt-md\", \"gdGap.gt-lg\": \"gdGap.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridGapDirective, [{\n type: Directive,\n args: [{ selector: selector$8, inputs: inputs$8 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/row/row.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$6 = 'auto';\nclass GridRowStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @return {?}\n */\n buildStyles(input) {\n return { 'grid-row': input || DEFAULT_VALUE$6 };\n }\n}\nGridRowStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridRowStyleBuilder_BaseFactory; return function GridRowStyleBuilder_Factory(t) { return (ɵGridRowStyleBuilder_BaseFactory || (ɵGridRowStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridRowStyleBuilder)))(t || GridRowStyleBuilder); }; }();\n/** @nocollapse */ GridRowStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridRowStyleBuilder_Factory() { return new GridRowStyleBuilder(); }, token: GridRowStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridRowStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridRowDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-row';\n this.styleCache = rowCache;\n this.init();\n }\n}\nGridRowDirective.ɵfac = function GridRowDirective_Factory(t) { return new (t || GridRowDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridRowStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridRowDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridRowDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridRowDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridRowStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridRowDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridRowStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, null); })();\n/** @type {?} */\nconst rowCache = new Map();\n/** @type {?} */\nconst inputs$9 = [\n 'gdRow',\n 'gdRow.xs', 'gdRow.sm', 'gdRow.md', 'gdRow.lg', 'gdRow.xl',\n 'gdRow.lt-sm', 'gdRow.lt-md', 'gdRow.lt-lg', 'gdRow.lt-xl',\n 'gdRow.gt-xs', 'gdRow.gt-sm', 'gdRow.gt-md', 'gdRow.gt-lg'\n];\n/** @type {?} */\nconst selector$9 = `\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n`;\n/**\n * 'grid-row' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\nclass DefaultGridRowDirective extends GridRowDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$9;\n }\n}\nDefaultGridRowDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridRowDirective_BaseFactory; return function DefaultGridRowDirective_Factory(t) { return (ɵDefaultGridRowDirective_BaseFactory || (ɵDefaultGridRowDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridRowDirective)))(t || DefaultGridRowDirective); }; }();\nDefaultGridRowDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridRowDirective, selectors: [[\"\", \"gdRow\", \"\"], [\"\", \"gdRow.xs\", \"\"], [\"\", \"gdRow.sm\", \"\"], [\"\", \"gdRow.md\", \"\"], [\"\", \"gdRow.lg\", \"\"], [\"\", \"gdRow.xl\", \"\"], [\"\", \"gdRow.lt-sm\", \"\"], [\"\", \"gdRow.lt-md\", \"\"], [\"\", \"gdRow.lt-lg\", \"\"], [\"\", \"gdRow.lt-xl\", \"\"], [\"\", \"gdRow.gt-xs\", \"\"], [\"\", \"gdRow.gt-sm\", \"\"], [\"\", \"gdRow.gt-md\", \"\"], [\"\", \"gdRow.gt-lg\", \"\"]], inputs: { gdRow: \"gdRow\", \"gdRow.xs\": \"gdRow.xs\", \"gdRow.sm\": \"gdRow.sm\", \"gdRow.md\": \"gdRow.md\", \"gdRow.lg\": \"gdRow.lg\", \"gdRow.xl\": \"gdRow.xl\", \"gdRow.lt-sm\": \"gdRow.lt-sm\", \"gdRow.lt-md\": \"gdRow.lt-md\", \"gdRow.lt-lg\": \"gdRow.lt-lg\", \"gdRow.lt-xl\": \"gdRow.lt-xl\", \"gdRow.gt-xs\": \"gdRow.gt-xs\", \"gdRow.gt-sm\": \"gdRow.gt-sm\", \"gdRow.gt-md\": \"gdRow.gt-md\", \"gdRow.gt-lg\": \"gdRow.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridRowDirective, [{\n type: Directive,\n args: [{ selector: selector$9, inputs: inputs$9 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/rows/rows.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst DEFAULT_VALUE$7 = 'none';\n/** @type {?} */\nconst AUTO_SPECIFIER$1 = '!';\nclass GridRowsStyleBuilder extends StyleBuilder {\n /**\n * @param {?} input\n * @param {?} parent\n * @return {?}\n */\n buildStyles(input, parent) {\n input = input || DEFAULT_VALUE$7;\n /** @type {?} */\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER$1)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER$1));\n auto = true;\n }\n /** @type {?} */\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-rows': '',\n 'grid-template-rows': '',\n };\n /** @type {?} */\n const key = (auto ? 'grid-auto-rows' : 'grid-template-rows');\n css[key] = input;\n return css;\n }\n}\nGridRowsStyleBuilder.ɵfac = /*@__PURE__*/ function () { let ɵGridRowsStyleBuilder_BaseFactory; return function GridRowsStyleBuilder_Factory(t) { return (ɵGridRowsStyleBuilder_BaseFactory || (ɵGridRowsStyleBuilder_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GridRowsStyleBuilder)))(t || GridRowsStyleBuilder); }; }();\n/** @nocollapse */ GridRowsStyleBuilder.ɵprov = ɵɵdefineInjectable({ factory: function GridRowsStyleBuilder_Factory() { return new GridRowsStyleBuilder(); }, token: GridRowsStyleBuilder, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridRowsStyleBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\nclass GridRowsDirective extends BaseDirective2 {\n /**\n * @param {?} elementRef\n * @param {?} styleBuilder\n * @param {?} styler\n * @param {?} marshal\n */\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-rows';\n this._inline = false;\n this.init();\n }\n /**\n * @return {?}\n */\n get inline() { return this._inline; }\n /**\n * @param {?} val\n * @return {?}\n */\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * @protected\n * @param {?} value\n * @return {?}\n */\n updateWithValue(value) {\n this.styleCache = this.inline ? rowsInlineCache : rowsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridRowsDirective.ɵfac = function GridRowsDirective_Factory(t) { return new (t || GridRowsDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(GridRowsStyleBuilder), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.StyleUtils), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.MediaMarshaller)); };\nGridRowsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: GridRowsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n/** @nocollapse */\nGridRowsDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: GridRowsStyleBuilder },\n { type: StyleUtils },\n { type: MediaMarshaller }\n];\nGridRowsDirective.propDecorators = {\n inline: [{ type: Input, args: ['gdInline',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridRowsDirective, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: GridRowsStyleBuilder }, { type: ɵngcc1.StyleUtils }, { type: ɵngcc1.MediaMarshaller }]; }, { inline: [{\n type: Input,\n args: ['gdInline']\n }] }); })();\n/** @type {?} */\nconst rowsCache = new Map();\n/** @type {?} */\nconst rowsInlineCache = new Map();\n/** @type {?} */\nconst inputs$10 = [\n 'gdRows',\n 'gdRows.xs', 'gdRows.sm', 'gdRows.md', 'gdRows.lg', 'gdRows.xl',\n 'gdRows.lt-sm', 'gdRows.lt-md', 'gdRows.lt-lg', 'gdRows.lt-xl',\n 'gdRows.gt-xs', 'gdRows.gt-sm', 'gdRows.gt-md', 'gdRows.gt-lg'\n];\n/** @type {?} */\nconst selector$10 = `\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n`;\n/**\n * 'grid-template-rows' CSS Grid styling directive\n * Configures the sizing for the rows in the grid\n * Syntax: [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\nclass DefaultGridRowsDirective extends GridRowsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$10;\n }\n}\nDefaultGridRowsDirective.ɵfac = /*@__PURE__*/ function () { let ɵDefaultGridRowsDirective_BaseFactory; return function DefaultGridRowsDirective_Factory(t) { return (ɵDefaultGridRowsDirective_BaseFactory || (ɵDefaultGridRowsDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DefaultGridRowsDirective)))(t || DefaultGridRowsDirective); }; }();\nDefaultGridRowsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DefaultGridRowsDirective, selectors: [[\"\", \"gdRows\", \"\"], [\"\", \"gdRows.xs\", \"\"], [\"\", \"gdRows.sm\", \"\"], [\"\", \"gdRows.md\", \"\"], [\"\", \"gdRows.lg\", \"\"], [\"\", \"gdRows.xl\", \"\"], [\"\", \"gdRows.lt-sm\", \"\"], [\"\", \"gdRows.lt-md\", \"\"], [\"\", \"gdRows.lt-lg\", \"\"], [\"\", \"gdRows.lt-xl\", \"\"], [\"\", \"gdRows.gt-xs\", \"\"], [\"\", \"gdRows.gt-sm\", \"\"], [\"\", \"gdRows.gt-md\", \"\"], [\"\", \"gdRows.gt-lg\", \"\"]], inputs: { gdRows: \"gdRows\", \"gdRows.xs\": \"gdRows.xs\", \"gdRows.sm\": \"gdRows.sm\", \"gdRows.md\": \"gdRows.md\", \"gdRows.lg\": \"gdRows.lg\", \"gdRows.xl\": \"gdRows.xl\", \"gdRows.lt-sm\": \"gdRows.lt-sm\", \"gdRows.lt-md\": \"gdRows.lt-md\", \"gdRows.lt-lg\": \"gdRows.lt-lg\", \"gdRows.lt-xl\": \"gdRows.lt-xl\", \"gdRows.gt-xs\": \"gdRows.gt-xs\", \"gdRows.gt-sm\": \"gdRows.gt-sm\", \"gdRows.gt-md\": \"gdRows.gt-md\", \"gdRows.gt-lg\": \"gdRows.gt-lg\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DefaultGridRowsDirective, [{\n type: Directive,\n args: [{ selector: selector$10, inputs: inputs$10 }]\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/module.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst ALL_DIRECTIVES = [\n DefaultGridAlignDirective,\n DefaultGridAlignColumnsDirective,\n DefaultGridAlignRowsDirective,\n DefaultGridAreaDirective,\n DefaultGridAreasDirective,\n DefaultGridAutoDirective,\n DefaultGridColumnDirective,\n DefaultGridColumnsDirective,\n DefaultGridGapDirective,\n DefaultGridRowDirective,\n DefaultGridRowsDirective,\n];\n/**\n * *****************************************************************\n * Define module for the CSS Grid API\n * *****************************************************************\n */\nclass GridModule {\n}\nGridModule.ɵfac = function GridModule_Factory(t) { return new (t || GridModule)(); };\nGridModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: GridModule });\nGridModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[CoreModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridModule, [{\n type: NgModule,\n args: [{\n imports: [CoreModule],\n declarations: [...ALL_DIRECTIVES],\n exports: [...ALL_DIRECTIVES]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(GridModule, { declarations: function () { return [DefaultGridAlignDirective, DefaultGridAlignColumnsDirective, DefaultGridAlignRowsDirective, DefaultGridAreaDirective, DefaultGridAreasDirective, DefaultGridAutoDirective, DefaultGridColumnDirective, DefaultGridColumnsDirective, DefaultGridGapDirective, DefaultGridRowDirective, DefaultGridRowsDirective]; }, imports: function () { return [CoreModule]; }, exports: function () { return [DefaultGridAlignDirective, DefaultGridAlignColumnsDirective, DefaultGridAlignRowsDirective, DefaultGridAreaDirective, DefaultGridAreasDirective, DefaultGridAutoDirective, DefaultGridColumnDirective, DefaultGridColumnsDirective, DefaultGridGapDirective, DefaultGridRowDirective, DefaultGridRowsDirective]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/public-api.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * Generated from: grid/index.ts\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { GridModule, GridAlignColumnsStyleBuilder, GridAlignColumnsDirective, DefaultGridAlignColumnsDirective, GridAlignRowsStyleBuilder, GridAlignRowsDirective, DefaultGridAlignRowsDirective, GridAreaStyleBuilder, GridAreaDirective, DefaultGridAreaDirective, GridAreasStyleBuiler, GridAreasDirective, DefaultGridAreasDirective, GridAutoStyleBuilder, GridAutoDirective, DefaultGridAutoDirective, GridColumnStyleBuilder, GridColumnDirective, DefaultGridColumnDirective, GridColumnsStyleBuilder, GridColumnsDirective, DefaultGridColumnsDirective, GridGapStyleBuilder, GridGapDirective, DefaultGridGapDirective, GridAlignStyleBuilder, GridAlignDirective, DefaultGridAlignDirective, GridRowStyleBuilder, GridRowDirective, DefaultGridRowDirective, GridRowsStyleBuilder, GridRowsDirective, DefaultGridRowsDirective };\n\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceStringArray } from '@angular/cdk/coercion';\nimport { Platform, _getEventTarget } from '@angular/cdk/platform';\nimport { InjectionToken, EventEmitter, Directive, ChangeDetectorRef, ElementRef, Inject, ViewChild, TemplateRef, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, forwardRef, ViewContainerRef, NgZone, Optional, Host, NgModule } from '@angular/core';\nimport { mixinDisableRipple, MAT_OPTION_PARENT_COMPONENT, MAT_OPTGROUP, MatOption, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';\nimport { Subscription, Subject, defer, merge, of, fromEvent } from 'rxjs';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ESCAPE, hasModifierKey, ENTER, UP_ARROW, DOWN_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormField, MAT_FORM_FIELD } from '@angular/material/form-field';\nimport { take, switchMap, filter, map, tap, delay } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Autocomplete IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/common';\nimport * as ɵngcc3 from '@angular/cdk/overlay';\nimport * as ɵngcc4 from '@angular/cdk/bidi';\nimport * as ɵngcc5 from '@angular/cdk/scrolling';\nimport * as ɵngcc6 from '@angular/material/form-field';\n\nconst _c0 = [\"panel\"];\nfunction MatAutocomplete_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const formFieldId_r1 = ctx.id;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"id\", ctx_r0.id)(\"ngClass\", ctx_r0._classList);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r0.ariaLabel || null)(\"aria-labelledby\", ctx_r0._getPanelAriaLabelledby(formFieldId_r1));\n} }\nconst _c1 = [\"*\"];\nlet _uniqueAutocompleteIdCounter = 0;\n/** Event object that is emitted when an autocomplete option is selected. */\nclass MatAutocompleteSelectedEvent {\n constructor(\n /** Reference to the autocomplete panel that emitted the event. */\n source, \n /** Option that was selected. */\n option) {\n this.source = source;\n this.option = option;\n }\n}\n// Boilerplate for applying mixins to MatAutocomplete.\n/** @docs-private */\nconst _MatAutocompleteMixinBase = mixinDisableRipple(class {\n});\n/** Injection token to be used to override the default options for `mat-autocomplete`. */\nconst MAT_AUTOCOMPLETE_DEFAULT_OPTIONS = new InjectionToken('mat-autocomplete-default-options', {\n providedIn: 'root',\n factory: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY() {\n return { autoActiveFirstOption: false };\n}\n/** Base class with all of the `MatAutocomplete` functionality. */\nclass _MatAutocompleteBase extends _MatAutocompleteMixinBase {\n constructor(_changeDetectorRef, _elementRef, defaults, platform) {\n super();\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._activeOptionChanges = Subscription.EMPTY;\n /** Whether the autocomplete panel should be visible, depending on option length. */\n this.showPanel = false;\n this._isOpen = false;\n /** Function that maps an option's control value to its display value in the trigger. */\n this.displayWith = null;\n /** Event that is emitted whenever an option from the list is selected. */\n this.optionSelected = new EventEmitter();\n /** Event that is emitted when the autocomplete panel is opened. */\n this.opened = new EventEmitter();\n /** Event that is emitted when the autocomplete panel is closed. */\n this.closed = new EventEmitter();\n /** Emits whenever an option is activated using the keyboard. */\n this.optionActivated = new EventEmitter();\n this._classList = {};\n /** Unique ID to be used by autocomplete trigger's \"aria-owns\" property. */\n this.id = `mat-autocomplete-${_uniqueAutocompleteIdCounter++}`;\n // TODO(crisbeto): the problem that the `inertGroups` option resolves is only present on\n // Safari using VoiceOver. We should occasionally check back to see whether the bug\n // wasn't resolved in VoiceOver, and if it has, we can remove this and the `inertGroups`\n // option altogether.\n this.inertGroups = (platform === null || platform === void 0 ? void 0 : platform.SAFARI) || false;\n this._autoActiveFirstOption = !!defaults.autoActiveFirstOption;\n }\n /** Whether the autocomplete panel is open. */\n get isOpen() { return this._isOpen && this.showPanel; }\n /**\n * Whether the first option should be highlighted when the autocomplete panel is opened.\n * Can be configured globally through the `MAT_AUTOCOMPLETE_DEFAULT_OPTIONS` token.\n */\n get autoActiveFirstOption() { return this._autoActiveFirstOption; }\n set autoActiveFirstOption(value) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n /**\n * Takes classes set on the host mat-autocomplete element and applies them to the panel\n * inside the overlay container to allow for easy styling.\n */\n set classList(value) {\n if (value && value.length) {\n this._classList = coerceStringArray(value).reduce((classList, className) => {\n classList[className] = true;\n return classList;\n }, {});\n }\n else {\n this._classList = {};\n }\n this._setVisibilityClasses(this._classList);\n this._elementRef.nativeElement.className = '';\n }\n ngAfterContentInit() {\n this._keyManager = new ActiveDescendantKeyManager(this.options).withWrap();\n this._activeOptionChanges = this._keyManager.change.subscribe(index => {\n if (this.isOpen) {\n this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n }\n });\n // Set the initial visibility state.\n this._setVisibility();\n }\n ngOnDestroy() {\n this._activeOptionChanges.unsubscribe();\n }\n /**\n * Sets the panel scrollTop. This allows us to manually scroll to display options\n * above or below the fold, as they are not actually being focused when active.\n */\n _setScrollTop(scrollTop) {\n if (this.panel) {\n this.panel.nativeElement.scrollTop = scrollTop;\n }\n }\n /** Returns the panel's scrollTop. */\n _getScrollTop() {\n return this.panel ? this.panel.nativeElement.scrollTop : 0;\n }\n /** Panel should hide itself when the option list is empty. */\n _setVisibility() {\n this.showPanel = !!this.options.length;\n this._setVisibilityClasses(this._classList);\n this._changeDetectorRef.markForCheck();\n }\n /** Emits the `select` event. */\n _emitSelectEvent(option) {\n const event = new MatAutocompleteSelectedEvent(this, option);\n this.optionSelected.emit(event);\n }\n /** Gets the aria-labelledby for the autocomplete panel. */\n _getPanelAriaLabelledby(labelId) {\n if (this.ariaLabel) {\n return null;\n }\n const labelExpression = labelId ? labelId + ' ' : '';\n return this.ariaLabelledby ? labelExpression + this.ariaLabelledby : labelId;\n }\n /** Sets the autocomplete visibility classes on a classlist based on the panel is visible. */\n _setVisibilityClasses(classList) {\n classList[this._visibleClass] = this.showPanel;\n classList[this._hiddenClass] = !this.showPanel;\n }\n}\n_MatAutocompleteBase.ɵfac = function _MatAutocompleteBase_Factory(t) { return new (t || _MatAutocompleteBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform)); };\n_MatAutocompleteBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteBase, viewQuery: function _MatAutocompleteBase_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(TemplateRef, 7);\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.template = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.panel = _t.first);\n } }, inputs: { displayWith: \"displayWith\", autoActiveFirstOption: \"autoActiveFirstOption\", classList: [\"class\", \"classList\"], ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], panelWidth: \"panelWidth\" }, outputs: { optionSelected: \"optionSelected\", opened: \"opened\", closed: \"closed\", optionActivated: \"optionActivated\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatAutocompleteBase.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] },\n { type: Platform }\n];\n_MatAutocompleteBase.propDecorators = {\n template: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n panel: [{ type: ViewChild, args: ['panel',] }],\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],\n displayWith: [{ type: Input }],\n autoActiveFirstOption: [{ type: Input }],\n panelWidth: [{ type: Input }],\n optionSelected: [{ type: Output }],\n opened: [{ type: Output }],\n closed: [{ type: Output }],\n optionActivated: [{ type: Output }],\n classList: [{ type: Input, args: ['class',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatAutocompleteBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS]\n }] }, { type: ɵngcc1.Platform }]; }, { displayWith: [{\n type: Input\n }], optionSelected: [{\n type: Output\n }], opened: [{\n type: Output\n }], closed: [{\n type: Output\n }], optionActivated: [{\n type: Output\n }], autoActiveFirstOption: [{\n type: Input\n }], classList: [{\n type: Input,\n args: ['class']\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], panel: [{\n type: ViewChild,\n args: ['panel']\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], panelWidth: [{\n type: Input\n }] }); })();\nclass MatAutocomplete extends _MatAutocompleteBase {\n constructor() {\n super(...arguments);\n this._visibleClass = 'mat-autocomplete-visible';\n this._hiddenClass = 'mat-autocomplete-hidden';\n }\n}\nMatAutocomplete.ɵfac = /*@__PURE__*/ function () { let ɵMatAutocomplete_BaseFactory; return function MatAutocomplete_Factory(t) { return (ɵMatAutocomplete_BaseFactory || (ɵMatAutocomplete_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatAutocomplete)))(t || MatAutocomplete); }; }();\nMatAutocomplete.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatAutocomplete, selectors: [[\"mat-autocomplete\"]], contentQueries: function MatAutocomplete_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_OPTGROUP, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatOption, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.optionGroups = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.options = _t);\n } }, hostAttrs: [1, \"mat-autocomplete\"], inputs: { disableRipple: \"disableRipple\" }, exportAs: [\"matAutocomplete\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 1, vars: 0, consts: [[\"role\", \"listbox\", 1, \"mat-autocomplete-panel\", 3, \"id\", \"ngClass\"], [\"panel\", \"\"]], template: function MatAutocomplete_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, MatAutocomplete_ng_template_0_Template, 3, 4, \"ng-template\");\n } }, directives: [ɵngcc2.NgClass], styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatAutocomplete.propDecorators = {\n optionGroups: [{ type: ContentChildren, args: [MAT_OPTGROUP, { descendants: true },] }],\n options: [{ type: ContentChildren, args: [MatOption, { descendants: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatAutocomplete, [{\n type: Component,\n args: [{\n selector: 'mat-autocomplete',\n template: \"\\n
\\n \\n
\\n
\\n\",\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'matAutocomplete',\n inputs: ['disableRipple'],\n host: {\n 'class': 'mat-autocomplete'\n },\n providers: [\n { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n ],\n styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\\n\"]\n }]\n }], null, { optionGroups: [{\n type: ContentChildren,\n args: [MAT_OPTGROUP, { descendants: true }]\n }], options: [{\n type: ContentChildren,\n args: [MatOption, { descendants: true }]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Base class containing all of the functionality for `MatAutocompleteOrigin`. */\nclass _MatAutocompleteOriginBase {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\n_MatAutocompleteOriginBase.ɵfac = function _MatAutocompleteOriginBase_Factory(t) { return new (t || _MatAutocompleteOriginBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\n_MatAutocompleteOriginBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteOriginBase });\n_MatAutocompleteOriginBase.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatAutocompleteOriginBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive applied to an element to make it usable\n * as a connection point for an autocomplete panel.\n */\nclass MatAutocompleteOrigin extends _MatAutocompleteOriginBase {\n}\nMatAutocompleteOrigin.ɵfac = /*@__PURE__*/ function () { let ɵMatAutocompleteOrigin_BaseFactory; return function MatAutocompleteOrigin_Factory(t) { return (ɵMatAutocompleteOrigin_BaseFactory || (ɵMatAutocompleteOrigin_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteOrigin)))(t || MatAutocompleteOrigin); }; }();\nMatAutocompleteOrigin.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteOrigin, selectors: [[\"\", \"matAutocompleteOrigin\", \"\"]], exportAs: [\"matAutocompleteOrigin\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatAutocompleteOrigin, [{\n type: Directive,\n args: [{\n selector: '[matAutocompleteOrigin]',\n exportAs: 'matAutocompleteOrigin'\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token that determines the scroll handling while the autocomplete panel is open. */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scroll-strategy');\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_AUTOCOMPLETE_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY,\n};\n/**\n * Provider that allows the autocomplete to register as a ControlValueAccessor.\n * @docs-private\n */\nconst MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatAutocompleteTrigger),\n multi: true\n};\n/**\n * Creates an error to be thrown when attempting to use an autocomplete trigger without a panel.\n * @docs-private\n */\nfunction getMatAutocompleteMissingPanelError() {\n return Error('Attempting to open an undefined instance of `mat-autocomplete`. ' +\n 'Make sure that the id passed to the `matAutocomplete` is correct and that ' +\n 'you\\'re attempting to open it after the ngAfterContentInit hook.');\n}\n/** Base class with all of the `MatAutocompleteTrigger` functionality. */\nclass _MatAutocompleteTriggerBase {\n constructor(_element, _overlay, _viewContainerRef, _zone, _changeDetectorRef, scrollStrategy, _dir, _formField, _document, _viewportRuler, _defaults) {\n this._element = _element;\n this._overlay = _overlay;\n this._viewContainerRef = _viewContainerRef;\n this._zone = _zone;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._formField = _formField;\n this._document = _document;\n this._viewportRuler = _viewportRuler;\n this._defaults = _defaults;\n this._componentDestroyed = false;\n this._autocompleteDisabled = false;\n /** Whether or not the label state is being overridden. */\n this._manuallyFloatingLabel = false;\n /** Subscription to viewport size changes. */\n this._viewportSubscription = Subscription.EMPTY;\n /**\n * Whether the autocomplete can open the next time it is focused. Used to prevent a focused,\n * closed autocomplete from being reopened if the user switches to another browser tab and then\n * comes back.\n */\n this._canOpenOnNextFocus = true;\n /** Stream of keyboard events that can close the panel. */\n this._closeKeyEventStream = new Subject();\n /**\n * Event handler for when the window is blurred. Needs to be an\n * arrow function in order to preserve the context.\n */\n this._windowBlurHandler = () => {\n // If the user blurred the window while the autocomplete is focused, it means that it'll be\n // refocused when they come back. In this case we want to skip the first focus event, if the\n // pane was closed, in order to avoid reopening it unintentionally.\n this._canOpenOnNextFocus =\n this._document.activeElement !== this._element.nativeElement || this.panelOpen;\n };\n /** `View -> model callback called when value changes` */\n this._onChange = () => { };\n /** `View -> model callback called when autocomplete has been touched` */\n this._onTouched = () => { };\n /**\n * Position of the autocomplete panel relative to the trigger element. A position of `auto`\n * will render the panel underneath the trigger if there is enough space for it to fit in\n * the viewport, otherwise the panel will be shown above it. If the position is set to\n * `above` or `below`, the panel will always be shown above or below the trigger. no matter\n * whether it fits completely in the viewport.\n */\n this.position = 'auto';\n /**\n * `autocomplete` attribute to be set on the input element.\n * @docs-private\n */\n this.autocompleteAttribute = 'off';\n this._overlayAttached = false;\n /** Stream of autocomplete option selections. */\n this.optionSelections = defer(() => {\n if (this.autocomplete && this.autocomplete.options) {\n return merge(...this.autocomplete.options.map(option => option.onSelectionChange));\n }\n // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.\n // Return a stream that we'll replace with the real one once everything is in place.\n return this._zone.onStable\n .pipe(take(1), switchMap(() => this.optionSelections));\n });\n this._scrollStrategy = scrollStrategy;\n }\n /**\n * Whether the autocomplete is disabled. When disabled, the element will\n * act as a regular input and the user won't be able to open the panel.\n */\n get autocompleteDisabled() { return this._autocompleteDisabled; }\n set autocompleteDisabled(value) {\n this._autocompleteDisabled = coerceBooleanProperty(value);\n }\n ngAfterViewInit() {\n const window = this._getWindow();\n if (typeof window !== 'undefined') {\n this._zone.runOutsideAngular(() => window.addEventListener('blur', this._windowBlurHandler));\n }\n }\n ngOnChanges(changes) {\n if (changes['position'] && this._positionStrategy) {\n this._setStrategyPositions(this._positionStrategy);\n if (this.panelOpen) {\n this._overlayRef.updatePosition();\n }\n }\n }\n ngOnDestroy() {\n const window = this._getWindow();\n if (typeof window !== 'undefined') {\n window.removeEventListener('blur', this._windowBlurHandler);\n }\n this._viewportSubscription.unsubscribe();\n this._componentDestroyed = true;\n this._destroyPanel();\n this._closeKeyEventStream.complete();\n }\n /** Whether or not the autocomplete panel is open. */\n get panelOpen() {\n return this._overlayAttached && this.autocomplete.showPanel;\n }\n /** Opens the autocomplete suggestion panel. */\n openPanel() {\n this._attachOverlay();\n this._floatLabel();\n }\n /** Closes the autocomplete suggestion panel. */\n closePanel() {\n this._resetLabel();\n if (!this._overlayAttached) {\n return;\n }\n if (this.panelOpen) {\n // Only emit if the panel was visible.\n this.autocomplete.closed.emit();\n }\n this.autocomplete._isOpen = this._overlayAttached = false;\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n this._closingActionsSubscription.unsubscribe();\n }\n // Note that in some cases this can end up being called after the component is destroyed.\n // Add a check to ensure that we don't try to run change detection on a destroyed view.\n if (!this._componentDestroyed) {\n // We need to trigger change detection manually, because\n // `fromEvent` doesn't seem to do it at the proper time.\n // This ensures that the label is reset when the\n // user clicks outside.\n this._changeDetectorRef.detectChanges();\n }\n }\n /**\n * Updates the position of the autocomplete suggestion panel to ensure that it fits all options\n * within the viewport.\n */\n updatePosition() {\n if (this._overlayAttached) {\n this._overlayRef.updatePosition();\n }\n }\n /**\n * A stream of actions that should close the autocomplete panel, including\n * when an option is selected, on blur, and when TAB is pressed.\n */\n get panelClosingActions() {\n return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(() => this._overlayAttached)), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?\n this._overlayRef.detachments().pipe(filter(() => this._overlayAttached)) :\n of()).pipe(\n // Normalize the output so we return a consistent type.\n map(event => event instanceof MatOptionSelectionChange ? event : null));\n }\n /** The currently active option, coerced to MatOption type. */\n get activeOption() {\n if (this.autocomplete && this.autocomplete._keyManager) {\n return this.autocomplete._keyManager.activeItem;\n }\n return null;\n }\n /** Stream of clicks outside of the autocomplete panel. */\n _getOutsideClickStream() {\n return merge(fromEvent(this._document, 'click'), fromEvent(this._document, 'auxclick'), fromEvent(this._document, 'touchend'))\n .pipe(filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = _getEventTarget(event);\n const formField = this._formField ? this._formField._elementRef.nativeElement : null;\n const customOrigin = this.connectedTo ? this.connectedTo.elementRef.nativeElement : null;\n return this._overlayAttached && clickTarget !== this._element.nativeElement &&\n (!formField || !formField.contains(clickTarget)) &&\n (!customOrigin || !customOrigin.contains(clickTarget)) &&\n (!!this._overlayRef && !this._overlayRef.overlayElement.contains(clickTarget));\n }));\n }\n // Implemented as part of ControlValueAccessor.\n writeValue(value) {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._onChange = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this._element.nativeElement.disabled = isDisabled;\n }\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n // Prevent the default action on all escape key presses. This is here primarily to bring IE\n // in line with other browsers. By default, pressing escape on IE will cause it to revert\n // the input value to the one that it had on focus, however it won't dispatch any events\n // which means that the model value will be out of sync with the view.\n if (keyCode === ESCAPE && !hasModifierKey(event)) {\n event.preventDefault();\n }\n if (this.activeOption && keyCode === ENTER && this.panelOpen) {\n this.activeOption._selectViaInteraction();\n this._resetActiveItem();\n event.preventDefault();\n }\n else if (this.autocomplete) {\n const prevActiveItem = this.autocomplete._keyManager.activeItem;\n const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n if (this.panelOpen || keyCode === TAB) {\n this.autocomplete._keyManager.onKeydown(event);\n }\n else if (isArrowKey && this._canOpen()) {\n this.openPanel();\n }\n if (isArrowKey || this.autocomplete._keyManager.activeItem !== prevActiveItem) {\n this._scrollToOption(this.autocomplete._keyManager.activeItemIndex || 0);\n }\n }\n }\n _handleInput(event) {\n let target = event.target;\n let value = target.value;\n // Based on `NumberValueAccessor` from forms.\n if (target.type === 'number') {\n value = value == '' ? null : parseFloat(value);\n }\n // If the input has a placeholder, IE will fire the `input` event on page load,\n // focus and blur, in addition to when the user actually changed the value. To\n // filter out all of the extra events, we save the value on focus and between\n // `input` events, and we check whether it changed.\n // See: https://connect.microsoft.com/IE/feedback/details/885747/\n if (this._previousValue !== value) {\n this._previousValue = value;\n this._onChange(value);\n if (this._canOpen() && this._document.activeElement === event.target) {\n this.openPanel();\n }\n }\n }\n _handleFocus() {\n if (!this._canOpenOnNextFocus) {\n this._canOpenOnNextFocus = true;\n }\n else if (this._canOpen()) {\n this._previousValue = this._element.nativeElement.value;\n this._attachOverlay();\n this._floatLabel(true);\n }\n }\n /**\n * In \"auto\" mode, the label will animate down as soon as focus is lost.\n * This causes the value to jump when selecting an option with the mouse.\n * This method manually floats the label until the panel can be closed.\n * @param shouldAnimate Whether the label should be animated when it is floated.\n */\n _floatLabel(shouldAnimate = false) {\n if (this._formField && this._formField.floatLabel === 'auto') {\n if (shouldAnimate) {\n this._formField._animateAndLockLabel();\n }\n else {\n this._formField.floatLabel = 'always';\n }\n this._manuallyFloatingLabel = true;\n }\n }\n /** If the label has been manually elevated, return it to its normal state. */\n _resetLabel() {\n if (this._manuallyFloatingLabel) {\n this._formField.floatLabel = 'auto';\n this._manuallyFloatingLabel = false;\n }\n }\n /**\n * This method listens to a stream of panel closing actions and resets the\n * stream every time the option list changes.\n */\n _subscribeToClosingActions() {\n const firstStable = this._zone.onStable.pipe(take(1));\n const optionChanges = this.autocomplete.options.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()), \n // Defer emitting to the stream until the next tick, because changing\n // bindings in here will cause \"changed after checked\" errors.\n delay(0));\n // When the zone is stable initially, and when the option list changes...\n return merge(firstStable, optionChanges)\n .pipe(\n // create a new stream of panelClosingActions, replacing any previous streams\n // that were created, and flatten it so our stream only emits closing events...\n switchMap(() => {\n const wasOpen = this.panelOpen;\n this._resetActiveItem();\n this.autocomplete._setVisibility();\n if (this.panelOpen) {\n this._overlayRef.updatePosition();\n // If the `panelOpen` state changed, we need to make sure to emit the `opened`\n // event, because we may not have emitted it when the panel was attached. This\n // can happen if the users opens the panel and there are no options, but the\n // options come in slightly later or as a result of the value changing.\n if (wasOpen !== this.panelOpen) {\n this.autocomplete.opened.emit();\n }\n }\n return this.panelClosingActions;\n }), \n // when the first closing event occurs...\n take(1))\n // set the value, close the panel, and complete.\n .subscribe(event => this._setValueAndClose(event));\n }\n /** Destroys the autocomplete suggestion panel. */\n _destroyPanel() {\n if (this._overlayRef) {\n this.closePanel();\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n _setTriggerValue(value) {\n const toDisplay = this.autocomplete && this.autocomplete.displayWith ?\n this.autocomplete.displayWith(value) :\n value;\n // Simply falling back to an empty string if the display value is falsy does not work properly.\n // The display value can also be the number zero and shouldn't fall back to an empty string.\n const inputValue = toDisplay != null ? toDisplay : '';\n // If it's used within a `MatFormField`, we should set it through the property so it can go\n // through change detection.\n if (this._formField) {\n this._formField._control.value = inputValue;\n }\n else {\n this._element.nativeElement.value = inputValue;\n }\n this._previousValue = inputValue;\n }\n /**\n * This method closes the panel, and if a value is specified, also sets the associated\n * control to that value. It will also mark the control as dirty if this interaction\n * stemmed from the user.\n */\n _setValueAndClose(event) {\n if (event && event.source) {\n this._clearPreviousSelectedOption(event.source);\n this._setTriggerValue(event.source.value);\n this._onChange(event.source.value);\n this._element.nativeElement.focus();\n this.autocomplete._emitSelectEvent(event.source);\n }\n this.closePanel();\n }\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n _clearPreviousSelectedOption(skip) {\n this.autocomplete.options.forEach(option => {\n if (option !== skip && option.selected) {\n option.deselect();\n }\n });\n }\n _attachOverlay() {\n var _a;\n if (!this.autocomplete && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatAutocompleteMissingPanelError();\n }\n let overlayRef = this._overlayRef;\n if (!overlayRef) {\n this._portal = new TemplatePortal(this.autocomplete.template, this._viewContainerRef, { id: (_a = this._formField) === null || _a === void 0 ? void 0 : _a.getLabelId() });\n overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef = overlayRef;\n // Use the `keydownEvents` in order to take advantage of\n // the overlay event targeting provided by the CDK overlay.\n overlayRef.keydownEvents().subscribe(event => {\n // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n if ((event.keyCode === ESCAPE && !hasModifierKey(event)) ||\n (event.keyCode === UP_ARROW && hasModifierKey(event, 'altKey'))) {\n this._closeKeyEventStream.next();\n this._resetActiveItem();\n // We need to stop propagation, otherwise the event will eventually\n // reach the input itself and cause the overlay to be reopened.\n event.stopPropagation();\n event.preventDefault();\n }\n });\n this._viewportSubscription = this._viewportRuler.change().subscribe(() => {\n if (this.panelOpen && overlayRef) {\n overlayRef.updateSize({ width: this._getPanelWidth() });\n }\n });\n }\n else {\n // Update the trigger, panel width and direction, in case anything has changed.\n this._positionStrategy.setOrigin(this._getConnectedElement());\n overlayRef.updateSize({ width: this._getPanelWidth() });\n }\n if (overlayRef && !overlayRef.hasAttached()) {\n overlayRef.attach(this._portal);\n this._closingActionsSubscription = this._subscribeToClosingActions();\n }\n const wasOpen = this.panelOpen;\n this.autocomplete._setVisibility();\n this.autocomplete._isOpen = this._overlayAttached = true;\n // We need to do an extra `panelOpen` check in here, because the\n // autocomplete won't be shown if there are no options.\n if (this.panelOpen && wasOpen !== this.panelOpen) {\n this.autocomplete.opened.emit();\n }\n }\n _getOverlayConfig() {\n var _a;\n return new OverlayConfig({\n positionStrategy: this._getOverlayPosition(),\n scrollStrategy: this._scrollStrategy(),\n width: this._getPanelWidth(),\n direction: this._dir,\n panelClass: (_a = this._defaults) === null || _a === void 0 ? void 0 : _a.overlayPanelClass,\n });\n }\n _getOverlayPosition() {\n const strategy = this._overlay.position()\n .flexibleConnectedTo(this._getConnectedElement())\n .withFlexibleDimensions(false)\n .withPush(false);\n this._setStrategyPositions(strategy);\n this._positionStrategy = strategy;\n return strategy;\n }\n /** Sets the positions on a position strategy based on the directive's input state. */\n _setStrategyPositions(positionStrategy) {\n // Note that we provide horizontal fallback positions, even though by default the dropdown\n // width matches the input, because consumers can override the width. See #18854.\n const belowPositions = [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }\n ];\n // The overlay edge connected to the trigger should have squared corners, while\n // the opposite end has rounded corners. We apply a CSS class to swap the\n // border-radius based on the overlay position.\n const panelClass = this._aboveClass;\n const abovePositions = [\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', panelClass },\n { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', panelClass }\n ];\n let positions;\n if (this.position === 'above') {\n positions = abovePositions;\n }\n else if (this.position === 'below') {\n positions = belowPositions;\n }\n else {\n positions = [...belowPositions, ...abovePositions];\n }\n positionStrategy.withPositions(positions);\n }\n _getConnectedElement() {\n if (this.connectedTo) {\n return this.connectedTo.elementRef;\n }\n return this._formField ? this._formField.getConnectedOverlayOrigin() : this._element;\n }\n _getPanelWidth() {\n return this.autocomplete.panelWidth || this._getHostWidth();\n }\n /** Returns the width of the input element, so the panel width can match it. */\n _getHostWidth() {\n return this._getConnectedElement().nativeElement.getBoundingClientRect().width;\n }\n /**\n * Resets the active item to -1 so arrow events will activate the\n * correct options, or to 0 if the consumer opted into it.\n */\n _resetActiveItem() {\n const autocomplete = this.autocomplete;\n if (autocomplete.autoActiveFirstOption) {\n // Note that we go through `setFirstItemActive`, rather than `setActiveItem(0)`, because\n // the former will find the next enabled option, if the first one is disabled.\n autocomplete._keyManager.setFirstItemActive();\n }\n else {\n autocomplete._keyManager.setActiveItem(-1);\n }\n }\n /** Determines whether the panel can be opened. */\n _canOpen() {\n const element = this._element.nativeElement;\n return !element.readOnly && !element.disabled && !this._autocompleteDisabled;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n var _a;\n return ((_a = this._document) === null || _a === void 0 ? void 0 : _a.defaultView) || window;\n }\n /** Scrolls to a particular option in the list. */\n _scrollToOption(index) {\n // Given that we are not actually focusing active options, we must manually adjust scroll\n // to reveal options below the fold. First, we find the offset of the option from the top\n // of the panel. If that offset is below the fold, the new scrollTop will be the offset -\n // the panel height + the option height, so the active option will be just visible at the\n // bottom of the panel. If that offset is above the top of the visible panel, the new scrollTop\n // will become the offset. If that offset is visible within the panel already, the scrollTop is\n // not adjusted.\n const autocomplete = this.autocomplete;\n const labelCount = _countGroupLabelsBeforeOption(index, autocomplete.options, autocomplete.optionGroups);\n if (index === 0 && labelCount === 1) {\n // If we've got one group label before the option and we're at the top option,\n // scroll the list to the top. This is better UX than scrolling the list to the\n // top of the option, because it allows the user to read the top group's label.\n autocomplete._setScrollTop(0);\n }\n else if (autocomplete.panel) {\n const option = autocomplete.options.toArray()[index];\n if (option) {\n const element = option._getHostElement();\n const newScrollPosition = _getOptionScrollPosition(element.offsetTop, element.offsetHeight, autocomplete._getScrollTop(), autocomplete.panel.nativeElement.offsetHeight);\n autocomplete._setScrollTop(newScrollPosition);\n }\n }\n }\n}\n_MatAutocompleteTriggerBase.ɵfac = function _MatAutocompleteTriggerBase_Factory(t) { return new (t || _MatAutocompleteTriggerBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD, 9), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc5.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, 8)); };\n_MatAutocompleteTriggerBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteTriggerBase, inputs: { position: [\"matAutocompletePosition\", \"position\"], autocompleteAttribute: [\"autocomplete\", \"autocompleteAttribute\"], autocompleteDisabled: [\"matAutocompleteDisabled\", \"autocompleteDisabled\"], autocomplete: [\"matAutocomplete\", \"autocomplete\"], connectedTo: [\"matAutocompleteConnectedTo\", \"connectedTo\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n_MatAutocompleteTriggerBase.ctorParameters = () => [\n { type: ElementRef },\n { type: Overlay },\n { type: ViewContainerRef },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }, { type: Host }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }\n];\n_MatAutocompleteTriggerBase.propDecorators = {\n autocomplete: [{ type: Input, args: ['matAutocomplete',] }],\n position: [{ type: Input, args: ['matAutocompletePosition',] }],\n connectedTo: [{ type: Input, args: ['matAutocompleteConnectedTo',] }],\n autocompleteAttribute: [{ type: Input, args: ['autocomplete',] }],\n autocompleteDisabled: [{ type: Input, args: ['matAutocompleteDisabled',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatAutocompleteTriggerBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc3.Overlay }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY]\n }] }, { type: ɵngcc4.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc6.MatFormField, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }, {\n type: Host\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc5.ViewportRuler }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS]\n }] }]; }, { position: [{\n type: Input,\n args: ['matAutocompletePosition']\n }], autocompleteAttribute: [{\n type: Input,\n args: ['autocomplete']\n }], autocompleteDisabled: [{\n type: Input,\n args: ['matAutocompleteDisabled']\n }], autocomplete: [{\n type: Input,\n args: ['matAutocomplete']\n }], connectedTo: [{\n type: Input,\n args: ['matAutocompleteConnectedTo']\n }] }); })();\nclass MatAutocompleteTrigger extends _MatAutocompleteTriggerBase {\n constructor() {\n super(...arguments);\n this._aboveClass = 'mat-autocomplete-panel-above';\n }\n}\nMatAutocompleteTrigger.ɵfac = /*@__PURE__*/ function () { let ɵMatAutocompleteTrigger_BaseFactory; return function MatAutocompleteTrigger_Factory(t) { return (ɵMatAutocompleteTrigger_BaseFactory || (ɵMatAutocompleteTrigger_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteTrigger)))(t || MatAutocompleteTrigger); }; }();\nMatAutocompleteTrigger.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteTrigger, selectors: [[\"input\", \"matAutocomplete\", \"\"], [\"textarea\", \"matAutocomplete\", \"\"]], hostAttrs: [1, \"mat-autocomplete-trigger\"], hostVars: 7, hostBindings: function MatAutocompleteTrigger_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focusin\", function MatAutocompleteTrigger_focusin_HostBindingHandler() { return ctx._handleFocus(); })(\"blur\", function MatAutocompleteTrigger_blur_HostBindingHandler() { return ctx._onTouched(); })(\"input\", function MatAutocompleteTrigger_input_HostBindingHandler($event) { return ctx._handleInput($event); })(\"keydown\", function MatAutocompleteTrigger_keydown_HostBindingHandler($event) { return ctx._handleKeydown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"autocomplete\", ctx.autocompleteAttribute)(\"role\", ctx.autocompleteDisabled ? null : \"combobox\")(\"aria-autocomplete\", ctx.autocompleteDisabled ? null : \"list\")(\"aria-activedescendant\", ctx.panelOpen && ctx.activeOption ? ctx.activeOption.id : null)(\"aria-expanded\", ctx.autocompleteDisabled ? null : ctx.panelOpen.toString())(\"aria-owns\", ctx.autocompleteDisabled || !ctx.panelOpen ? null : ctx.autocomplete == null ? null : ctx.autocomplete.id)(\"aria-haspopup\", !ctx.autocompleteDisabled);\n } }, exportAs: [\"matAutocompleteTrigger\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_AUTOCOMPLETE_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatAutocompleteTrigger, [{\n type: Directive,\n args: [{\n selector: `input[matAutocomplete], textarea[matAutocomplete]`,\n host: {\n 'class': 'mat-autocomplete-trigger',\n '[attr.autocomplete]': 'autocompleteAttribute',\n '[attr.role]': 'autocompleteDisabled ? null : \"combobox\"',\n '[attr.aria-autocomplete]': 'autocompleteDisabled ? null : \"list\"',\n '[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',\n '[attr.aria-expanded]': 'autocompleteDisabled ? null : panelOpen.toString()',\n '[attr.aria-owns]': '(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id',\n '[attr.aria-haspopup]': '!autocompleteDisabled',\n // Note: we use `focusin`, as opposed to `focus`, in order to open the panel\n // a little earlier. This avoids issues where IE delays the focusing of the input.\n '(focusin)': '_handleFocus()',\n '(blur)': '_onTouched()',\n '(input)': '_handleInput($event)',\n '(keydown)': '_handleKeydown($event)'\n },\n exportAs: 'matAutocompleteTrigger',\n providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatAutocompleteModule {\n}\nMatAutocompleteModule.ɵfac = function MatAutocompleteModule_Factory(t) { return new (t || MatAutocompleteModule)(); };\nMatAutocompleteModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatAutocompleteModule });\nMatAutocompleteModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[\n OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule\n ], CdkScrollableModule,\n MatOptionModule,\n MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatAutocompleteModule, [{\n type: NgModule,\n args: [{\n imports: [\n OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule\n ],\n exports: [\n MatAutocomplete,\n MatAutocompleteTrigger,\n MatAutocompleteOrigin,\n CdkScrollableModule,\n MatOptionModule,\n MatCommonModule,\n ],\n declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin],\n providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatAutocompleteModule, { declarations: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin]; }, imports: function () { return [OverlayModule,\n MatOptionModule,\n MatCommonModule,\n CommonModule]; }, exports: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin, CdkScrollableModule,\n MatOptionModule,\n MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_AUTOCOMPLETE_VALUE_ACCESSOR, MatAutocomplete, MatAutocompleteModule, MatAutocompleteOrigin, MatAutocompleteSelectedEvent, MatAutocompleteTrigger, _MatAutocompleteBase, _MatAutocompleteOriginBase, _MatAutocompleteTriggerBase, getMatAutocompleteMissingPanelError };\n\n","import { Directive, NgZone, ElementRef, Renderer2, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { mixinDisabled, MatCommonModule } from '@angular/material/core';\nimport { AriaDescriber, A11yModule } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nlet nextId = 0;\n// Boilerplate for applying mixins to MatBadge.\n/** @docs-private */\nconst _MatBadgeBase = mixinDisabled(class {\n});\n/** Directive to display a text badge. */\nclass MatBadge extends _MatBadgeBase {\n constructor(_ngZone, _elementRef, _ariaDescriber, _renderer, _animationMode) {\n super();\n this._ngZone = _ngZone;\n this._elementRef = _elementRef;\n this._ariaDescriber = _ariaDescriber;\n this._renderer = _renderer;\n this._animationMode = _animationMode;\n /** Whether the badge has any content. */\n this._hasContent = false;\n this._color = 'primary';\n this._overlap = true;\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n this.position = 'above after';\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n this.size = 'medium';\n /** Unique id for the badge */\n this._id = nextId++;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = _elementRef.nativeElement;\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n }\n }\n /** The color of the badge. Can be `primary`, `accent`, or `warn`. */\n get color() { return this._color; }\n set color(value) {\n this._setColor(value);\n this._color = value;\n }\n /** Whether the badge should overlap its contents or not */\n get overlap() { return this._overlap; }\n set overlap(val) {\n this._overlap = coerceBooleanProperty(val);\n }\n /** Message used to describe the decorated element via aria-describedby */\n get description() { return this._description; }\n set description(newDescription) {\n if (newDescription !== this._description) {\n const badgeElement = this._badgeElement;\n this._updateHostAriaDescription(newDescription, this._description);\n this._description = newDescription;\n if (badgeElement) {\n newDescription ? badgeElement.setAttribute('aria-label', newDescription) :\n badgeElement.removeAttribute('aria-label');\n }\n }\n }\n /** Whether the badge is hidden. */\n get hidden() { return this._hidden; }\n set hidden(val) {\n this._hidden = coerceBooleanProperty(val);\n }\n /** Whether the badge is above the host or not */\n isAbove() {\n return this.position.indexOf('below') === -1;\n }\n /** Whether the badge is after the host or not */\n isAfter() {\n return this.position.indexOf('before') === -1;\n }\n ngOnChanges(changes) {\n const contentChange = changes['content'];\n if (contentChange) {\n const value = contentChange.currentValue;\n this._hasContent = value != null && `${value}`.trim().length > 0;\n this._updateTextContent();\n }\n }\n ngOnDestroy() {\n const badgeElement = this._badgeElement;\n if (badgeElement) {\n if (this.description) {\n this._ariaDescriber.removeDescription(badgeElement, this.description);\n }\n // When creating a badge through the Renderer, Angular will keep it in an index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(badgeElement);\n }\n }\n }\n /**\n * Gets the element into which the badge's content is being rendered.\n * Undefined if the element hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement() {\n return this._badgeElement;\n }\n /** Injects a span element into the DOM with the content. */\n _updateTextContent() {\n if (!this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n else {\n this._badgeElement.textContent = this._stringifyContent();\n }\n return this._badgeElement;\n }\n /** Creates the badge element */\n _createBadgeElement() {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n const contentClass = 'mat-badge-content';\n // Clear any existing badges which may have persisted from a server-side render.\n this._clearExistingBadges(contentClass);\n badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);\n badgeElement.classList.add(contentClass);\n badgeElement.textContent = this._stringifyContent();\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n if (this.description) {\n badgeElement.setAttribute('aria-label', this.description);\n }\n this._elementRef.nativeElement.appendChild(badgeElement);\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n }\n else {\n badgeElement.classList.add(activeClass);\n }\n return badgeElement;\n }\n /** Sets the aria-label property on the element */\n _updateHostAriaDescription(newDescription, oldDescription) {\n // ensure content available before setting label\n const content = this._updateTextContent();\n if (oldDescription) {\n this._ariaDescriber.removeDescription(content, oldDescription);\n }\n if (newDescription) {\n this._ariaDescriber.describe(content, newDescription);\n }\n }\n /** Adds css theme class given the color to the component host */\n _setColor(colorPalette) {\n if (colorPalette !== this._color) {\n const classList = this._elementRef.nativeElement.classList;\n if (this._color) {\n classList.remove(`mat-badge-${this._color}`);\n }\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n }\n /** Clears any existing badges that might be left over from server-side rendering. */\n _clearExistingBadges(cssClass) {\n const element = this._elementRef.nativeElement;\n let childCount = element.children.length;\n // Use a reverse while, because we'll be removing elements from the list as we're iterating.\n while (childCount--) {\n const currentChild = element.children[childCount];\n if (currentChild.classList.contains(cssClass)) {\n element.removeChild(currentChild);\n }\n }\n }\n /** Gets the string representation of the badge content. */\n _stringifyContent() {\n // Convert null and undefined to an empty string which is consistent\n // with how Angular handles them in inside template interpolations.\n const content = this.content;\n return content == null ? '' : `${content}`;\n }\n}\nMatBadge.ɵfac = function MatBadge_Factory(t) { return new (t || MatBadge)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.AriaDescriber), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatBadge.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatBadge, selectors: [[\"\", \"matBadge\", \"\"]], hostAttrs: [1, \"mat-badge\"], hostVars: 20, hostBindings: function MatBadge_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-badge-overlap\", ctx.overlap)(\"mat-badge-above\", ctx.isAbove())(\"mat-badge-below\", !ctx.isAbove())(\"mat-badge-before\", !ctx.isAfter())(\"mat-badge-after\", ctx.isAfter())(\"mat-badge-small\", ctx.size === \"small\")(\"mat-badge-medium\", ctx.size === \"medium\")(\"mat-badge-large\", ctx.size === \"large\")(\"mat-badge-hidden\", ctx.hidden || !ctx._hasContent)(\"mat-badge-disabled\", ctx.disabled);\n } }, inputs: { disabled: [\"matBadgeDisabled\", \"disabled\"], position: [\"matBadgePosition\", \"position\"], size: [\"matBadgeSize\", \"size\"], color: [\"matBadgeColor\", \"color\"], overlap: [\"matBadgeOverlap\", \"overlap\"], description: [\"matBadgeDescription\", \"description\"], hidden: [\"matBadgeHidden\", \"hidden\"], content: [\"matBadge\", \"content\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nMatBadge.ctorParameters = () => [\n { type: NgZone },\n { type: ElementRef },\n { type: AriaDescriber },\n { type: Renderer2 },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatBadge.propDecorators = {\n color: [{ type: Input, args: ['matBadgeColor',] }],\n overlap: [{ type: Input, args: ['matBadgeOverlap',] }],\n position: [{ type: Input, args: ['matBadgePosition',] }],\n content: [{ type: Input, args: ['matBadge',] }],\n description: [{ type: Input, args: ['matBadgeDescription',] }],\n size: [{ type: Input, args: ['matBadgeSize',] }],\n hidden: [{ type: Input, args: ['matBadgeHidden',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatBadge, [{\n type: Directive,\n args: [{\n selector: '[matBadge]',\n inputs: ['disabled: matBadgeDisabled'],\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !_hasContent',\n '[class.mat-badge-disabled]': 'disabled'\n }\n }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.AriaDescriber }, { type: ɵngcc0.Renderer2 }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { position: [{\n type: Input,\n args: ['matBadgePosition']\n }], size: [{\n type: Input,\n args: ['matBadgeSize']\n }], color: [{\n type: Input,\n args: ['matBadgeColor']\n }], overlap: [{\n type: Input,\n args: ['matBadgeOverlap']\n }], description: [{\n type: Input,\n args: ['matBadgeDescription']\n }], hidden: [{\n type: Input,\n args: ['matBadgeHidden']\n }], content: [{\n type: Input,\n args: ['matBadge']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatBadgeModule {\n}\nMatBadgeModule.ɵfac = function MatBadgeModule_Factory(t) { return new (t || MatBadgeModule)(); };\nMatBadgeModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatBadgeModule });\nMatBadgeModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n A11yModule,\n MatCommonModule\n ], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatBadgeModule, [{\n type: NgModule,\n args: [{\n imports: [\n A11yModule,\n MatCommonModule\n ],\n exports: [MatBadge, MatCommonModule],\n declarations: [MatBadge]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatBadgeModule, { declarations: function () { return [MatBadge]; }, imports: function () { return [A11yModule,\n MatCommonModule]; }, exports: function () { return [MatBadge, MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatBadge, MatBadgeModule };\n\n","import * as i1 from '@angular/cdk/overlay';\nimport { OverlayModule, OverlayConfig, Overlay } from '@angular/cdk/overlay';\nimport { BasePortalOutlet, CdkPortalOutlet, PortalModule, TemplatePortal, ComponentPortal } from '@angular/cdk/portal';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Optional, Inject, ViewChild, NgModule, TemplateRef, Injector, InjectFlags, Injectable, SkipSelf } from '@angular/core';\nimport { AnimationDurations, AnimationCurves, MatCommonModule } from '@angular/material/core';\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { FocusTrapFactory } from '@angular/cdk/a11y';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Subject, merge, of } from 'rxjs';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { filter, take } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token that can be used to access the data that was passed in to a bottom sheet. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/cdk/layout';\nimport * as ɵngcc3 from '@angular/cdk/portal';\nimport * as ɵngcc4 from '@angular/cdk/overlay';\n\nfunction MatBottomSheetContainer_ng_template_0_Template(rf, ctx) { }\nconst MAT_BOTTOM_SHEET_DATA = new InjectionToken('MatBottomSheetData');\n/**\n * Configuration used when opening a bottom sheet.\n */\nclass MatBottomSheetConfig {\n constructor() {\n /** Data being injected into the child component. */\n this.data = null;\n /** Whether the bottom sheet has a backdrop. */\n this.hasBackdrop = true;\n /** Whether the user can use escape or clicking outside to close the bottom sheet. */\n this.disableClose = false;\n /** Aria label to assign to the bottom sheet element. */\n this.ariaLabel = null;\n /**\n * Whether the bottom sheet should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.closeOnNavigation = true;\n // Note that this is disabled by default, because while the a11y recommendations are to focus\n // the first focusable element, doing so prevents screen readers from reading out the\n // rest of the bottom sheet content.\n /** Whether the bottom sheet should focus the first focusable element on open. */\n this.autoFocus = false;\n /**\n * Whether the bottom sheet should restore focus to the\n * previously-focused element, after it's closed.\n */\n this.restoreFocus = true;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Animations used by the Material bottom sheet. */\nconst matBottomSheetAnimations = {\n /** Animation that shows and hides a bottom sheet. */\n bottomSheetState: trigger('state', [\n state('void, hidden', style({ transform: 'translateY(100%)' })),\n state('visible', style({ transform: 'translateY(0%)' })),\n transition('visible => void, visible => hidden', animate(`${AnimationDurations.COMPLEX} ${AnimationCurves.ACCELERATION_CURVE}`)),\n transition('void => visible', animate(`${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`)),\n ])\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO(crisbeto): consolidate some logic between this, MatDialog and MatSnackBar\n/**\n * Internal component that wraps user-provided bottom sheet content.\n * @docs-private\n */\nclass MatBottomSheetContainer extends BasePortalOutlet {\n constructor(_elementRef, _changeDetectorRef, _focusTrapFactory, breakpointObserver, document, \n /** The bottom sheet configuration. */\n bottomSheetConfig) {\n super();\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._focusTrapFactory = _focusTrapFactory;\n this.bottomSheetConfig = bottomSheetConfig;\n /** The state of the bottom sheet animations. */\n this._animationState = 'void';\n /** Emits whenever the state of the animation changes. */\n this._animationStateChanged = new EventEmitter();\n /** Element that was focused before the bottom sheet was opened. */\n this._elementFocusedBeforeOpened = null;\n /**\n * Attaches a DOM portal to the bottom sheet container.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachDomPortal(portal);\n };\n this._document = document;\n this._breakpointSubscription = breakpointObserver\n .observe([Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\n .subscribe(() => {\n this._toggleClass('mat-bottom-sheet-container-medium', breakpointObserver.isMatched(Breakpoints.Medium));\n this._toggleClass('mat-bottom-sheet-container-large', breakpointObserver.isMatched(Breakpoints.Large));\n this._toggleClass('mat-bottom-sheet-container-xlarge', breakpointObserver.isMatched(Breakpoints.XLarge));\n });\n }\n /** Attach a component portal as content to this bottom sheet container. */\n attachComponentPortal(portal) {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachComponentPortal(portal);\n }\n /** Attach a template portal as content to this bottom sheet container. */\n attachTemplatePortal(portal) {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n /** Begin animation of bottom sheet entrance into view. */\n enter() {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.detectChanges();\n }\n }\n /** Begin animation of the bottom sheet exiting from view. */\n exit() {\n if (!this._destroyed) {\n this._animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n }\n }\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n this._destroyed = true;\n }\n _onAnimationDone(event) {\n if (event.toState === 'hidden') {\n this._restoreFocus();\n }\n else if (event.toState === 'visible') {\n this._trapFocus();\n }\n this._animationStateChanged.emit(event);\n }\n _onAnimationStart(event) {\n this._animationStateChanged.emit(event);\n }\n _toggleClass(cssClass, add) {\n const classList = this._elementRef.nativeElement.classList;\n add ? classList.add(cssClass) : classList.remove(cssClass);\n }\n _validatePortalAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach bottom sheet content after content is already attached');\n }\n }\n _setPanelClass() {\n const element = this._elementRef.nativeElement;\n const panelClass = this.bottomSheetConfig.panelClass;\n if (Array.isArray(panelClass)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClass.forEach(cssClass => element.classList.add(cssClass));\n }\n else if (panelClass) {\n element.classList.add(panelClass);\n }\n }\n /** Moves the focus inside the focus trap. */\n _trapFocus() {\n const element = this._elementRef.nativeElement;\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(element);\n }\n if (this.bottomSheetConfig.autoFocus) {\n this._focusTrap.focusInitialElementWhenReady();\n }\n else {\n const activeElement = _getFocusedElementPierceShadowDom();\n // Otherwise ensure that focus is on the container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the bottom sheet already, because it's possible that the\n // consumer turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n }\n }\n /** Restores focus to the element that was focused before the bottom sheet was opened. */\n _restoreFocus() {\n const toFocus = this._elementFocusedBeforeOpened;\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.bottomSheetConfig.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n // Make sure that focus is still inside the bottom sheet or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement || activeElement === this._document.body || activeElement === element ||\n element.contains(activeElement)) {\n toFocus.focus();\n }\n }\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n /** Saves a reference to the element that was focused before the bottom sheet was opened. */\n _savePreviouslyFocusedElement() {\n this._elementFocusedBeforeOpened = _getFocusedElementPierceShadowDom();\n // The `focus` method isn't available during server-side rendering.\n if (this._elementRef.nativeElement.focus) {\n Promise.resolve().then(() => this._elementRef.nativeElement.focus());\n }\n }\n}\nMatBottomSheetContainer.ɵfac = function MatBottomSheetContainer_Factory(t) { return new (t || MatBottomSheetContainer)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusTrapFactory), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.BreakpointObserver), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(MatBottomSheetConfig)); };\nMatBottomSheetContainer.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatBottomSheetContainer, selectors: [[\"mat-bottom-sheet-container\"]], viewQuery: function MatBottomSheetContainer_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(CdkPortalOutlet, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._portalOutlet = _t.first);\n } }, hostAttrs: [\"tabindex\", \"-1\", \"role\", \"dialog\", \"aria-modal\", \"true\", 1, \"mat-bottom-sheet-container\"], hostVars: 2, hostBindings: function MatBottomSheetContainer_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵsyntheticHostListener(\"@state.start\", function MatBottomSheetContainer_animation_state_start_HostBindingHandler($event) { return ctx._onAnimationStart($event); })(\"@state.done\", function MatBottomSheetContainer_animation_state_done_HostBindingHandler($event) { return ctx._onAnimationDone($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx.bottomSheetConfig == null ? null : ctx.bottomSheetConfig.ariaLabel);\n ɵngcc0.ɵɵsyntheticHostProperty(\"@state\", ctx._animationState);\n } }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[\"cdkPortalOutlet\", \"\"]], template: function MatBottomSheetContainer_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, MatBottomSheetContainer_ng_template_0_Template, 0, 0, \"ng-template\", 0);\n } }, directives: [ɵngcc3.CdkPortalOutlet], styles: [\".mat-bottom-sheet-container{padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto}.cdk-high-contrast-active .mat-bottom-sheet-container{outline:1px solid}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:4px;border-top-right-radius:4px}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}\\n\"], encapsulation: 2, data: { animation: [matBottomSheetAnimations.bottomSheetState] } });\nMatBottomSheetContainer.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: FocusTrapFactory },\n { type: BreakpointObserver },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: MatBottomSheetConfig }\n];\nMatBottomSheetContainer.propDecorators = {\n _portalOutlet: [{ type: ViewChild, args: [CdkPortalOutlet, { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatBottomSheetContainer, [{\n type: Component,\n args: [{\n selector: 'mat-bottom-sheet-container',\n template: \"\\r\\n\",\n // In Ivy embedded views will be change detected from their declaration place, rather than where\n // they were stamped out. This means that we can't have the bottom sheet container be OnPush,\n // because it might cause the sheets that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n animations: [matBottomSheetAnimations.bottomSheetState],\n host: {\n 'class': 'mat-bottom-sheet-container',\n 'tabindex': '-1',\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-label]': 'bottomSheetConfig?.ariaLabel',\n '[@state]': '_animationState',\n '(@state.start)': '_onAnimationStart($event)',\n '(@state.done)': '_onAnimationDone($event)'\n },\n styles: [\".mat-bottom-sheet-container{padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto}.cdk-high-contrast-active .mat-bottom-sheet-container{outline:1px solid}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:4px;border-top-right-radius:4px}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.FocusTrapFactory }, { type: ɵngcc2.BreakpointObserver }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: MatBottomSheetConfig }]; }, { _portalOutlet: [{\n type: ViewChild,\n args: [CdkPortalOutlet, { static: true }]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatBottomSheetModule {\n}\nMatBottomSheetModule.ɵfac = function MatBottomSheetModule_Factory(t) { return new (t || MatBottomSheetModule)(); };\nMatBottomSheetModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatBottomSheetModule });\nMatBottomSheetModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n OverlayModule,\n MatCommonModule,\n PortalModule,\n ], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatBottomSheetModule, [{\n type: NgModule,\n args: [{\n imports: [\n OverlayModule,\n MatCommonModule,\n PortalModule,\n ],\n exports: [MatBottomSheetContainer, MatCommonModule],\n declarations: [MatBottomSheetContainer],\n entryComponents: [MatBottomSheetContainer]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatBottomSheetModule, { declarations: function () { return [MatBottomSheetContainer]; }, imports: function () { return [OverlayModule,\n MatCommonModule,\n PortalModule]; }, exports: function () { return [MatBottomSheetContainer, MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to a bottom sheet dispatched from the bottom sheet service.\n */\nclass MatBottomSheetRef {\n constructor(containerInstance, _overlayRef) {\n this._overlayRef = _overlayRef;\n /** Subject for notifying the user that the bottom sheet has been dismissed. */\n this._afterDismissed = new Subject();\n /** Subject for notifying the user that the bottom sheet has opened and appeared. */\n this._afterOpened = new Subject();\n this.containerInstance = containerInstance;\n this.disableClose = containerInstance.bottomSheetConfig.disableClose;\n // Emit when opening animation completes\n containerInstance._animationStateChanged.pipe(filter(event => event.phaseName === 'done' && event.toState === 'visible'), take(1))\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n // Dispose overlay when closing animation is complete\n containerInstance._animationStateChanged\n .pipe(filter(event => event.phaseName === 'done' && event.toState === 'hidden'), take(1))\n .subscribe(() => {\n clearTimeout(this._closeFallbackTimeout);\n _overlayRef.dispose();\n });\n _overlayRef.detachments().pipe(take(1)).subscribe(() => {\n this._afterDismissed.next(this._result);\n this._afterDismissed.complete();\n });\n merge(_overlayRef.backdropClick(), _overlayRef.keydownEvents().pipe(filter(event => event.keyCode === ESCAPE))).subscribe(event => {\n if (!this.disableClose &&\n (event.type !== 'keydown' || !hasModifierKey(event))) {\n event.preventDefault();\n this.dismiss();\n }\n });\n }\n /**\n * Dismisses the bottom sheet.\n * @param result Data to be passed back to the bottom sheet opener.\n */\n dismiss(result) {\n if (!this._afterDismissed.closed) {\n // Transition the backdrop in parallel to the bottom sheet.\n this.containerInstance._animationStateChanged.pipe(filter(event => event.phaseName === 'start'), take(1)).subscribe(event => {\n // The logic that disposes of the overlay depends on the exit animation completing, however\n // it isn't guaranteed if the parent view is destroyed while it's running. Add a fallback\n // timeout which will clean everything up if the animation hasn't fired within the specified\n // amount of time plus 100ms. We don't need to run this outside the NgZone, because for the\n // vast majority of cases the timeout will have been cleared before it has fired.\n this._closeFallbackTimeout = setTimeout(() => {\n this._overlayRef.dispose();\n }, event.totalTime + 100);\n this._overlayRef.detachBackdrop();\n });\n this._result = result;\n this.containerInstance.exit();\n }\n }\n /** Gets an observable that is notified when the bottom sheet is finished closing. */\n afterDismissed() {\n return this._afterDismissed;\n }\n /** Gets an observable that is notified when the bottom sheet has opened and appeared. */\n afterOpened() {\n return this._afterOpened;\n }\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick() {\n return this._overlayRef.backdropClick();\n }\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents() {\n return this._overlayRef.keydownEvents();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token that can be used to specify default bottom sheet options. */\nconst MAT_BOTTOM_SHEET_DEFAULT_OPTIONS = new InjectionToken('mat-bottom-sheet-default-options');\n/**\n * Service to trigger Material Design bottom sheets.\n */\nclass MatBottomSheet {\n constructor(_overlay, _injector, _parentBottomSheet, _defaultOptions) {\n this._overlay = _overlay;\n this._injector = _injector;\n this._parentBottomSheet = _parentBottomSheet;\n this._defaultOptions = _defaultOptions;\n this._bottomSheetRefAtThisLevel = null;\n }\n /** Reference to the currently opened bottom sheet. */\n get _openedBottomSheetRef() {\n const parent = this._parentBottomSheet;\n return parent ? parent._openedBottomSheetRef : this._bottomSheetRefAtThisLevel;\n }\n set _openedBottomSheetRef(value) {\n if (this._parentBottomSheet) {\n this._parentBottomSheet._openedBottomSheetRef = value;\n }\n else {\n this._bottomSheetRefAtThisLevel = value;\n }\n }\n open(componentOrTemplateRef, config) {\n const _config = _applyConfigDefaults(this._defaultOptions || new MatBottomSheetConfig(), config);\n const overlayRef = this._createOverlay(_config);\n const container = this._attachContainer(overlayRef, _config);\n const ref = new MatBottomSheetRef(container, overlayRef);\n if (componentOrTemplateRef instanceof TemplateRef) {\n container.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, null, {\n $implicit: _config.data,\n bottomSheetRef: ref\n }));\n }\n else {\n const portal = new ComponentPortal(componentOrTemplateRef, undefined, this._createInjector(_config, ref));\n const contentRef = container.attachComponentPortal(portal);\n ref.instance = contentRef.instance;\n }\n // When the bottom sheet is dismissed, clear the reference to it.\n ref.afterDismissed().subscribe(() => {\n // Clear the bottom sheet ref if it hasn't already been replaced by a newer one.\n if (this._openedBottomSheetRef == ref) {\n this._openedBottomSheetRef = null;\n }\n });\n if (this._openedBottomSheetRef) {\n // If a bottom sheet is already in view, dismiss it and enter the\n // new bottom sheet after exit animation is complete.\n this._openedBottomSheetRef.afterDismissed().subscribe(() => ref.containerInstance.enter());\n this._openedBottomSheetRef.dismiss();\n }\n else {\n // If no bottom sheet is in view, enter the new bottom sheet.\n ref.containerInstance.enter();\n }\n this._openedBottomSheetRef = ref;\n return ref;\n }\n /**\n * Dismisses the currently-visible bottom sheet.\n * @param result Data to pass to the bottom sheet instance.\n */\n dismiss(result) {\n if (this._openedBottomSheetRef) {\n this._openedBottomSheetRef.dismiss(result);\n }\n }\n ngOnDestroy() {\n if (this._bottomSheetRefAtThisLevel) {\n this._bottomSheetRefAtThisLevel.dismiss();\n }\n }\n /**\n * Attaches the bottom sheet container component to the overlay.\n */\n _attachContainer(overlayRef, config) {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{ provide: MatBottomSheetConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(MatBottomSheetContainer, config.viewContainerRef, injector);\n const containerRef = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n /**\n * Creates a new overlay and places it in the correct location.\n * @param config The user-specified bottom sheet config.\n */\n _createOverlay(config) {\n const overlayConfig = new OverlayConfig({\n direction: config.direction,\n hasBackdrop: config.hasBackdrop,\n disposeOnNavigation: config.closeOnNavigation,\n maxWidth: '100%',\n scrollStrategy: config.scrollStrategy || this._overlay.scrollStrategies.block(),\n positionStrategy: this._overlay.position().global().centerHorizontally().bottom('0')\n });\n if (config.backdropClass) {\n overlayConfig.backdropClass = config.backdropClass;\n }\n return this._overlay.create(overlayConfig);\n }\n /**\n * Creates an injector to be used inside of a bottom sheet component.\n * @param config Config that was used to create the bottom sheet.\n * @param bottomSheetRef Reference to the bottom sheet.\n */\n _createInjector(config, bottomSheetRef) {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const providers = [\n { provide: MatBottomSheetRef, useValue: bottomSheetRef },\n { provide: MAT_BOTTOM_SHEET_DATA, useValue: config.data }\n ];\n if (config.direction && (!userInjector ||\n !userInjector.get(Directionality, null, InjectFlags.Optional))) {\n providers.push({\n provide: Directionality,\n useValue: { value: config.direction, change: of() }\n });\n }\n return Injector.create({ parent: userInjector || this._injector, providers });\n }\n}\nMatBottomSheet.ɵfac = function MatBottomSheet_Factory(t) { return new (t || MatBottomSheet)(ɵngcc0.ɵɵinject(ɵngcc4.Overlay), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(MatBottomSheet, 12), ɵngcc0.ɵɵinject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, 8)); };\nMatBottomSheet.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatBottomSheet_Factory() { return new MatBottomSheet(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(MatBottomSheet, 12), i0.ɵɵinject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, 8)); }, token: MatBottomSheet, providedIn: MatBottomSheetModule });\nMatBottomSheet.ctorParameters = () => [\n { type: Overlay },\n { type: Injector },\n { type: MatBottomSheet, decorators: [{ type: Optional }, { type: SkipSelf }] },\n { type: MatBottomSheetConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_BOTTOM_SHEET_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatBottomSheet, [{\n type: Injectable,\n args: [{ providedIn: MatBottomSheetModule }]\n }], function () { return [{ type: ɵngcc4.Overlay }, { type: ɵngcc0.Injector }, { type: MatBottomSheet, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: MatBottomSheetConfig, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BOTTOM_SHEET_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * Applies default options to the bottom sheet config.\n * @param defaults Object containing the default values to which to fall back.\n * @param config The configuration to which the defaults will be applied.\n * @returns The new configuration object with defaults applied.\n */\nfunction _applyConfigDefaults(defaults, config) {\n return Object.assign(Object.assign({}, defaults), config);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_BOTTOM_SHEET_DATA, MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, MatBottomSheet, MatBottomSheetConfig, MatBottomSheetContainer, MatBottomSheetModule, MatBottomSheetRef, matBottomSheetAnimations };\n\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, ChangeDetectorRef, Optional, Inject, ContentChildren, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Attribute, ViewChild, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { mixinDisableRipple, MatCommonModule, MatRippleModule } from '@angular/material/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to configure the\n * default options for all button toggles within an app.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/material/core';\n\nconst _c0 = [\"button\"];\nconst _c1 = [\"*\"];\nconst MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS');\n/**\n * Injection token that can be used to reference instances of `MatButtonToggleGroup`.\n * It serves as alternative token to the actual `MatButtonToggleGroup` class which\n * could cause unnecessary retention of the class and its component metadata.\n */\nconst MAT_BUTTON_TOGGLE_GROUP = new InjectionToken('MatButtonToggleGroup');\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nconst MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true\n};\n// Counter used to generate unique IDs.\nlet uniqueIdCounter = 0;\n/** Change event object emitted by MatButtonToggle. */\nclass MatButtonToggleChange {\n constructor(\n /** The MatButtonToggle that emits the event. */\n source, \n /** The value assigned to the MatButtonToggle. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\nclass MatButtonToggleGroup {\n constructor(_changeDetector, defaultOptions) {\n this._changeDetector = _changeDetector;\n this._vertical = false;\n this._multiple = false;\n this._disabled = false;\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n this._controlValueAccessorChangeFn = () => { };\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n this._onTouched = () => { };\n this._name = `mat-button-toggle-group-${uniqueIdCounter++}`;\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n this.valueChange = new EventEmitter();\n /** Event emitted when the group's value changes. */\n this.change = new EventEmitter();\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n }\n /** `name` attribute for the underlying `input` element. */\n get name() { return this._name; }\n set name(value) {\n this._name = value;\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => {\n toggle.name = this._name;\n toggle._markForCheck();\n });\n }\n }\n /** Whether the toggle group is vertical. */\n get vertical() { return this._vertical; }\n set vertical(value) {\n this._vertical = coerceBooleanProperty(value);\n }\n /** Value of the toggle group. */\n get value() {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n /** Selected button toggles in the group. */\n get selected() {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n return this.multiple ? selected : (selected[0] || null);\n }\n /** Whether multiple button toggles can be selected. */\n get multiple() { return this._multiple; }\n set multiple(value) {\n this._multiple = coerceBooleanProperty(value);\n }\n /** Whether multiple button toggle group is disabled. */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\n }\n }\n ngOnInit() {\n this._selectionModel = new SelectionModel(this.multiple, undefined, false);\n }\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent() {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new MatButtonToggleChange(source, this.value);\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n * @param deferEvents Whether to defer emitting the change events.\n */\n _syncButtonToggle(toggle, select, isUserInput = false, deferEvents = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n this.selected.checked = false;\n }\n if (this._selectionModel) {\n if (select) {\n this._selectionModel.select(toggle);\n }\n else {\n this._selectionModel.deselect(toggle);\n }\n }\n else {\n deferEvents = true;\n }\n // We need to defer in some cases in order to avoid \"changed after checked errors\", however\n // the side-effect is that we may end up updating the model value out of sequence in others\n // The `deferEvents` flag allows us to decide whether to do it on a case-by-case basis.\n if (deferEvents) {\n Promise.resolve().then(() => this._updateModelValue(isUserInput));\n }\n else {\n this._updateModelValue(isUserInput);\n }\n }\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle) {\n return this._selectionModel && this._selectionModel.isSelected(toggle);\n }\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n return toggle.value === this._rawValue;\n }\n /** Updates the selection state of the toggles in the group based on a value. */\n _setSelectionByValue(value) {\n this._rawValue = value;\n if (!this._buttonToggles) {\n return;\n }\n if (this.multiple && value) {\n if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n this._clearSelection();\n value.forEach((currentValue) => this._selectValue(currentValue));\n }\n else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n /** Clears the selected toggles. */\n _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => toggle.checked = false);\n }\n /** Selects a value if there's a toggle that corresponds to it. */\n _selectValue(value) {\n const correspondingOption = this._buttonToggles.find(toggle => {\n return toggle.value != null && toggle.value === value;\n });\n if (correspondingOption) {\n correspondingOption.checked = true;\n this._selectionModel.select(correspondingOption);\n }\n }\n /** Syncs up the group's value with the model and emits the change event. */\n _updateModelValue(isUserInput) {\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent();\n }\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n}\nMatButtonToggleGroup.ɵfac = function MatButtonToggleGroup_Factory(t) { return new (t || MatButtonToggleGroup)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, 8)); };\nMatButtonToggleGroup.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatButtonToggleGroup, selectors: [[\"mat-button-toggle-group\"]], contentQueries: function MatButtonToggleGroup_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatButtonToggle, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._buttonToggles = _t);\n } }, hostAttrs: [\"role\", \"group\", 1, \"mat-button-toggle-group\"], hostVars: 5, hostBindings: function MatButtonToggleGroup_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-disabled\", ctx.disabled);\n ɵngcc0.ɵɵclassProp(\"mat-button-toggle-vertical\", ctx.vertical)(\"mat-button-toggle-group-appearance-standard\", ctx.appearance === \"standard\");\n } }, inputs: { appearance: \"appearance\", name: \"name\", vertical: \"vertical\", value: \"value\", multiple: \"multiple\", disabled: \"disabled\" }, outputs: { valueChange: \"valueChange\", change: \"change\" }, exportAs: [\"matButtonToggleGroup\"], features: [ɵngcc0.ɵɵProvidersFeature([\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n { provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup },\n ])] });\nMatButtonToggleGroup.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,] }] }\n];\nMatButtonToggleGroup.propDecorators = {\n _buttonToggles: [{ type: ContentChildren, args: [forwardRef(() => MatButtonToggle), {\n // Note that this would technically pick up toggles\n // from nested groups, but that's not a case that we support.\n descendants: true\n },] }],\n appearance: [{ type: Input }],\n name: [{ type: Input }],\n vertical: [{ type: Input }],\n value: [{ type: Input }],\n valueChange: [{ type: Output }],\n multiple: [{ type: Input }],\n disabled: [{ type: Input }],\n change: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatButtonToggleGroup, [{\n type: Directive,\n args: [{\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n { provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup },\n ],\n host: {\n 'role': 'group',\n 'class': 'mat-button-toggle-group',\n '[attr.aria-disabled]': 'disabled',\n '[class.mat-button-toggle-vertical]': 'vertical',\n '[class.mat-button-toggle-group-appearance-standard]': 'appearance === \"standard\"'\n },\n exportAs: 'matButtonToggleGroup'\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]\n }] }]; }, { valueChange: [{\n type: Output\n }], change: [{\n type: Output\n }], appearance: [{\n type: Input\n }], name: [{\n type: Input\n }], vertical: [{\n type: Input\n }], value: [{\n type: Input\n }], multiple: [{\n type: Input\n }], disabled: [{\n type: Input\n }], _buttonToggles: [{\n type: ContentChildren,\n args: [forwardRef(() => MatButtonToggle), {\n // Note that this would technically pick up toggles\n // from nested groups, but that's not a case that we support.\n descendants: true\n }]\n }] }); })();\n// Boilerplate for applying mixins to the MatButtonToggle class.\n/** @docs-private */\nconst _MatButtonToggleBase = mixinDisableRipple(class {\n});\n/** Single button inside of a toggle group. */\nclass MatButtonToggle extends _MatButtonToggleBase {\n constructor(toggleGroup, _changeDetectorRef, _elementRef, _focusMonitor, defaultTabIndex, defaultOptions) {\n super();\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this._isSingleSelector = false;\n this._checked = false;\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n this.ariaLabelledby = null;\n this._disabled = false;\n /** Event emitted when the group value changes. */\n this.change = new EventEmitter();\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\n this.buttonToggleGroup = toggleGroup;\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n }\n /** Unique ID for the underlying `button` element. */\n get buttonId() { return `${this.id}-button`; }\n /** The appearance style of the button. */\n get appearance() {\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\n }\n set appearance(value) {\n this._appearance = value;\n }\n /** Whether the button is checked. */\n get checked() {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._checked) {\n this._checked = newValue;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the button is disabled. */\n get disabled() {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value) { this._disabled = coerceBooleanProperty(value); }\n ngOnInit() {\n const group = this.buttonToggleGroup;\n this._isSingleSelector = group && !group.multiple;\n this.id = this.id || `mat-button-toggle-${uniqueIdCounter++}`;\n if (this._isSingleSelector) {\n this.name = group.name;\n }\n if (group) {\n if (group._isPrechecked(this)) {\n this.checked = true;\n }\n else if (group._isSelected(this) !== this._checked) {\n // As as side effect of the circular dependency between the toggle group and the button,\n // we may end up in a state where the button is supposed to be checked on init, but it\n // isn't, because the checked value was assigned too early. This can happen when Ivy\n // assigns the static input value before the `ngOnInit` has run.\n group._syncButtonToggle(this, this._checked);\n }\n }\n }\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n this._focusMonitor.stopMonitoring(this._elementRef);\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group._isSelected(this)) {\n group._syncButtonToggle(this, false, false, true);\n }\n }\n /** Focuses the button. */\n focus(options) {\n this._buttonElement.nativeElement.focus(options);\n }\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n const newChecked = this._isSingleSelector ? true : !this._checked;\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n}\nMatButtonToggle.ɵfac = function MatButtonToggle_Factory(t) { return new (t || MatButtonToggle)(ɵngcc0.ɵɵdirectiveInject(MAT_BUTTON_TOGGLE_GROUP, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, 8)); };\nMatButtonToggle.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatButtonToggle, selectors: [[\"mat-button-toggle\"]], viewQuery: function MatButtonToggle_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._buttonElement = _t.first);\n } }, hostAttrs: [\"role\", \"presentation\", 1, \"mat-button-toggle\"], hostVars: 12, hostBindings: function MatButtonToggle_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatButtonToggle_focus_HostBindingHandler() { return ctx.focus(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-label\", null)(\"aria-labelledby\", null)(\"id\", ctx.id)(\"name\", null);\n ɵngcc0.ɵɵclassProp(\"mat-button-toggle-standalone\", !ctx.buttonToggleGroup)(\"mat-button-toggle-checked\", ctx.checked)(\"mat-button-toggle-disabled\", ctx.disabled)(\"mat-button-toggle-appearance-standard\", ctx.appearance === \"standard\");\n } }, inputs: { disableRipple: \"disableRipple\", ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], tabIndex: \"tabIndex\", appearance: \"appearance\", checked: \"checked\", disabled: \"disabled\", id: \"id\", name: \"name\", ariaLabel: [\"aria-label\", \"ariaLabel\"], value: \"value\" }, outputs: { change: \"change\" }, exportAs: [\"matButtonToggle\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 6, vars: 9, consts: [[\"type\", \"button\", 1, \"mat-button-toggle-button\", \"mat-focus-indicator\", 3, \"id\", \"disabled\", \"click\"], [\"button\", \"\"], [1, \"mat-button-toggle-label-content\"], [1, \"mat-button-toggle-focus-overlay\"], [\"matRipple\", \"\", 1, \"mat-button-toggle-ripple\", 3, \"matRippleTrigger\", \"matRippleDisabled\"]], template: function MatButtonToggle_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"button\", 0, 1);\n ɵngcc0.ɵɵlistener(\"click\", function MatButtonToggle_Template_button_click_0_listener() { return ctx._onButtonClick(); });\n ɵngcc0.ɵɵelementStart(2, \"span\", 2);\n ɵngcc0.ɵɵprojection(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(4, \"span\", 3);\n ɵngcc0.ɵɵelement(5, \"span\", 4);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵproperty(\"id\", ctx.buttonId)(\"disabled\", ctx.disabled || null);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx.disabled ? -1 : ctx.tabIndex)(\"aria-pressed\", ctx.checked)(\"name\", ctx.name || null)(\"aria-label\", ctx.ariaLabel)(\"aria-labelledby\", ctx.ariaLabelledby);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"matRippleTrigger\", _r0)(\"matRippleDisabled\", ctx.disableRipple || ctx.disabled);\n } }, directives: [ɵngcc2.MatRipple], styles: [\".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:transparent}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.cdk-high-contrast-active .mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}.cdk-high-contrast-active .mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.5}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatButtonToggle.ctorParameters = () => [\n { type: MatButtonToggleGroup, decorators: [{ type: Optional }, { type: Inject, args: [MAT_BUTTON_TOGGLE_GROUP,] }] },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: FocusMonitor },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,] }] }\n];\nMatButtonToggle.propDecorators = {\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],\n _buttonElement: [{ type: ViewChild, args: ['button',] }],\n id: [{ type: Input }],\n name: [{ type: Input }],\n value: [{ type: Input }],\n tabIndex: [{ type: Input }],\n appearance: [{ type: Input }],\n checked: [{ type: Input }],\n disabled: [{ type: Input }],\n change: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatButtonToggle, [{\n type: Component,\n args: [{\n selector: 'mat-button-toggle',\n template: \"\\n\\n\\n\\n\\n\",\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matButtonToggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disableRipple'],\n host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n '[class.mat-button-toggle-appearance-standard]': 'appearance === \"standard\"',\n 'class': 'mat-button-toggle',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.id]': 'id',\n '[attr.name]': 'null',\n '(focus)': 'focus()',\n 'role': 'presentation'\n },\n styles: [\".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:transparent}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.cdk-high-contrast-active .mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}.cdk-high-contrast-active .mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.5}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}\\n\"]\n }]\n }], function () { return [{ type: MatButtonToggleGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_GROUP]\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]\n }] }]; }, { ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], change: [{\n type: Output\n }], tabIndex: [{\n type: Input\n }], appearance: [{\n type: Input\n }], checked: [{\n type: Input\n }], disabled: [{\n type: Input\n }], id: [{\n type: Input\n }], name: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], _buttonElement: [{\n type: ViewChild,\n args: ['button']\n }], value: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatButtonToggleModule {\n}\nMatButtonToggleModule.ɵfac = function MatButtonToggleModule_Factory(t) { return new (t || MatButtonToggleModule)(); };\nMatButtonToggleModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatButtonToggleModule });\nMatButtonToggleModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[MatCommonModule, MatRippleModule], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatButtonToggleModule, [{\n type: NgModule,\n args: [{\n imports: [MatCommonModule, MatRippleModule],\n exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle],\n declarations: [MatButtonToggleGroup, MatButtonToggle]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatButtonToggleModule, { declarations: function () { return [MatButtonToggleGroup, MatButtonToggle]; }, imports: function () { return [MatCommonModule, MatRippleModule]; }, exports: function () { return [MatCommonModule, MatButtonToggleGroup, MatButtonToggle]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, MAT_BUTTON_TOGGLE_GROUP, MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, MatButtonToggle, MatButtonToggleChange, MatButtonToggleGroup, MatButtonToggleModule };\n\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MatCommonModule } from '@angular/material/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nclass MatDivider {\n constructor() {\n this._vertical = false;\n this._inset = false;\n }\n /** Whether the divider is vertically aligned. */\n get vertical() { return this._vertical; }\n set vertical(value) { this._vertical = coerceBooleanProperty(value); }\n /** Whether the divider is an inset divider. */\n get inset() { return this._inset; }\n set inset(value) { this._inset = coerceBooleanProperty(value); }\n}\nMatDivider.ɵfac = function MatDivider_Factory(t) { return new (t || MatDivider)(); };\nMatDivider.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatDivider, selectors: [[\"mat-divider\"]], hostAttrs: [\"role\", \"separator\", 1, \"mat-divider\"], hostVars: 7, hostBindings: function MatDivider_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-orientation\", ctx.vertical ? \"vertical\" : \"horizontal\");\n ɵngcc0.ɵɵclassProp(\"mat-divider-vertical\", ctx.vertical)(\"mat-divider-horizontal\", !ctx.vertical)(\"mat-divider-inset\", ctx.inset);\n } }, inputs: { vertical: \"vertical\", inset: \"inset\" }, decls: 0, vars: 0, template: function MatDivider_Template(rf, ctx) { }, styles: [\".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatDivider.propDecorators = {\n vertical: [{ type: Input }],\n inset: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatDivider, [{\n type: Component,\n args: [{\n selector: 'mat-divider',\n host: {\n 'role': 'separator',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-divider-vertical]': 'vertical',\n '[class.mat-divider-horizontal]': '!vertical',\n '[class.mat-divider-inset]': 'inset',\n 'class': 'mat-divider'\n },\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\\n\"]\n }]\n }], function () { return []; }, { vertical: [{\n type: Input\n }], inset: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatDividerModule {\n}\nMatDividerModule.ɵfac = function MatDividerModule_Factory(t) { return new (t || MatDividerModule)(); };\nMatDividerModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatDividerModule });\nMatDividerModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[MatCommonModule], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatDividerModule, [{\n type: NgModule,\n args: [{\n imports: [MatCommonModule],\n exports: [MatDivider, MatCommonModule],\n declarations: [MatDivider]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatDividerModule, { declarations: function () { return [MatDivider]; }, imports: function () { return [MatCommonModule]; }, exports: function () { return [MatDivider, MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatDivider, MatDividerModule };\n\n","import { Platform, PlatformModule } from '@angular/cdk/platform';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, Inject, forwardRef, ElementRef, NgZone, EventEmitter, Optional, Input, HostBinding, Output, HostListener, QueryList, ContentChildren, ContentChild, ViewChild, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { FocusTrapFactory, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { Subject, fromEvent, merge } from 'rxjs';\nimport { filter, map, mapTo, takeUntil, distinctUntilChanged, take, startWith, debounceTime } from 'rxjs/operators';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Animations used by the Material drawers.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/a11y';\nimport * as ɵngcc3 from '@angular/cdk/platform';\nimport * as ɵngcc4 from '@angular/cdk/bidi';\nimport * as ɵngcc5 from '@angular/common';\n\nconst _c0 = [\"*\"];\nfunction MatDrawerContainer_div_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function MatDrawerContainer_div_0_Template_div_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ctx_r2._onBackdropClicked(); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r0._isShowingBackdrop());\n} }\nfunction MatDrawerContainer_mat_drawer_content_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"mat-drawer-content\");\n ɵngcc0.ɵɵprojection(1, 2);\n ɵngcc0.ɵɵelementEnd();\n} }\nconst _c1 = [[[\"mat-drawer\"]], [[\"mat-drawer-content\"]], \"*\"];\nconst _c2 = [\"mat-drawer\", \"mat-drawer-content\", \"*\"];\nfunction MatSidenavContainer_div_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function MatSidenavContainer_div_0_Template_div_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ctx_r2._onBackdropClicked(); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r0._isShowingBackdrop());\n} }\nfunction MatSidenavContainer_mat_sidenav_content_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"mat-sidenav-content\", 3);\n ɵngcc0.ɵɵprojection(1, 2);\n ɵngcc0.ɵɵelementEnd();\n} }\nconst _c3 = [[[\"mat-sidenav\"]], [[\"mat-sidenav-content\"]], \"*\"];\nconst _c4 = [\"mat-sidenav\", \"mat-sidenav-content\", \"*\"];\nconst _c5 = \".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\\n\";\nconst matDrawerAnimations = {\n /** Animation that slides a drawer in and out. */\n transformDrawer: trigger('transform', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. Having a transform can cause elements with ripples or an animated\n // transform to shift around in Chrome with an RTL layout (see #10023).\n // 2. 3d transforms causes text to appear blurry on IE and Edge.\n state('open, open-instant', style({\n 'transform': 'none',\n 'visibility': 'visible',\n })),\n state('void', style({\n // Avoids the shadow showing up when closed in SSR.\n 'box-shadow': 'none',\n 'visibility': 'hidden',\n })),\n transition('void => open-instant', animate('0ms')),\n transition('void <=> open, open-instant => void', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n ])\n};\n\n/**\n * Throws an exception when two MatDrawer are matching the same position.\n * @docs-private\n */\nfunction throwMatDuplicatedDrawerError(position) {\n throw Error(`A drawer was already declared for 'position=\"${position}\"'`);\n}\n/** Configures whether drawers should use auto sizing by default. */\nconst MAT_DRAWER_DEFAULT_AUTOSIZE = new InjectionToken('MAT_DRAWER_DEFAULT_AUTOSIZE', {\n providedIn: 'root',\n factory: MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY,\n});\n/**\n * Used to provide a drawer container to a drawer while avoiding circular references.\n * @docs-private\n */\nconst MAT_DRAWER_CONTAINER = new InjectionToken('MAT_DRAWER_CONTAINER');\n/** @docs-private */\nfunction MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY() {\n return false;\n}\nclass MatDrawerContent extends CdkScrollable {\n constructor(_changeDetectorRef, _container, elementRef, scrollDispatcher, ngZone) {\n super(elementRef, scrollDispatcher, ngZone);\n this._changeDetectorRef = _changeDetectorRef;\n this._container = _container;\n }\n ngAfterContentInit() {\n this._container._contentMarginChanges.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\nMatDrawerContent.ɵfac = function MatDrawerContent_Factory(t) { return new (t || MatDrawerContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(forwardRef(() => MatDrawerContainer)), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nMatDrawerContent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatDrawerContent, selectors: [[\"mat-drawer-content\"]], hostAttrs: [1, \"mat-drawer-content\"], hostVars: 4, hostBindings: function MatDrawerContent_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"margin-left\", ctx._container._contentMargins.left, \"px\")(\"margin-right\", ctx._container._contentMargins.right, \"px\");\n } }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatDrawerContent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2, changeDetection: 0 });\nMatDrawerContent.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: MatDrawerContainer, decorators: [{ type: Inject, args: [forwardRef(() => MatDrawerContainer),] }] },\n { type: ElementRef },\n { type: ScrollDispatcher },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatDrawerContent, [{\n type: Component,\n args: [{\n selector: 'mat-drawer-content',\n template: '',\n host: {\n 'class': 'mat-drawer-content',\n '[style.margin-left.px]': '_container._contentMargins.left',\n '[style.margin-right.px]': '_container._contentMargins.right'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: MatDrawerContainer, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatDrawerContainer)]\n }] }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc0.NgZone }]; }, null); })();\n/**\n * This component corresponds to a drawer that can be opened on the drawer container.\n */\nclass MatDrawer {\n constructor(_elementRef, _focusTrapFactory, _focusMonitor, _platform, _ngZone, _doc, _container) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n this._focusMonitor = _focusMonitor;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._doc = _doc;\n this._container = _container;\n this._elementFocusedBeforeDrawerWasOpened = null;\n /** Whether the drawer is initialized. Used for disabling the initial animation. */\n this._enableAnimations = false;\n this._position = 'start';\n this._mode = 'over';\n this._disableClose = false;\n this._opened = false;\n /** Emits whenever the drawer has started animating. */\n this._animationStarted = new Subject();\n /** Emits whenever the drawer is done animating. */\n this._animationEnd = new Subject();\n /** Current state of the sidenav animation. */\n // @HostBinding is used in the class as it is expected to be extended. Since @Component decorator\n // metadata is not inherited by child classes, instead the host binding data is defined in a way\n // that can be inherited.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n this._animationState = 'void';\n /** Event emitted when the drawer open state is changed. */\n this.openedChange = \n // Note this has to be async in order to avoid some issues with two-bindings (see #8872).\n new EventEmitter(/* isAsync */ true);\n /** Event emitted when the drawer has been opened. */\n this._openedStream = this.openedChange.pipe(filter(o => o), map(() => { }));\n /** Event emitted when the drawer has started opening. */\n this.openedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState.indexOf('open') === 0), mapTo(undefined));\n /** Event emitted when the drawer has been closed. */\n this._closedStream = this.openedChange.pipe(filter(o => !o), map(() => { }));\n /** Event emitted when the drawer has started closing. */\n this.closedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState === 'void'), mapTo(undefined));\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Event emitted when the drawer's position changes. */\n // tslint:disable-next-line:no-output-on-prefix\n this.onPositionChanged = new EventEmitter();\n /**\n * An observable that emits when the drawer mode changes. This is used by the drawer container to\n * to know when to when the mode changes so it can adapt the margins on the content.\n */\n this._modeChanged = new Subject();\n this.openedChange.subscribe((opened) => {\n if (opened) {\n if (this._doc) {\n this._elementFocusedBeforeDrawerWasOpened = this._doc.activeElement;\n }\n this._takeFocus();\n }\n else if (this._isFocusWithinDrawer()) {\n this._restoreFocus();\n }\n });\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed\n * and we don't have close disabled.\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent(this._elementRef.nativeElement, 'keydown').pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }), takeUntil(this._destroyed)).subscribe(event => this._ngZone.run(() => {\n this.close();\n event.stopPropagation();\n event.preventDefault();\n }));\n });\n // We need a Subject with distinctUntilChanged, because the `done` event\n // fires twice on some browsers. See https://github.com/angular/angular/issues/24084\n this._animationEnd.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n })).subscribe((event) => {\n const { fromState, toState } = event;\n if ((toState.indexOf('open') === 0 && fromState === 'void') ||\n (toState === 'void' && fromState.indexOf('open') === 0)) {\n this.openedChange.emit(this._opened);\n }\n });\n }\n /** The side that the drawer is attached to. */\n get position() { return this._position; }\n set position(value) {\n // Make sure we have a valid value.\n value = value === 'end' ? 'end' : 'start';\n if (value != this._position) {\n this._position = value;\n this.onPositionChanged.emit();\n }\n }\n /** Mode of the drawer; one of 'over', 'push' or 'side'. */\n get mode() { return this._mode; }\n set mode(value) {\n this._mode = value;\n this._updateFocusTrapState();\n this._modeChanged.next();\n }\n /** Whether the drawer can be closed with the escape key or by clicking on the backdrop. */\n get disableClose() { return this._disableClose; }\n set disableClose(value) { this._disableClose = coerceBooleanProperty(value); }\n /**\n * Whether the drawer should focus the first focusable element automatically when opened.\n * Defaults to false in when `mode` is set to `side`, otherwise defaults to `true`. If explicitly\n * enabled, focus will be moved into the sidenav in `side` mode as well.\n */\n get autoFocus() {\n const value = this._autoFocus;\n // Note that usually we disable auto focusing in `side` mode, because we don't know how the\n // sidenav is being used, but in some cases it still makes sense to do it. If the consumer\n // explicitly enabled `autoFocus`, we take it as them always wanting to enable it.\n return value == null ? this.mode !== 'side' : value;\n }\n set autoFocus(value) { this._autoFocus = coerceBooleanProperty(value); }\n /**\n * Whether the drawer is opened. We overload this because we trigger an event when it\n * starts or end.\n */\n get opened() { return this._opened; }\n set opened(value) { this.toggle(coerceBooleanProperty(value)); }\n /**\n * Moves focus into the drawer. Note that this works even if\n * the focus trap is disabled in `side` mode.\n */\n _takeFocus() {\n if (!this.autoFocus || !this._focusTrap) {\n return;\n }\n this._focusTrap.focusInitialElementWhenReady().then(hasMovedFocus => {\n // If there were no focusable elements, focus the sidenav itself so the keyboard navigation\n // still works. We need to check that `focus` is a function due to Universal.\n if (!hasMovedFocus && typeof this._elementRef.nativeElement.focus === 'function') {\n this._elementRef.nativeElement.focus();\n }\n });\n }\n /**\n * Restores focus to the element that was originally focused when the drawer opened.\n * If no element was focused at that time, the focus will be restored to the drawer.\n */\n _restoreFocus() {\n if (!this.autoFocus) {\n return;\n }\n // Note that we don't check via `instanceof HTMLElement` so that we can cover SVGs as well.\n if (this._elementFocusedBeforeDrawerWasOpened) {\n this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened, this._openedVia);\n }\n else {\n this._elementRef.nativeElement.blur();\n }\n this._elementFocusedBeforeDrawerWasOpened = null;\n this._openedVia = null;\n }\n /** Whether focus is currently within the drawer. */\n _isFocusWithinDrawer() {\n var _a;\n const activeEl = (_a = this._doc) === null || _a === void 0 ? void 0 : _a.activeElement;\n return !!activeEl && this._elementRef.nativeElement.contains(activeEl);\n }\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n this._updateFocusTrapState();\n }\n ngAfterContentChecked() {\n // Enable the animations after the lifecycle hooks have run, in order to avoid animating\n // drawers that are open by default. When we're on the server, we shouldn't enable the\n // animations, because we don't want the drawer to animate the first time the user sees\n // the page.\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n ngOnDestroy() {\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n this._animationStarted.complete();\n this._animationEnd.complete();\n this._modeChanged.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Open the drawer.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n open(openedVia) {\n return this.toggle(true, openedVia);\n }\n /** Close the drawer. */\n close() {\n return this.toggle(false);\n }\n /** Closes the drawer with context that the backdrop was clicked. */\n _closeViaBackdropClick() {\n // If the drawer is closed upon a backdrop click, we always want to restore focus. We\n // don't need to check whether focus is currently in the drawer, as clicking on the\n // backdrop causes blurring of the active element.\n return this._setOpen(/* isOpen */ false, /* restoreFocus */ true);\n }\n /**\n * Toggle this drawer.\n * @param isOpen Whether the drawer should be open.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n toggle(isOpen = !this.opened, openedVia) {\n // If the focus is currently inside the drawer content and we are closing the drawer,\n // restore the focus to the initially focused element (when the drawer opened).\n return this._setOpen(isOpen, /* restoreFocus */ !isOpen && this._isFocusWithinDrawer(), openedVia);\n }\n /**\n * Toggles the opened state of the drawer.\n * @param isOpen Whether the drawer should open or close.\n * @param restoreFocus Whether focus should be restored on close.\n * @param openedVia Focus origin that can be optionally set when opening a drawer. The\n * origin will be used later when focus is restored on drawer close.\n */\n _setOpen(isOpen, restoreFocus, openedVia = 'program') {\n this._opened = isOpen;\n if (isOpen) {\n this._animationState = this._enableAnimations ? 'open' : 'open-instant';\n this._openedVia = openedVia;\n }\n else {\n this._animationState = 'void';\n if (restoreFocus) {\n this._restoreFocus();\n }\n }\n this._updateFocusTrapState();\n return new Promise(resolve => {\n this.openedChange.pipe(take(1)).subscribe(open => resolve(open ? 'open' : 'close'));\n });\n }\n _getWidth() {\n return this._elementRef.nativeElement ? (this._elementRef.nativeElement.offsetWidth || 0) : 0;\n }\n /** Updates the enabled state of the focus trap. */\n _updateFocusTrapState() {\n if (this._focusTrap) {\n // The focus trap is only enabled when the drawer is open in any mode other than side.\n this._focusTrap.enabled = this.opened && this.mode !== 'side';\n }\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _animationStartListener(event) {\n this._animationStarted.next(event);\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _animationDoneListener(event) {\n this._animationEnd.next(event);\n }\n}\nMatDrawer.ɵfac = function MatDrawer_Factory(t) { return new (t || MatDrawer)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.FocusTrapFactory), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(MAT_DRAWER_CONTAINER, 8)); };\nMatDrawer.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatDrawer, selectors: [[\"mat-drawer\"]], hostAttrs: [\"tabIndex\", \"-1\", 1, \"mat-drawer\"], hostVars: 12, hostBindings: function MatDrawer_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵsyntheticHostListener(\"@transform.start\", function MatDrawer_animation_transform_start_HostBindingHandler($event) { return ctx._animationStartListener($event); })(\"@transform.done\", function MatDrawer_animation_transform_done_HostBindingHandler($event) { return ctx._animationDoneListener($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"align\", null);\n ɵngcc0.ɵɵsyntheticHostProperty(\"@transform\", ctx._animationState);\n ɵngcc0.ɵɵclassProp(\"mat-drawer-end\", ctx.position === \"end\")(\"mat-drawer-over\", ctx.mode === \"over\")(\"mat-drawer-push\", ctx.mode === \"push\")(\"mat-drawer-side\", ctx.mode === \"side\")(\"mat-drawer-opened\", ctx.opened);\n } }, inputs: { position: \"position\", mode: \"mode\", disableClose: \"disableClose\", autoFocus: \"autoFocus\", opened: \"opened\" }, outputs: { openedChange: \"openedChange\", _openedStream: \"opened\", openedStart: \"openedStart\", _closedStream: \"closed\", closedStart: \"closedStart\", onPositionChanged: \"positionChanged\" }, exportAs: [\"matDrawer\"], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [[\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"]], template: function MatDrawer_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵelementEnd();\n } }, directives: [ɵngcc1.CdkScrollable], encapsulation: 2, data: { animation: [matDrawerAnimations.transformDrawer] }, changeDetection: 0 });\nMatDrawer.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusTrapFactory },\n { type: FocusMonitor },\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: MatDrawerContainer, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DRAWER_CONTAINER,] }] }\n];\nMatDrawer.propDecorators = {\n position: [{ type: Input }],\n mode: [{ type: Input }],\n disableClose: [{ type: Input }],\n autoFocus: [{ type: Input }],\n opened: [{ type: Input }],\n _animationState: [{ type: HostBinding, args: ['@transform',] }],\n openedChange: [{ type: Output }],\n _openedStream: [{ type: Output, args: ['opened',] }],\n openedStart: [{ type: Output }],\n _closedStream: [{ type: Output, args: ['closed',] }],\n closedStart: [{ type: Output }],\n onPositionChanged: [{ type: Output, args: ['positionChanged',] }],\n _animationStartListener: [{ type: HostListener, args: ['@transform.start', ['$event'],] }],\n _animationDoneListener: [{ type: HostListener, args: ['@transform.done', ['$event'],] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatDrawer, [{\n type: Component,\n args: [{\n selector: 'mat-drawer',\n exportAs: 'matDrawer',\n template: \"
\\r\\n \\r\\n
\\r\\n\",\n animations: [matDrawerAnimations.transformDrawer],\n host: {\n 'class': 'mat-drawer',\n // must prevent the browser from aligning text based on value\n '[attr.align]': 'null',\n '[class.mat-drawer-end]': 'position === \"end\"',\n '[class.mat-drawer-over]': 'mode === \"over\"',\n '[class.mat-drawer-push]': 'mode === \"push\"',\n '[class.mat-drawer-side]': 'mode === \"side\"',\n '[class.mat-drawer-opened]': 'opened',\n 'tabIndex': '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc2.FocusTrapFactory }, { type: ɵngcc2.FocusMonitor }, { type: ɵngcc3.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: MatDrawerContainer, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DRAWER_CONTAINER]\n }] }]; }, { _animationState: [{\n type: HostBinding,\n args: ['@transform']\n }], openedChange: [{\n type: Output\n }], _openedStream: [{\n type: Output,\n args: ['opened']\n }], openedStart: [{\n type: Output\n }], _closedStream: [{\n type: Output,\n args: ['closed']\n }], closedStart: [{\n type: Output\n }], onPositionChanged: [{\n type: Output,\n args: ['positionChanged']\n }], position: [{\n type: Input\n }], mode: [{\n type: Input\n }], disableClose: [{\n type: Input\n }], autoFocus: [{\n type: Input\n }], opened: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _animationStartListener: [{\n type: HostListener,\n args: ['@transform.start', ['$event']]\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _animationDoneListener: [{\n type: HostListener,\n args: ['@transform.done', ['$event']]\n }] }); })();\n/**\n * `` component.\n *\n * This is the parent component to one or two ``s that validates the state internally\n * and coordinates the backdrop and content styling.\n */\nclass MatDrawerContainer {\n constructor(_dir, _element, _ngZone, _changeDetectorRef, viewportRuler, defaultAutosize = false, _animationMode) {\n this._dir = _dir;\n this._element = _element;\n this._ngZone = _ngZone;\n this._changeDetectorRef = _changeDetectorRef;\n this._animationMode = _animationMode;\n /** Drawers that belong to this container. */\n this._drawers = new QueryList();\n /** Event emitted when the drawer backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Emits on every ngDoCheck. Used for debouncing reflows. */\n this._doCheckSubject = new Subject();\n /**\n * Margins to be applied to the content. These are used to push / shrink the drawer content when a\n * drawer is open. We use margin rather than transform even for push mode because transform breaks\n * fixed position elements inside of the transformed element.\n */\n this._contentMargins = { left: null, right: null };\n this._contentMarginChanges = new Subject();\n // If a `Dir` directive exists up the tree, listen direction changes\n // and update the left/right properties to point to the proper start/end.\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._validateDrawers();\n this.updateContentMargins();\n });\n }\n // Since the minimum width of the sidenav depends on the viewport width,\n // we need to recompute the margins if the viewport changes.\n viewportRuler.change()\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateContentMargins());\n this._autosize = defaultAutosize;\n }\n /** The drawer child with the `start` position. */\n get start() { return this._start; }\n /** The drawer child with the `end` position. */\n get end() { return this._end; }\n /**\n * Whether to automatically resize the container whenever\n * the size of any of its drawers changes.\n *\n * **Use at your own risk!** Enabling this option can cause layout thrashing by measuring\n * the drawers on every change detection cycle. Can be configured globally via the\n * `MAT_DRAWER_DEFAULT_AUTOSIZE` token.\n */\n get autosize() { return this._autosize; }\n set autosize(value) { this._autosize = coerceBooleanProperty(value); }\n /**\n * Whether the drawer container should have a backdrop while one of the sidenavs is open.\n * If explicitly set to `true`, the backdrop will be enabled for drawers in the `side`\n * mode as well.\n */\n get hasBackdrop() {\n if (this._backdropOverride == null) {\n return !this._start || this._start.mode !== 'side' || !this._end || this._end.mode !== 'side';\n }\n return this._backdropOverride;\n }\n set hasBackdrop(value) {\n this._backdropOverride = value == null ? null : coerceBooleanProperty(value);\n }\n /** Reference to the CdkScrollable instance that wraps the scrollable content. */\n get scrollable() {\n return this._userContent || this._content;\n }\n ngAfterContentInit() {\n this._allDrawers.changes\n .pipe(startWith(this._allDrawers), takeUntil(this._destroyed))\n .subscribe((drawer) => {\n this._drawers.reset(drawer.filter(item => !item._container || item._container === this));\n this._drawers.notifyOnChanges();\n });\n this._drawers.changes.pipe(startWith(null)).subscribe(() => {\n this._validateDrawers();\n this._drawers.forEach((drawer) => {\n this._watchDrawerToggle(drawer);\n this._watchDrawerPosition(drawer);\n this._watchDrawerMode(drawer);\n });\n if (!this._drawers.length ||\n this._isDrawerOpen(this._start) ||\n this._isDrawerOpen(this._end)) {\n this.updateContentMargins();\n }\n this._changeDetectorRef.markForCheck();\n });\n // Avoid hitting the NgZone through the debounce timeout.\n this._ngZone.runOutsideAngular(() => {\n this._doCheckSubject.pipe(debounceTime(10), // Arbitrary debounce time, less than a frame at 60fps\n takeUntil(this._destroyed)).subscribe(() => this.updateContentMargins());\n });\n }\n ngOnDestroy() {\n this._contentMarginChanges.complete();\n this._doCheckSubject.complete();\n this._drawers.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Calls `open` of both start and end drawers */\n open() {\n this._drawers.forEach(drawer => drawer.open());\n }\n /** Calls `close` of both start and end drawers */\n close() {\n this._drawers.forEach(drawer => drawer.close());\n }\n /**\n * Recalculates and updates the inline styles for the content. Note that this should be used\n * sparingly, because it causes a reflow.\n */\n updateContentMargins() {\n // 1. For drawers in `over` mode, they don't affect the content.\n // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the\n // left margin (for left drawer) or right margin (for right the drawer).\n // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by\n // adding to the left or right margin and simultaneously subtracting the same amount of\n // margin from the other side.\n let left = 0;\n let right = 0;\n if (this._left && this._left.opened) {\n if (this._left.mode == 'side') {\n left += this._left._getWidth();\n }\n else if (this._left.mode == 'push') {\n const width = this._left._getWidth();\n left += width;\n right -= width;\n }\n }\n if (this._right && this._right.opened) {\n if (this._right.mode == 'side') {\n right += this._right._getWidth();\n }\n else if (this._right.mode == 'push') {\n const width = this._right._getWidth();\n right += width;\n left -= width;\n }\n }\n // If either `right` or `left` is zero, don't set a style to the element. This\n // allows users to specify a custom size via CSS class in SSR scenarios where the\n // measured widths will always be zero. Note that we reset to `null` here, rather\n // than below, in order to ensure that the types in the `if` below are consistent.\n left = left || null;\n right = right || null;\n if (left !== this._contentMargins.left || right !== this._contentMargins.right) {\n this._contentMargins = { left, right };\n // Pull back into the NgZone since in some cases we could be outside. We need to be careful\n // to do it only when something changed, otherwise we can end up hitting the zone too often.\n this._ngZone.run(() => this._contentMarginChanges.next(this._contentMargins));\n }\n }\n ngDoCheck() {\n // If users opted into autosizing, do a check every change detection cycle.\n if (this._autosize && this._isPushed()) {\n // Run outside the NgZone, otherwise the debouncer will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => this._doCheckSubject.next());\n }\n }\n /**\n * Subscribes to drawer events in order to set a class on the main container element when the\n * drawer is open and the backdrop is visible. This ensures any overflow on the container element\n * is properly hidden.\n */\n _watchDrawerToggle(drawer) {\n drawer._animationStarted.pipe(filter((event) => event.fromState !== event.toState), takeUntil(this._drawers.changes))\n .subscribe((event) => {\n // Set the transition class on the container so that the animations occur. This should not\n // be set initially because animations should only be triggered via a change in state.\n if (event.toState !== 'open-instant' && this._animationMode !== 'NoopAnimations') {\n this._element.nativeElement.classList.add('mat-drawer-transition');\n }\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n if (drawer.mode !== 'side') {\n drawer.openedChange.pipe(takeUntil(this._drawers.changes)).subscribe(() => this._setContainerClass(drawer.opened));\n }\n }\n /**\n * Subscribes to drawer onPositionChanged event in order to\n * re-validate drawers when the position changes.\n */\n _watchDrawerPosition(drawer) {\n if (!drawer) {\n return;\n }\n // NOTE: We need to wait for the microtask queue to be empty before validating,\n // since both drawers may be swapping positions at the same time.\n drawer.onPositionChanged.pipe(takeUntil(this._drawers.changes)).subscribe(() => {\n this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n this._validateDrawers();\n });\n });\n }\n /** Subscribes to changes in drawer mode so we can run change detection. */\n _watchDrawerMode(drawer) {\n if (drawer) {\n drawer._modeChanged.pipe(takeUntil(merge(this._drawers.changes, this._destroyed)))\n .subscribe(() => {\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n /** Toggles the 'mat-drawer-opened' class on the main 'mat-drawer-container' element. */\n _setContainerClass(isAdd) {\n const classList = this._element.nativeElement.classList;\n const className = 'mat-drawer-container-has-open';\n if (isAdd) {\n classList.add(className);\n }\n else {\n classList.remove(className);\n }\n }\n /** Validate the state of the drawer children components. */\n _validateDrawers() {\n this._start = this._end = null;\n // Ensure that we have at most one start and one end drawer.\n this._drawers.forEach(drawer => {\n if (drawer.position == 'end') {\n if (this._end != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('end');\n }\n this._end = drawer;\n }\n else {\n if (this._start != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('start');\n }\n this._start = drawer;\n }\n });\n this._right = this._left = null;\n // Detect if we're LTR or RTL.\n if (this._dir && this._dir.value === 'rtl') {\n this._left = this._end;\n this._right = this._start;\n }\n else {\n this._left = this._start;\n this._right = this._end;\n }\n }\n /** Whether the container is being pushed to the side by one of the drawers. */\n _isPushed() {\n return (this._isDrawerOpen(this._start) && this._start.mode != 'over') ||\n (this._isDrawerOpen(this._end) && this._end.mode != 'over');\n }\n _onBackdropClicked() {\n this.backdropClick.emit();\n this._closeModalDrawersViaBackdrop();\n }\n _closeModalDrawersViaBackdrop() {\n // Close all open drawers where closing is not disabled and the mode is not `side`.\n [this._start, this._end]\n .filter(drawer => drawer && !drawer.disableClose && this._canHaveBackdrop(drawer))\n .forEach(drawer => drawer._closeViaBackdropClick());\n }\n _isShowingBackdrop() {\n return (this._isDrawerOpen(this._start) && this._canHaveBackdrop(this._start)) ||\n (this._isDrawerOpen(this._end) && this._canHaveBackdrop(this._end));\n }\n _canHaveBackdrop(drawer) {\n return drawer.mode !== 'side' || !!this._backdropOverride;\n }\n _isDrawerOpen(drawer) {\n return drawer != null && drawer.opened;\n }\n}\nMatDrawerContainer.ɵfac = function MatDrawerContainer_Factory(t) { return new (t || MatDrawerContainer)(ɵngcc0.ɵɵdirectiveInject(ɵngcc4.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(MAT_DRAWER_DEFAULT_AUTOSIZE), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatDrawerContainer.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatDrawerContainer, selectors: [[\"mat-drawer-container\"]], contentQueries: function MatDrawerContainer_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatDrawerContent, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatDrawer, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._content = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._allDrawers = _t);\n } }, viewQuery: function MatDrawerContainer_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(MatDrawerContent, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._userContent = _t.first);\n } }, hostAttrs: [1, \"mat-drawer-container\"], hostVars: 2, hostBindings: function MatDrawerContainer_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-drawer-container-explicit-backdrop\", ctx._backdropOverride);\n } }, inputs: { autosize: \"autosize\", hasBackdrop: \"hasBackdrop\" }, outputs: { backdropClick: \"backdropClick\" }, exportAs: [\"matDrawerContainer\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatDrawerContainer\n }])], ngContentSelectors: _c2, decls: 4, vars: 2, consts: [[\"class\", \"mat-drawer-backdrop\", 3, \"mat-drawer-shown\", \"click\", 4, \"ngIf\"], [4, \"ngIf\"], [1, \"mat-drawer-backdrop\", 3, \"click\"]], template: function MatDrawerContainer_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c1);\n ɵngcc0.ɵɵtemplate(0, MatDrawerContainer_div_0_Template, 1, 2, \"div\", 0);\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵprojection(2, 1);\n ɵngcc0.ɵɵtemplate(3, MatDrawerContainer_mat_drawer_content_3_Template, 2, 0, \"mat-drawer-content\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasBackdrop);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx._content);\n } }, directives: [ɵngcc5.NgIf, MatDrawerContent], styles: [_c5], encapsulation: 2, changeDetection: 0 });\nMatDrawerContainer.ctorParameters = () => [\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ElementRef },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_DRAWER_DEFAULT_AUTOSIZE,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatDrawerContainer.propDecorators = {\n _allDrawers: [{ type: ContentChildren, args: [MatDrawer, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n },] }],\n _content: [{ type: ContentChild, args: [MatDrawerContent,] }],\n _userContent: [{ type: ViewChild, args: [MatDrawerContent,] }],\n autosize: [{ type: Input }],\n hasBackdrop: [{ type: Input }],\n backdropClick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatDrawerContainer, [{\n type: Component,\n args: [{\n selector: 'mat-drawer-container',\n exportAs: 'matDrawerContainer',\n template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\",\n host: {\n 'class': 'mat-drawer-container',\n '[class.mat-drawer-container-explicit-backdrop]': '_backdropOverride'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatDrawerContainer\n }],\n styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc4.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_DRAWER_DEFAULT_AUTOSIZE]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { backdropClick: [{\n type: Output\n }], autosize: [{\n type: Input\n }], hasBackdrop: [{\n type: Input\n }], _allDrawers: [{\n type: ContentChildren,\n args: [MatDrawer, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n }]\n }], _content: [{\n type: ContentChild,\n args: [MatDrawerContent]\n }], _userContent: [{\n type: ViewChild,\n args: [MatDrawerContent]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSidenavContent extends MatDrawerContent {\n constructor(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone) {\n super(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone);\n }\n}\nMatSidenavContent.ɵfac = function MatSidenavContent_Factory(t) { return new (t || MatSidenavContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(forwardRef(() => MatSidenavContainer)), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nMatSidenavContent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSidenavContent, selectors: [[\"mat-sidenav-content\"]], hostAttrs: [1, \"mat-drawer-content\", \"mat-sidenav-content\"], hostVars: 4, hostBindings: function MatSidenavContent_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"margin-left\", ctx._container._contentMargins.left, \"px\")(\"margin-right\", ctx._container._contentMargins.right, \"px\");\n } }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatSidenavContent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2, changeDetection: 0 });\nMatSidenavContent.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: MatSidenavContainer, decorators: [{ type: Inject, args: [forwardRef(() => MatSidenavContainer),] }] },\n { type: ElementRef },\n { type: ScrollDispatcher },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSidenavContent, [{\n type: Component,\n args: [{\n selector: 'mat-sidenav-content',\n template: '',\n host: {\n 'class': 'mat-drawer-content mat-sidenav-content',\n '[style.margin-left.px]': '_container._contentMargins.left',\n '[style.margin-right.px]': '_container._contentMargins.right'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: MatSidenavContainer, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatSidenavContainer)]\n }] }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc0.NgZone }]; }, null); })();\nclass MatSidenav extends MatDrawer {\n constructor() {\n super(...arguments);\n this._fixedInViewport = false;\n this._fixedTopGap = 0;\n this._fixedBottomGap = 0;\n }\n /** Whether the sidenav is fixed in the viewport. */\n get fixedInViewport() { return this._fixedInViewport; }\n set fixedInViewport(value) { this._fixedInViewport = coerceBooleanProperty(value); }\n /**\n * The gap between the top of the sidenav and the top of the viewport when the sidenav is in fixed\n * mode.\n */\n get fixedTopGap() { return this._fixedTopGap; }\n set fixedTopGap(value) { this._fixedTopGap = coerceNumberProperty(value); }\n /**\n * The gap between the bottom of the sidenav and the bottom of the viewport when the sidenav is in\n * fixed mode.\n */\n get fixedBottomGap() { return this._fixedBottomGap; }\n set fixedBottomGap(value) { this._fixedBottomGap = coerceNumberProperty(value); }\n}\nMatSidenav.ɵfac = /*@__PURE__*/ function () { let ɵMatSidenav_BaseFactory; return function MatSidenav_Factory(t) { return (ɵMatSidenav_BaseFactory || (ɵMatSidenav_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatSidenav)))(t || MatSidenav); }; }();\nMatSidenav.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSidenav, selectors: [[\"mat-sidenav\"]], hostAttrs: [\"tabIndex\", \"-1\", 1, \"mat-drawer\", \"mat-sidenav\"], hostVars: 17, hostBindings: function MatSidenav_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"align\", null);\n ɵngcc0.ɵɵstyleProp(\"top\", ctx.fixedInViewport ? ctx.fixedTopGap : null, \"px\")(\"bottom\", ctx.fixedInViewport ? ctx.fixedBottomGap : null, \"px\");\n ɵngcc0.ɵɵclassProp(\"mat-drawer-end\", ctx.position === \"end\")(\"mat-drawer-over\", ctx.mode === \"over\")(\"mat-drawer-push\", ctx.mode === \"push\")(\"mat-drawer-side\", ctx.mode === \"side\")(\"mat-drawer-opened\", ctx.opened)(\"mat-sidenav-fixed\", ctx.fixedInViewport);\n } }, inputs: { fixedInViewport: \"fixedInViewport\", fixedTopGap: \"fixedTopGap\", fixedBottomGap: \"fixedBottomGap\" }, exportAs: [\"matSidenav\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [[\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"]], template: function MatSidenav_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵelementEnd();\n } }, directives: [ɵngcc1.CdkScrollable], encapsulation: 2, data: { animation: [matDrawerAnimations.transformDrawer] }, changeDetection: 0 });\nMatSidenav.propDecorators = {\n fixedInViewport: [{ type: Input }],\n fixedTopGap: [{ type: Input }],\n fixedBottomGap: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSidenav, [{\n type: Component,\n args: [{\n selector: 'mat-sidenav',\n exportAs: 'matSidenav',\n template: \"
\\r\\n \\r\\n
\\r\\n\",\n animations: [matDrawerAnimations.transformDrawer],\n host: {\n 'class': 'mat-drawer mat-sidenav',\n 'tabIndex': '-1',\n // must prevent the browser from aligning text based on value\n '[attr.align]': 'null',\n '[class.mat-drawer-end]': 'position === \"end\"',\n '[class.mat-drawer-over]': 'mode === \"over\"',\n '[class.mat-drawer-push]': 'mode === \"push\"',\n '[class.mat-drawer-side]': 'mode === \"side\"',\n '[class.mat-drawer-opened]': 'opened',\n '[class.mat-sidenav-fixed]': 'fixedInViewport',\n '[style.top.px]': 'fixedInViewport ? fixedTopGap : null',\n '[style.bottom.px]': 'fixedInViewport ? fixedBottomGap : null'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, { fixedInViewport: [{\n type: Input\n }], fixedTopGap: [{\n type: Input\n }], fixedBottomGap: [{\n type: Input\n }] }); })();\nclass MatSidenavContainer extends MatDrawerContainer {\n}\nMatSidenavContainer.ɵfac = /*@__PURE__*/ function () { let ɵMatSidenavContainer_BaseFactory; return function MatSidenavContainer_Factory(t) { return (ɵMatSidenavContainer_BaseFactory || (ɵMatSidenavContainer_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatSidenavContainer)))(t || MatSidenavContainer); }; }();\nMatSidenavContainer.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSidenavContainer, selectors: [[\"mat-sidenav-container\"]], contentQueries: function MatSidenavContainer_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatSidenavContent, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatSidenav, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._content = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._allDrawers = _t);\n } }, hostAttrs: [1, \"mat-drawer-container\", \"mat-sidenav-container\"], hostVars: 2, hostBindings: function MatSidenavContainer_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-drawer-container-explicit-backdrop\", ctx._backdropOverride);\n } }, exportAs: [\"matSidenavContainer\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatSidenavContainer\n }]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c4, decls: 4, vars: 2, consts: [[\"class\", \"mat-drawer-backdrop\", 3, \"mat-drawer-shown\", \"click\", 4, \"ngIf\"], [\"cdkScrollable\", \"\", 4, \"ngIf\"], [1, \"mat-drawer-backdrop\", 3, \"click\"], [\"cdkScrollable\", \"\"]], template: function MatSidenavContainer_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c3);\n ɵngcc0.ɵɵtemplate(0, MatSidenavContainer_div_0_Template, 1, 2, \"div\", 0);\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵprojection(2, 1);\n ɵngcc0.ɵɵtemplate(3, MatSidenavContainer_mat_sidenav_content_3_Template, 2, 0, \"mat-sidenav-content\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasBackdrop);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx._content);\n } }, directives: [ɵngcc5.NgIf, MatSidenavContent, ɵngcc1.CdkScrollable], styles: [_c5], encapsulation: 2, changeDetection: 0 });\nMatSidenavContainer.propDecorators = {\n _allDrawers: [{ type: ContentChildren, args: [MatSidenav, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n },] }],\n _content: [{ type: ContentChild, args: [MatSidenavContent,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSidenavContainer, [{\n type: Component,\n args: [{\n selector: 'mat-sidenav-container',\n exportAs: 'matSidenavContainer',\n template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\",\n host: {\n 'class': 'mat-drawer-container mat-sidenav-container',\n '[class.mat-drawer-container-explicit-backdrop]': '_backdropOverride'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatSidenavContainer\n }],\n styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\\n\"]\n }]\n }], null, { _allDrawers: [{\n type: ContentChildren,\n args: [MatSidenav, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n }]\n }], _content: [{\n type: ContentChild,\n args: [MatSidenavContent]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSidenavModule {\n}\nMatSidenavModule.ɵfac = function MatSidenavModule_Factory(t) { return new (t || MatSidenavModule)(); };\nMatSidenavModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatSidenavModule });\nMatSidenavModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n CommonModule,\n MatCommonModule,\n PlatformModule,\n CdkScrollableModule,\n ], CdkScrollableModule,\n MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSidenavModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatCommonModule,\n PlatformModule,\n CdkScrollableModule,\n ],\n exports: [\n CdkScrollableModule,\n MatCommonModule,\n MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n ],\n declarations: [\n MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatSidenavModule, { declarations: function () { return [MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent]; }, imports: function () { return [CommonModule,\n MatCommonModule,\n PlatformModule,\n CdkScrollableModule]; }, exports: function () { return [CdkScrollableModule,\n MatCommonModule, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_DRAWER_DEFAULT_AUTOSIZE, MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent, MatSidenavModule, matDrawerAnimations, throwMatDuplicatedDrawerError, MAT_DRAWER_CONTAINER as ɵangular_material_src_material_sidenav_sidenav_a };\n\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { InjectionToken, forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Attribute, Inject, Optional, ViewChild, Input, Output, Directive, NgModule } from '@angular/core';\nimport { mixinTabIndex, mixinColor, mixinDisableRipple, mixinDisabled, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/material/core';\nimport * as ɵngcc3 from '@angular/cdk/observers';\n\nconst _c0 = [\"thumbContainer\"];\nconst _c1 = [\"toggleBar\"];\nconst _c2 = [\"input\"];\nconst _c3 = function (a0) { return { enterDuration: a0 }; };\nconst _c4 = [\"*\"];\nconst MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('mat-slide-toggle-default-options', {\n providedIn: 'root',\n factory: () => ({ disableToggleValue: false })\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n/** @docs-private */\nconst MAT_SLIDE_TOGGLE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true\n};\n/** Change event object emitted by a MatSlideToggle. */\nclass MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n source, \n /** The new `checked` value of the MatSlideToggle. */\n checked) {\n this.source = source;\n this.checked = checked;\n }\n}\n// Boilerplate for applying mixins to MatSlideToggle.\n/** @docs-private */\nconst _MatSlideToggleBase = mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}))));\n/** Represents a slidable \"switch\" toggle that can be moved between on and off. */\nclass MatSlideToggle extends _MatSlideToggleBase {\n constructor(elementRef, _focusMonitor, _changeDetectorRef, tabIndex, defaults, animationMode) {\n super(elementRef);\n this._focusMonitor = _focusMonitor;\n this._changeDetectorRef = _changeDetectorRef;\n this.defaults = defaults;\n this._onChange = (_) => { };\n this._onTouched = () => { };\n this._uniqueId = `mat-slide-toggle-${++nextUniqueId}`;\n this._required = false;\n this._checked = false;\n /** Name value will be applied to the input element if present. */\n this.name = null;\n /** A unique id for the slide-toggle input. If none is supplied, it will be auto-generated. */\n this.id = this._uniqueId;\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n this.labelPosition = 'after';\n /** Used to set the aria-label attribute on the underlying input element. */\n this.ariaLabel = null;\n /** Used to set the aria-labelledby attribute on the underlying input element. */\n this.ariaLabelledby = null;\n /** An event will be dispatched each time the slide-toggle changes its value. */\n this.change = new EventEmitter();\n /**\n * An event will be dispatched each time the slide-toggle input is toggled.\n * This event is always emitted when the user toggles the slide toggle, but this does not mean\n * the slide toggle's value has changed.\n */\n this.toggleChange = new EventEmitter();\n this.tabIndex = parseInt(tabIndex) || 0;\n this.color = this.defaultColor = defaults.color || 'accent';\n this._noopAnimations = animationMode === 'NoopAnimations';\n }\n /** Whether the slide-toggle is required. */\n get required() { return this._required; }\n set required(value) { this._required = coerceBooleanProperty(value); }\n /** Whether the slide-toggle element is checked or not. */\n get checked() { return this._checked; }\n set checked(value) {\n this._checked = coerceBooleanProperty(value);\n this._changeDetectorRef.markForCheck();\n }\n /** Returns the unique id for the visual hidden input. */\n get inputId() { return `${this.id || this._uniqueId}-input`; }\n ngAfterContentInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(focusOrigin => {\n // Only forward focus manually when it was received programmatically or through the\n // keyboard. We should not do this for mouse/touch focus for two reasons:\n // 1. It can prevent clicks from landing in Chrome (see #18269).\n // 2. They're already handled by the wrapping `label` element.\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._inputElement.nativeElement.focus();\n }\n else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's 'ng-touched') will cause a changed-after-checked\n // error. See https://github.com/angular/angular/issues/17793. To work around this,\n // we defer telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => this._onTouched());\n }\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n /** Method being called whenever the underlying input emits a change event. */\n _onChangeEvent(event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the component's `change` output.\n event.stopPropagation();\n this.toggleChange.emit();\n // When the slide toggle's config disables toggle change event by setting\n // `disableToggleValue: true`, the slide toggle's value does not change, and the\n // checked state of the underlying input needs to be changed back.\n if (this.defaults.disableToggleValue) {\n this._inputElement.nativeElement.checked = this.checked;\n return;\n }\n // Sync the value from the underlying input element with the component instance.\n this.checked = this._inputElement.nativeElement.checked;\n // Emit our custom change event only if the underlying input emitted one. This ensures that\n // there is no change event, when the checked state changes programmatically.\n this._emitChangeEvent();\n }\n /** Method being called whenever the slide-toggle has been clicked. */\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value) {\n this.checked = !!value;\n }\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn) {\n this._onChange = fn;\n }\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n /** Focuses the slide-toggle. */\n focus(options, origin) {\n if (origin) {\n this._focusMonitor.focusVia(this._inputElement, origin, options);\n }\n else {\n this._inputElement.nativeElement.focus(options);\n }\n }\n /** Toggles the checked state of the slide-toggle. */\n toggle() {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n /**\n * Emits a change event on the `change` output. Also notifies the FormControl about the change.\n */\n _emitChangeEvent() {\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the\n // slide-toggle component will be only marked for check, but no actual change detection runs\n // automatically. Instead of going back into the zone in order to trigger a change detection\n // which causes *all* components to be checked (if explicitly marked or not using OnPush),\n // we only trigger an explicit change detection for the slide-toggle view and its children.\n this._changeDetectorRef.detectChanges();\n }\n}\nMatSlideToggle.ɵfac = function MatSlideToggle_Factory(t) { return new (t || MatSlideToggle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatSlideToggle.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSlideToggle, selectors: [[\"mat-slide-toggle\"]], viewQuery: function MatSlideToggle_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n ɵngcc0.ɵɵviewQuery(_c1, 5);\n ɵngcc0.ɵɵviewQuery(_c2, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._thumbEl = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._thumbBarEl = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._inputElement = _t.first);\n } }, hostAttrs: [1, \"mat-slide-toggle\"], hostVars: 12, hostBindings: function MatSlideToggle_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"id\", ctx.id);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx.disabled ? null : -1)(\"aria-label\", null)(\"aria-labelledby\", null);\n ɵngcc0.ɵɵclassProp(\"mat-checked\", ctx.checked)(\"mat-disabled\", ctx.disabled)(\"mat-slide-toggle-label-before\", ctx.labelPosition == \"before\")(\"_mat-animation-noopable\", ctx._noopAnimations);\n } }, inputs: { disabled: \"disabled\", disableRipple: \"disableRipple\", color: \"color\", tabIndex: \"tabIndex\", name: \"name\", id: \"id\", labelPosition: \"labelPosition\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], required: \"required\", checked: \"checked\", ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"] }, outputs: { change: \"change\", toggleChange: \"toggleChange\" }, exportAs: [\"matSlideToggle\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SLIDE_TOGGLE_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c4, decls: 16, vars: 20, consts: [[1, \"mat-slide-toggle-label\"], [\"label\", \"\"], [1, \"mat-slide-toggle-bar\"], [\"toggleBar\", \"\"], [\"type\", \"checkbox\", \"role\", \"switch\", 1, \"mat-slide-toggle-input\", \"cdk-visually-hidden\", 3, \"id\", \"required\", \"tabIndex\", \"checked\", \"disabled\", \"change\", \"click\"], [\"input\", \"\"], [1, \"mat-slide-toggle-thumb-container\"], [\"thumbContainer\", \"\"], [1, \"mat-slide-toggle-thumb\"], [\"mat-ripple\", \"\", 1, \"mat-slide-toggle-ripple\", \"mat-focus-indicator\", 3, \"matRippleTrigger\", \"matRippleDisabled\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\"], [1, \"mat-ripple-element\", \"mat-slide-toggle-persistent-ripple\"], [1, \"mat-slide-toggle-content\", 3, \"cdkObserveContent\"], [\"labelContent\", \"\"], [2, \"display\", \"none\"]], template: function MatSlideToggle_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"label\", 0, 1);\n ɵngcc0.ɵɵelementStart(2, \"div\", 2, 3);\n ɵngcc0.ɵɵelementStart(4, \"input\", 4, 5);\n ɵngcc0.ɵɵlistener(\"change\", function MatSlideToggle_Template_input_change_4_listener($event) { return ctx._onChangeEvent($event); })(\"click\", function MatSlideToggle_Template_input_click_4_listener($event) { return ctx._onInputClick($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(6, \"div\", 6, 7);\n ɵngcc0.ɵɵelement(8, \"div\", 8);\n ɵngcc0.ɵɵelementStart(9, \"div\", 9);\n ɵngcc0.ɵɵelement(10, \"div\", 10);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(11, \"span\", 11, 12);\n ɵngcc0.ɵɵlistener(\"cdkObserveContent\", function MatSlideToggle_Template_span_cdkObserveContent_11_listener() { return ctx._onLabelTextChange(); });\n ɵngcc0.ɵɵelementStart(13, \"span\", 13);\n ɵngcc0.ɵɵtext(14, \"\\u00A0\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵprojection(15);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n const _r4 = ɵngcc0.ɵɵreference(12);\n ɵngcc0.ɵɵattribute(\"for\", ctx.inputId);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"mat-slide-toggle-bar-no-side-margin\", !_r4.textContent || !_r4.textContent.trim());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"id\", ctx.inputId)(\"required\", ctx.required)(\"tabIndex\", ctx.tabIndex)(\"checked\", ctx.checked)(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵattribute(\"name\", ctx.name)(\"aria-checked\", ctx.checked.toString())(\"aria-label\", ctx.ariaLabel)(\"aria-labelledby\", ctx.ariaLabelledby)(\"aria-describedby\", ctx.ariaDescribedby);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"matRippleTrigger\", _r0)(\"matRippleDisabled\", ctx.disableRipple || ctx.disabled)(\"matRippleCentered\", true)(\"matRippleRadius\", 20)(\"matRippleAnimation\", ɵngcc0.ɵɵpureFunction1(18, _c3, ctx._noopAnimations ? 0 : 150));\n } }, directives: [ɵngcc2.MatRipple, ɵngcc3.CdkObserveContent], styles: [\".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatSlideToggle.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor },\n { type: ChangeDetectorRef },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatSlideToggle.propDecorators = {\n _thumbEl: [{ type: ViewChild, args: ['thumbContainer',] }],\n _thumbBarEl: [{ type: ViewChild, args: ['toggleBar',] }],\n name: [{ type: Input }],\n id: [{ type: Input }],\n labelPosition: [{ type: Input }],\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],\n ariaDescribedby: [{ type: Input, args: ['aria-describedby',] }],\n required: [{ type: Input }],\n checked: [{ type: Input }],\n change: [{ type: Output }],\n toggleChange: [{ type: Output }],\n _inputElement: [{ type: ViewChild, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSlideToggle, [{\n type: Component,\n args: [{\n selector: 'mat-slide-toggle',\n exportAs: 'matSlideToggle',\n host: {\n 'class': 'mat-slide-toggle',\n '[id]': 'id',\n // Needs to be `-1` so it can still receive programmatic focus.\n '[attr.tabindex]': 'disabled ? null : -1',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-checked]': 'checked',\n '[class.mat-disabled]': 'disabled',\n '[class.mat-slide-toggle-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': '_noopAnimations'\n },\n template: \"\\n\",\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: ɵngcc0.ChangeDetectorRef }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { name: [{\n type: Input\n }], id: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], change: [{\n type: Output\n }], toggleChange: [{\n type: Output\n }], required: [{\n type: Input\n }], checked: [{\n type: Input\n }], _thumbEl: [{\n type: ViewChild,\n args: ['thumbContainer']\n }], _thumbBarEl: [{\n type: ViewChild,\n args: ['toggleBar']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatSlideToggleRequiredValidator),\n multi: true\n};\n/**\n * Validator for Material slide-toggle components with the required attribute in a\n * template-driven form. The default validator for required form controls asserts\n * that the control value is not undefined but that is not appropriate for a slide-toggle\n * where the value is always defined.\n *\n * Required slide-toggle form controls are valid when checked.\n */\nclass MatSlideToggleRequiredValidator extends CheckboxRequiredValidator {\n}\nMatSlideToggleRequiredValidator.ɵfac = /*@__PURE__*/ function () { let ɵMatSlideToggleRequiredValidator_BaseFactory; return function MatSlideToggleRequiredValidator_Factory(t) { return (ɵMatSlideToggleRequiredValidator_BaseFactory || (ɵMatSlideToggleRequiredValidator_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatSlideToggleRequiredValidator)))(t || MatSlideToggleRequiredValidator); }; }();\nMatSlideToggleRequiredValidator.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatSlideToggleRequiredValidator, selectors: [[\"mat-slide-toggle\", \"required\", \"\", \"formControlName\", \"\"], [\"mat-slide-toggle\", \"required\", \"\", \"formControl\", \"\"], [\"mat-slide-toggle\", \"required\", \"\", \"ngModel\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSlideToggleRequiredValidator, [{\n type: Directive,\n args: [{\n selector: `mat-slide-toggle[required][formControlName],\n mat-slide-toggle[required][formControl], mat-slide-toggle[required][ngModel]`,\n providers: [MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** This module is used by both original and MDC-based slide-toggle implementations. */\nclass _MatSlideToggleRequiredValidatorModule {\n}\n_MatSlideToggleRequiredValidatorModule.ɵfac = function _MatSlideToggleRequiredValidatorModule_Factory(t) { return new (t || _MatSlideToggleRequiredValidatorModule)(); };\n_MatSlideToggleRequiredValidatorModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: _MatSlideToggleRequiredValidatorModule });\n_MatSlideToggleRequiredValidatorModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatSlideToggleRequiredValidatorModule, [{\n type: NgModule,\n args: [{\n exports: [MatSlideToggleRequiredValidator],\n declarations: [MatSlideToggleRequiredValidator]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(_MatSlideToggleRequiredValidatorModule, { declarations: [MatSlideToggleRequiredValidator], exports: [MatSlideToggleRequiredValidator] }); })();\nclass MatSlideToggleModule {\n}\nMatSlideToggleModule.ɵfac = function MatSlideToggleModule_Factory(t) { return new (t || MatSlideToggleModule)(); };\nMatSlideToggleModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatSlideToggleModule });\nMatSlideToggleModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n _MatSlideToggleRequiredValidatorModule,\n MatRippleModule,\n MatCommonModule,\n ObserversModule,\n ], _MatSlideToggleRequiredValidatorModule, MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSlideToggleModule, [{\n type: NgModule,\n args: [{\n imports: [\n _MatSlideToggleRequiredValidatorModule,\n MatRippleModule,\n MatCommonModule,\n ObserversModule,\n ],\n exports: [\n _MatSlideToggleRequiredValidatorModule,\n MatSlideToggle,\n MatCommonModule\n ],\n declarations: [MatSlideToggle]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatSlideToggleModule, { declarations: function () { return [MatSlideToggle]; }, imports: function () { return [_MatSlideToggleRequiredValidatorModule, MatRippleModule,\n MatCommonModule,\n ObserversModule]; }, exports: function () { return [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS, MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR, MAT_SLIDE_TOGGLE_VALUE_ACCESSOR, MatSlideToggle, MatSlideToggleChange, MatSlideToggleModule, MatSlideToggleRequiredValidator, _MatSlideToggleRequiredValidatorModule };\n\n","import { DOCUMENT, CommonModule } from '@angular/common';\nimport { forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Optional, Attribute, NgZone, Inject, Input, Output, ViewChild, NgModule } from '@angular/core';\nimport { mixinTabIndex, mixinColor, mixinDisabled, MatCommonModule } from '@angular/material/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW, HOME, END, PAGE_DOWN, PAGE_UP } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/common';\n\nconst _c0 = [\"sliderWrapper\"];\nconst activeEventOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nconst MAT_SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlider),\n multi: true\n};\n/** A simple change event emitted by the MatSlider component. */\nclass MatSliderChange {\n}\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nconst _MatSliderBase = mixinTabIndex(mixinColor(mixinDisabled(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}), 'accent'));\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `` element.\n */\nclass MatSlider extends _MatSliderBase {\n constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex, _ngZone, _document, _animationMode) {\n super(elementRef);\n this._focusMonitor = _focusMonitor;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._ngZone = _ngZone;\n this._animationMode = _animationMode;\n this._invert = false;\n this._max = 100;\n this._min = 0;\n this._step = 1;\n this._thumbLabel = false;\n this._tickInterval = 0;\n this._value = null;\n this._vertical = false;\n /** Event emitted when the slider value has changed. */\n this.change = new EventEmitter();\n /** Event emitted when the slider thumb moves. */\n this.input = new EventEmitter();\n /**\n * Emits when the raw value of the slider changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n this.valueChange = new EventEmitter();\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n this.onTouched = () => { };\n this._percent = 0;\n /**\n * Whether or not the thumb is sliding and what the user is using to slide it with.\n * Used to determine if there should be a transition for the thumb and fill track.\n */\n this._isSliding = null;\n /**\n * Whether or not the slider is active (clicked or sliding).\n * Used to shrink and grow the thumb as according to the Material Design spec.\n */\n this._isActive = false;\n /** The size of a tick interval as a percentage of the size of the track. */\n this._tickIntervalPercent = 0;\n /** The dimensions of the slider. */\n this._sliderDimensions = null;\n this._controlValueAccessorChangeFn = () => { };\n /** Subscription to the Directionality change EventEmitter. */\n this._dirChangeSubscription = Subscription.EMPTY;\n /** Called when the user has put their pointer down on the slider. */\n this._pointerDown = (event) => {\n // Don't do anything if the slider is disabled or the\n // user is using anything other than the main mouse button.\n if (this.disabled || this._isSliding || (!isTouchEvent(event) && event.button !== 0)) {\n return;\n }\n this._ngZone.run(() => {\n this._touchId = isTouchEvent(event) ?\n getTouchIdForSlider(event, this._elementRef.nativeElement) : undefined;\n const pointerPosition = getPointerPositionOnPage(event, this._touchId);\n if (pointerPosition) {\n const oldValue = this.value;\n this._isSliding = 'pointer';\n this._lastPointerEvent = event;\n event.preventDefault();\n this._focusHostElement();\n this._onMouseenter(); // Simulate mouseenter in case this is a mobile device.\n this._bindGlobalEvents(event);\n this._focusHostElement();\n this._updateValueFromPosition(pointerPosition);\n this._valueOnSlideStart = oldValue;\n // Emit a change and input event if the value changed.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n });\n };\n /**\n * Called when the user has moved their pointer after\n * starting to drag. Bound on the document level.\n */\n this._pointerMove = (event) => {\n if (this._isSliding === 'pointer') {\n const pointerPosition = getPointerPositionOnPage(event, this._touchId);\n if (pointerPosition) {\n // Prevent the slide from selecting anything else.\n event.preventDefault();\n const oldValue = this.value;\n this._lastPointerEvent = event;\n this._updateValueFromPosition(pointerPosition);\n // Native range elements always emit `input` events when the value changed while sliding.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n }\n };\n /** Called when the user has lifted their pointer. Bound on the document level. */\n this._pointerUp = (event) => {\n if (this._isSliding === 'pointer') {\n if (!isTouchEvent(event) || typeof this._touchId !== 'number' ||\n // Note that we use `changedTouches`, rather than `touches` because it\n // seems like in most cases `touches` is empty for `touchend` events.\n findMatchingTouch(event.changedTouches, this._touchId)) {\n event.preventDefault();\n this._removeGlobalEvents();\n this._isSliding = null;\n this._touchId = undefined;\n if (this._valueOnSlideStart != this.value && !this.disabled) {\n this._emitChangeEvent();\n }\n this._valueOnSlideStart = this._lastPointerEvent = null;\n }\n }\n };\n /** Called when the window has lost focus. */\n this._windowBlur = () => {\n // If the window is blurred while dragging we need to stop dragging because the\n // browser won't dispatch the `mouseup` and `touchend` events anymore.\n if (this._lastPointerEvent) {\n this._pointerUp(this._lastPointerEvent);\n }\n };\n this._document = _document;\n this.tabIndex = parseInt(tabIndex) || 0;\n _ngZone.runOutsideAngular(() => {\n const element = elementRef.nativeElement;\n element.addEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.addEventListener('touchstart', this._pointerDown, activeEventOptions);\n });\n }\n /** Whether the slider is inverted. */\n get invert() { return this._invert; }\n set invert(value) {\n this._invert = coerceBooleanProperty(value);\n }\n /** The maximum value that the slider can have. */\n get max() { return this._max; }\n set max(v) {\n this._max = coerceNumberProperty(v, this._max);\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The minimum value that the slider can have. */\n get min() { return this._min; }\n set min(v) {\n this._min = coerceNumberProperty(v, this._min);\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The values at which the thumb will snap. */\n get step() { return this._step; }\n set step(v) {\n this._step = coerceNumberProperty(v, this._step);\n if (this._step % 1 !== 0) {\n this._roundToDecimal = this._step.toString().split('.').pop().length;\n }\n // Since this could modify the label, we need to notify the change detection.\n this._changeDetectorRef.markForCheck();\n }\n /** Whether or not to show the thumb label. */\n get thumbLabel() { return this._thumbLabel; }\n set thumbLabel(value) { this._thumbLabel = coerceBooleanProperty(value); }\n /**\n * How often to show ticks. Relative to the step so that a tick always appears on a step.\n * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n */\n get tickInterval() { return this._tickInterval; }\n set tickInterval(value) {\n if (value === 'auto') {\n this._tickInterval = 'auto';\n }\n else if (typeof value === 'number' || typeof value === 'string') {\n this._tickInterval = coerceNumberProperty(value, this._tickInterval);\n }\n else {\n this._tickInterval = 0;\n }\n }\n /** Value of the slider. */\n get value() {\n // If the value needs to be read and it is still uninitialized, initialize it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n return this._value;\n }\n set value(v) {\n if (v !== this._value) {\n let value = coerceNumberProperty(v, 0);\n // While incrementing by a decimal we can end up with values like 33.300000000000004.\n // Truncate it to ensure that it matches the label and to make it easier to work with.\n if (this._roundToDecimal && value !== this.min && value !== this.max) {\n value = parseFloat(value.toFixed(this._roundToDecimal));\n }\n this._value = value;\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the slider is vertical. */\n get vertical() { return this._vertical; }\n set vertical(value) {\n this._vertical = coerceBooleanProperty(value);\n }\n /** The value to be used for display purposes. */\n get displayValue() {\n if (this.displayWith) {\n // Value is never null but since setters and getters cannot have\n // different types, the value getter is also typed to return null.\n return this.displayWith(this.value);\n }\n // Note that this could be improved further by rounding something like 0.999 to 1 or\n // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n // every change detection cycle.\n if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n return this.value.toFixed(this._roundToDecimal);\n }\n return this.value || 0;\n }\n /** set focus to the host element */\n focus(options) {\n this._focusHostElement(options);\n }\n /** blur the host element */\n blur() {\n this._blurHostElement();\n }\n /** The percentage of the slider that coincides with the value. */\n get percent() { return this._clamp(this._percent); }\n /**\n * Whether the axis of the slider is inverted.\n * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n */\n _shouldInvertAxis() {\n // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n // top. However from a y-axis standpoint this is inverted.\n return this.vertical ? !this.invert : this.invert;\n }\n /** Whether the slider is at its minimum value. */\n _isMinValue() {\n return this.percent === 0;\n }\n /**\n * The amount of space to leave between the slider thumb and the track fill & track background\n * elements.\n */\n _getThumbGap() {\n if (this.disabled) {\n return DISABLED_THUMB_GAP;\n }\n if (this._isMinValue() && !this.thumbLabel) {\n return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n }\n return 0;\n }\n /** CSS styles for the track background element. */\n _getTrackBackgroundStyles() {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '-' : '';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`\n };\n }\n /** CSS styles for the track fill element. */\n _getTrackFillStyles() {\n const percent = this.percent;\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${percent}, 1` : `${percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '' : '-';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`,\n // iOS Safari has a bug where it won't re-render elements which start of as `scale(0)` until\n // something forces a style recalculation on it. Since we'll end up with `scale(0)` when\n // the value of the slider is 0, we can easily get into this situation. We force a\n // recalculation by changing the element's `display` when it goes from 0 to any other value.\n display: percent === 0 ? 'none' : ''\n };\n }\n /** CSS styles for the ticks container element. */\n _getTicksContainerStyles() {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the ticks container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n let offset = this._tickIntervalPercent / 2 * 100;\n return {\n 'transform': `translate${axis}(${sign}${offset}%)`\n };\n }\n /** CSS styles for the ticks element. */\n _getTicksStyles() {\n let tickSize = this._tickIntervalPercent * 100;\n let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n let axis = this.vertical ? 'Y' : 'X';\n // Depending on the direction we pushed the ticks container, push the ticks the opposite\n // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n let styles = {\n 'backgroundSize': backgroundSize,\n // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n 'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`\n };\n if (this._isMinValue() && this._getThumbGap()) {\n const shouldInvertAxis = this._shouldInvertAxis();\n let side;\n if (this.vertical) {\n side = shouldInvertAxis ? 'Bottom' : 'Top';\n }\n else {\n side = shouldInvertAxis ? 'Right' : 'Left';\n }\n styles[`padding${side}`] = `${this._getThumbGap()}px`;\n }\n return styles;\n }\n _getThumbContainerStyles() {\n const shouldInvertAxis = this._shouldInvertAxis();\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the thumb container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let invertOffset = (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n return {\n 'transform': `translate${axis}(-${offset}%)`\n };\n }\n /**\n * Whether mouse events should be converted to a slider position by calculating their distance\n * from the right or bottom edge of the slider as opposed to the top or left.\n */\n _shouldInvertMouseCoords() {\n const shouldInvertAxis = this._shouldInvertAxis();\n return (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n }\n /** The language direction for this slider element. */\n _getDirection() {\n return (this._dir && this._dir.value == 'rtl') ? 'rtl' : 'ltr';\n }\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe((origin) => {\n this._isActive = !!origin && origin !== 'keyboard';\n this._changeDetectorRef.detectChanges();\n });\n if (this._dir) {\n this._dirChangeSubscription = this._dir.change.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n const element = this._elementRef.nativeElement;\n element.removeEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.removeEventListener('touchstart', this._pointerDown, activeEventOptions);\n this._lastPointerEvent = null;\n this._removeGlobalEvents();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._dirChangeSubscription.unsubscribe();\n }\n _onMouseenter() {\n if (this.disabled) {\n return;\n }\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onFocus() {\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onBlur() {\n this.onTouched();\n }\n _onKeydown(event) {\n if (this.disabled || hasModifierKey(event) ||\n (this._isSliding && this._isSliding !== 'keyboard')) {\n return;\n }\n const oldValue = this.value;\n switch (event.keyCode) {\n case PAGE_UP:\n this._increment(10);\n break;\n case PAGE_DOWN:\n this._increment(-10);\n break;\n case END:\n this.value = this.max;\n break;\n case HOME:\n this.value = this.min;\n break;\n case LEFT_ARROW:\n // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n // inverted slider the thumb moves in that direction. However for a blind user, nothing\n // about the slider indicates that it is inverted. They will expect left to be decrement,\n // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n // sighted users, therefore we do not swap the meaning.\n this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n break;\n case UP_ARROW:\n this._increment(1);\n break;\n case RIGHT_ARROW:\n // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n break;\n case DOWN_ARROW:\n this._increment(-1);\n break;\n default:\n // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n // it.\n return;\n }\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n this._isSliding = 'keyboard';\n event.preventDefault();\n }\n _onKeyup() {\n if (this._isSliding === 'keyboard') {\n this._isSliding = null;\n }\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /**\n * Binds our global move and end events. They're bound at the document level and only while\n * dragging so that the user doesn't have to keep their pointer exactly over the slider\n * as they're swiping across the screen.\n */\n _bindGlobalEvents(triggerEvent) {\n // Note that we bind the events to the `document`, because it allows us to capture\n // drag cancel events where the user's pointer is outside the browser window.\n const document = this._document;\n const isTouch = isTouchEvent(triggerEvent);\n const moveEventName = isTouch ? 'touchmove' : 'mousemove';\n const endEventName = isTouch ? 'touchend' : 'mouseup';\n document.addEventListener(moveEventName, this._pointerMove, activeEventOptions);\n document.addEventListener(endEventName, this._pointerUp, activeEventOptions);\n if (isTouch) {\n document.addEventListener('touchcancel', this._pointerUp, activeEventOptions);\n }\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.addEventListener('blur', this._windowBlur);\n }\n }\n /** Removes any global event listeners that we may have added. */\n _removeGlobalEvents() {\n const document = this._document;\n document.removeEventListener('mousemove', this._pointerMove, activeEventOptions);\n document.removeEventListener('mouseup', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchmove', this._pointerMove, activeEventOptions);\n document.removeEventListener('touchend', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchcancel', this._pointerUp, activeEventOptions);\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.removeEventListener('blur', this._windowBlur);\n }\n }\n /** Increments the slider by the given number of steps (negative number decrements). */\n _increment(numSteps) {\n this.value = this._clamp((this.value || 0) + this.step * numSteps, this.min, this.max);\n }\n /** Calculate the new value from the new physical location. The value will always be snapped. */\n _updateValueFromPosition(pos) {\n if (!this._sliderDimensions) {\n return;\n }\n let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let posComponent = this.vertical ? pos.y : pos.x;\n // The exact value is calculated from the event and used to find the closest snap value.\n let percent = this._clamp((posComponent - offset) / size);\n if (this._shouldInvertMouseCoords()) {\n percent = 1 - percent;\n }\n // Since the steps may not divide cleanly into the max value, if the user\n // slid to 0 or 100 percent, we jump to the min/max value. This approach\n // is slightly more intuitive than using `Math.ceil` below, because it\n // follows the user's pointer closer.\n if (percent === 0) {\n this.value = this.min;\n }\n else if (percent === 1) {\n this.value = this.max;\n }\n else {\n const exactValue = this._calculateValue(percent);\n // This calculation finds the closest step by finding the closest\n // whole number divisible by the step relative to the min.\n const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n // The value needs to snap to the min and max.\n this.value = this._clamp(closestValue, this.min, this.max);\n }\n }\n /** Emits a change event if the current value is different from the last emitted value. */\n _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.value);\n this.valueChange.emit(this.value);\n this.change.emit(this._createChangeEvent());\n }\n /** Emits an input event when the current value is different from the last emitted value. */\n _emitInputEvent() {\n this.input.emit(this._createChangeEvent());\n }\n /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n _updateTickIntervalPercent() {\n if (!this.tickInterval || !this._sliderDimensions) {\n return;\n }\n if (this.tickInterval == 'auto') {\n let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let pixelsPerStep = trackSize * this.step / (this.max - this.min);\n let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n let pixelsPerTick = stepsPerTick * this.step;\n this._tickIntervalPercent = pixelsPerTick / trackSize;\n }\n else {\n this._tickIntervalPercent = this.tickInterval * this.step / (this.max - this.min);\n }\n }\n /** Creates a slider change object from the specified value. */\n _createChangeEvent(value = this.value) {\n let event = new MatSliderChange();\n event.source = this;\n event.value = value;\n return event;\n }\n /** Calculates the percentage of the slider that a value is. */\n _calculatePercentage(value) {\n return ((value || 0) - this.min) / (this.max - this.min);\n }\n /** Calculates the value a percentage of the slider corresponds to. */\n _calculateValue(percentage) {\n return this.min + percentage * (this.max - this.min);\n }\n /** Return a number between two numbers. */\n _clamp(value, min = 0, max = 1) {\n return Math.max(min, Math.min(value, max));\n }\n /**\n * Get the bounding client rect of the slider track element.\n * The track is used rather than the native element to ignore the extra space that the thumb can\n * take up.\n */\n _getSliderDimensions() {\n return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n }\n /**\n * Focuses the native element.\n * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n */\n _focusHostElement(options) {\n this._elementRef.nativeElement.focus(options);\n }\n /** Blurs the native element. */\n _blurHostElement() {\n this._elementRef.nativeElement.blur();\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n }\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the component is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets whether the component should be disabled.\n * Implemented as part of ControlValueAccessor.\n * @param isDisabled\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n}\nMatSlider.ɵfac = function MatSlider_Factory(t) { return new (t || MatSlider)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatSlider.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatSlider, selectors: [[\"mat-slider\"]], viewQuery: function MatSlider_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._sliderWrapper = _t.first);\n } }, hostAttrs: [\"role\", \"slider\", 1, \"mat-slider\", \"mat-focus-indicator\"], hostVars: 29, hostBindings: function MatSlider_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatSlider_focus_HostBindingHandler() { return ctx._onFocus(); })(\"blur\", function MatSlider_blur_HostBindingHandler() { return ctx._onBlur(); })(\"keydown\", function MatSlider_keydown_HostBindingHandler($event) { return ctx._onKeydown($event); })(\"keyup\", function MatSlider_keyup_HostBindingHandler() { return ctx._onKeyup(); })(\"mouseenter\", function MatSlider_mouseenter_HostBindingHandler() { return ctx._onMouseenter(); })(\"selectstart\", function MatSlider_selectstart_HostBindingHandler($event) { return $event.preventDefault(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"tabIndex\", ctx.tabIndex);\n ɵngcc0.ɵɵattribute(\"aria-disabled\", ctx.disabled)(\"aria-valuemax\", ctx.max)(\"aria-valuemin\", ctx.min)(\"aria-valuenow\", ctx.value)(\"aria-valuetext\", ctx.valueText == null ? ctx.displayValue : ctx.valueText)(\"aria-orientation\", ctx.vertical ? \"vertical\" : \"horizontal\");\n ɵngcc0.ɵɵclassProp(\"mat-slider-disabled\", ctx.disabled)(\"mat-slider-has-ticks\", ctx.tickInterval)(\"mat-slider-horizontal\", !ctx.vertical)(\"mat-slider-axis-inverted\", ctx._shouldInvertAxis())(\"mat-slider-invert-mouse-coords\", ctx._shouldInvertMouseCoords())(\"mat-slider-sliding\", ctx._isSliding)(\"mat-slider-thumb-label-showing\", ctx.thumbLabel)(\"mat-slider-vertical\", ctx.vertical)(\"mat-slider-min-value\", ctx._isMinValue())(\"mat-slider-hide-last-tick\", ctx.disabled || ctx._isMinValue() && ctx._getThumbGap() && ctx._shouldInvertAxis())(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n } }, inputs: { disabled: \"disabled\", color: \"color\", tabIndex: \"tabIndex\", invert: \"invert\", max: \"max\", min: \"min\", step: \"step\", thumbLabel: \"thumbLabel\", tickInterval: \"tickInterval\", value: \"value\", vertical: \"vertical\", displayWith: \"displayWith\", valueText: \"valueText\" }, outputs: { change: \"change\", input: \"input\", valueChange: \"valueChange\" }, exportAs: [\"matSlider\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SLIDER_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 13, vars: 6, consts: [[1, \"mat-slider-wrapper\"], [\"sliderWrapper\", \"\"], [1, \"mat-slider-track-wrapper\"], [1, \"mat-slider-track-background\", 3, \"ngStyle\"], [1, \"mat-slider-track-fill\", 3, \"ngStyle\"], [1, \"mat-slider-ticks-container\", 3, \"ngStyle\"], [1, \"mat-slider-ticks\", 3, \"ngStyle\"], [1, \"mat-slider-thumb-container\", 3, \"ngStyle\"], [1, \"mat-slider-focus-ring\"], [1, \"mat-slider-thumb\"], [1, \"mat-slider-thumb-label\"], [1, \"mat-slider-thumb-label-text\"]], template: function MatSlider_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵelement(3, \"div\", 3);\n ɵngcc0.ɵɵelement(4, \"div\", 4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 5);\n ɵngcc0.ɵɵelement(6, \"div\", 6);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(7, \"div\", 7);\n ɵngcc0.ɵɵelement(8, \"div\", 8);\n ɵngcc0.ɵɵelement(9, \"div\", 9);\n ɵngcc0.ɵɵelementStart(10, \"div\", 10);\n ɵngcc0.ɵɵelementStart(11, \"span\", 11);\n ɵngcc0.ɵɵtext(12);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackBackgroundStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackFillStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksContainerStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksStyles());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getThumbContainerStyles());\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵtextInterpolate(ctx.displayValue);\n } }, directives: [ɵngcc3.NgStyle], styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatSlider.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor },\n { type: ChangeDetectorRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatSlider.propDecorators = {\n invert: [{ type: Input }],\n max: [{ type: Input }],\n min: [{ type: Input }],\n step: [{ type: Input }],\n thumbLabel: [{ type: Input }],\n tickInterval: [{ type: Input }],\n value: [{ type: Input }],\n displayWith: [{ type: Input }],\n valueText: [{ type: Input }],\n vertical: [{ type: Input }],\n change: [{ type: Output }],\n input: [{ type: Output }],\n valueChange: [{ type: Output }],\n _sliderWrapper: [{ type: ViewChild, args: ['sliderWrapper',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSlider, [{\n type: Component,\n args: [{\n selector: 'mat-slider',\n exportAs: 'matSlider',\n providers: [MAT_SLIDER_VALUE_ACCESSOR],\n host: {\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n '(keydown)': '_onKeydown($event)',\n '(keyup)': '_onKeyup()',\n '(mouseenter)': '_onMouseenter()',\n // On Safari starting to slide temporarily triggers text selection mode which\n // show the wrong cursor. We prevent it by stopping the `selectstart` event.\n '(selectstart)': '$event.preventDefault()',\n 'class': 'mat-slider mat-focus-indicator',\n 'role': 'slider',\n '[tabIndex]': 'tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuenow]': 'value',\n // NVDA and Jaws appear to announce the `aria-valuenow` by calculating its percentage based\n // on its value between `aria-valuemin` and `aria-valuemax`. Due to how decimals are handled,\n // it can cause the slider to read out a very long value like 0.20000068 if the current value\n // is 0.2 with a min of 0 and max of 1. We work around the issue by setting `aria-valuetext`\n // to the same value that we set on the slider's thumb which will be truncated.\n '[attr.aria-valuetext]': 'valueText == null ? displayValue : valueText',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-slider-disabled]': 'disabled',\n '[class.mat-slider-has-ticks]': 'tickInterval',\n '[class.mat-slider-horizontal]': '!vertical',\n '[class.mat-slider-axis-inverted]': '_shouldInvertAxis()',\n // Class binding which is only used by the test harness as there is no other\n // way for the harness to detect if mouse coordinates need to be inverted.\n '[class.mat-slider-invert-mouse-coords]': '_shouldInvertMouseCoords()',\n '[class.mat-slider-sliding]': '_isSliding',\n '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n '[class.mat-slider-vertical]': 'vertical',\n '[class.mat-slider-min-value]': '_isMinValue()',\n '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue() && _getThumbGap() && _shouldInvertAxis()',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"'\n },\n template: \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{displayValue}}\\n
\\n
\\n
\\n\",\n inputs: ['disabled', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { change: [{\n type: Output\n }], input: [{\n type: Output\n }], valueChange: [{\n type: Output\n }], invert: [{\n type: Input\n }], max: [{\n type: Input\n }], min: [{\n type: Input\n }], step: [{\n type: Input\n }], thumbLabel: [{\n type: Input\n }], tickInterval: [{\n type: Input\n }], value: [{\n type: Input\n }], vertical: [{\n type: Input\n }], displayWith: [{\n type: Input\n }], valueText: [{\n type: Input\n }], _sliderWrapper: [{\n type: ViewChild,\n args: ['sliderWrapper']\n }] }); })();\n/** Returns whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/** Gets the coordinates of a touch or mouse event relative to the viewport. */\nfunction getPointerPositionOnPage(event, id) {\n let point;\n if (isTouchEvent(event)) {\n // The `identifier` could be undefined if the browser doesn't support `TouchEvent.identifier`.\n // If that's the case, attribute the first touch to all active sliders. This should still cover\n // the most common case while only breaking multi-touch.\n if (typeof id === 'number') {\n point = findMatchingTouch(event.touches, id) || findMatchingTouch(event.changedTouches, id);\n }\n else {\n // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n point = event.touches[0] || event.changedTouches[0];\n }\n }\n else {\n point = event;\n }\n return point ? { x: point.clientX, y: point.clientY } : undefined;\n}\n/** Finds a `Touch` with a specific ID in a `TouchList`. */\nfunction findMatchingTouch(touches, id) {\n for (let i = 0; i < touches.length; i++) {\n if (touches[i].identifier === id) {\n return touches[i];\n }\n }\n return undefined;\n}\n/** Gets the unique ID of a touch that matches a specific slider. */\nfunction getTouchIdForSlider(event, sliderHost) {\n for (let i = 0; i < event.touches.length; i++) {\n const target = event.touches[i].target;\n if (sliderHost === target || sliderHost.contains(target)) {\n return event.touches[i].identifier;\n }\n }\n return undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSliderModule {\n}\nMatSliderModule.ɵfac = function MatSliderModule_Factory(t) { return new (t || MatSliderModule)(); };\nMatSliderModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatSliderModule });\nMatSliderModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[CommonModule, MatCommonModule], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSliderModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, MatCommonModule],\n exports: [MatSlider, MatCommonModule],\n declarations: [MatSlider]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatSliderModule, { declarations: function () { return [MatSlider]; }, imports: function () { return [CommonModule, MatCommonModule]; }, exports: function () { return [MatSlider, MatCommonModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_SLIDER_VALUE_ACCESSOR, MatSlider, MatSliderChange, MatSliderModule };\n\n","import { Directive, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';\nimport { CdkTable, CDK_TABLE_TEMPLATE, CDK_TABLE, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, STICKY_POSITIONING_LISTENER, CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CdkHeaderRow, CDK_ROW_TEMPLATE, CdkFooterRow, CdkRow, CdkNoDataRow, CdkTextColumn, CdkTableModule, DataSource } from '@angular/cdk/table';\nimport { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport { MatCommonModule } from '@angular/material/core';\nimport { _isNumberValue } from '@angular/cdk/coercion';\nimport { BehaviorSubject, Subject, merge, of, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/table';\n\nconst _c0 = [[[\"caption\"]], [[\"colgroup\"], [\"col\"]]];\nconst _c1 = [\"caption\", \"colgroup, col\"];\nfunction MatTextColumn_th_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"th\", 3);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r0.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r0.headerText, \" \");\n} }\nfunction MatTextColumn_td_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"td\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const data_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r1.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.dataAccessor(data_r2, ctx_r1.name), \" \");\n} }\nclass MatRecycleRows {\n}\nMatRecycleRows.ɵfac = function MatRecycleRows_Factory(t) { return new (t || MatRecycleRows)(); };\nMatRecycleRows.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatRecycleRows, selectors: [[\"mat-table\", \"recycleRows\", \"\"], [\"table\", \"mat-table\", \"\", \"recycleRows\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRecycleRows, [{\n type: Directive,\n args: [{\n selector: 'mat-table[recycleRows], table[mat-table][recycleRows]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], null, null); })();\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\nclass MatTable extends CdkTable {\n constructor() {\n super(...arguments);\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n this.stickyCssClass = 'mat-table-sticky';\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n this.needsPositionStickyOnElement = false;\n }\n}\nMatTable.ɵfac = /*@__PURE__*/ function () { let ɵMatTable_BaseFactory; return function MatTable_Factory(t) { return (ɵMatTable_BaseFactory || (ɵMatTable_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatTable)))(t || MatTable); }; }();\nMatTable.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTable, selectors: [[\"mat-table\"], [\"table\", \"mat-table\", \"\"]], hostAttrs: [1, \"mat-table\"], hostVars: 2, hostBindings: function MatTable_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-table-fixed-layout\", ctx.fixedLayout);\n } }, exportAs: [\"matTable\"], features: [ɵngcc0.ɵɵProvidersFeature([\n // TODO(michaeljamesparsons) Abstract the view repeater strategy to a directive API so this code\n // is only included in the build if used.\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: CdkTable, useExisting: MatTable },\n { provide: CDK_TABLE, useExisting: MatTable },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [[\"headerRowOutlet\", \"\"], [\"rowOutlet\", \"\"], [\"noDataRowOutlet\", \"\"], [\"footerRowOutlet\", \"\"]], template: function MatTable_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c0);\n ɵngcc0.ɵɵprojection(0);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementContainer(2, 0);\n ɵngcc0.ɵɵelementContainer(3, 1);\n ɵngcc0.ɵɵelementContainer(4, 2);\n ɵngcc0.ɵɵelementContainer(5, 3);\n } }, directives: [ɵngcc1.HeaderRowOutlet, ɵngcc1.DataRowOutlet, ɵngcc1.NoDataRowOutlet, ɵngcc1.FooterRowOutlet], styles: [\"mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:\\\"\\\"}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\\n\"], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTable, [{\n type: Component,\n args: [{\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n template: CDK_TABLE_TEMPLATE,\n host: {\n 'class': 'mat-table',\n '[class.mat-table-fixed-layout]': 'fixedLayout'\n },\n providers: [\n // TODO(michaeljamesparsons) Abstract the view repeater strategy to a directive API so this code\n // is only included in the build if used.\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: CdkTable, useExisting: MatTable },\n { provide: CDK_TABLE, useExisting: MatTable },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n styles: [\"mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:\\\"\\\"}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\\n\"]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nclass MatCellDef extends CdkCellDef {\n}\nMatCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatCellDef_BaseFactory; return function MatCellDef_Factory(t) { return (ɵMatCellDef_BaseFactory || (ɵMatCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatCellDef)))(t || MatCellDef); }; }();\nMatCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatCellDef, selectors: [[\"\", \"matCellDef\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkCellDef, useExisting: MatCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatCellDef, [{\n type: Directive,\n args: [{\n selector: '[matCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: MatCellDef }]\n }]\n }], null, null); })();\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nclass MatHeaderCellDef extends CdkHeaderCellDef {\n}\nMatHeaderCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderCellDef_BaseFactory; return function MatHeaderCellDef_Factory(t) { return (ɵMatHeaderCellDef_BaseFactory || (ɵMatHeaderCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderCellDef)))(t || MatHeaderCellDef); }; }();\nMatHeaderCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderCellDef, selectors: [[\"\", \"matHeaderCellDef\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderCellDef, [{\n type: Directive,\n args: [{\n selector: '[matHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef }]\n }]\n }], null, null); })();\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\nclass MatFooterCellDef extends CdkFooterCellDef {\n}\nMatFooterCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterCellDef_BaseFactory; return function MatFooterCellDef_Factory(t) { return (ɵMatFooterCellDef_BaseFactory || (ɵMatFooterCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterCellDef)))(t || MatFooterCellDef); }; }();\nMatFooterCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterCellDef, selectors: [[\"\", \"matFooterCellDef\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterCellDef, useExisting: MatFooterCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterCellDef, [{\n type: Directive,\n args: [{\n selector: '[matFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: MatFooterCellDef }]\n }]\n }], null, null); })();\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\nclass MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n get name() { return this._name; }\n set name(name) { this._setNameInput(name); }\n /**\n * Add \"mat-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"mat-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n _updateColumnCssClassName() {\n super._updateColumnCssClassName();\n this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`);\n }\n}\nMatColumnDef.ɵfac = /*@__PURE__*/ function () { let ɵMatColumnDef_BaseFactory; return function MatColumnDef_Factory(t) { return (ɵMatColumnDef_BaseFactory || (ɵMatColumnDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatColumnDef)))(t || MatColumnDef); }; }();\nMatColumnDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatColumnDef, selectors: [[\"\", \"matColumnDef\", \"\"]], inputs: { sticky: \"sticky\", name: [\"matColumnDef\", \"name\"] }, features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: CdkColumnDef, useExisting: MatColumnDef },\n { provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef }\n ]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatColumnDef.propDecorators = {\n name: [{ type: Input, args: ['matColumnDef',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatColumnDef, [{\n type: Directive,\n args: [{\n selector: '[matColumnDef]',\n inputs: ['sticky'],\n providers: [\n { provide: CdkColumnDef, useExisting: MatColumnDef },\n { provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef }\n ]\n }]\n }], null, { name: [{\n type: Input,\n args: ['matColumnDef']\n }] }); })();\n/** Header cell template container that adds the right classes and role. */\nclass MatHeaderCell extends CdkHeaderCell {\n}\nMatHeaderCell.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderCell_BaseFactory; return function MatHeaderCell_Factory(t) { return (ɵMatHeaderCell_BaseFactory || (ɵMatHeaderCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderCell)))(t || MatHeaderCell); }; }();\nMatHeaderCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderCell, selectors: [[\"mat-header-cell\"], [\"th\", \"mat-header-cell\", \"\"]], hostAttrs: [\"role\", \"columnheader\", 1, \"mat-header-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderCell, [{\n type: Directive,\n args: [{\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-header-cell',\n 'role': 'columnheader'\n }\n }]\n }], null, null); })();\n/** Footer cell template container that adds the right classes and role. */\nclass MatFooterCell extends CdkFooterCell {\n}\nMatFooterCell.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterCell_BaseFactory; return function MatFooterCell_Factory(t) { return (ɵMatFooterCell_BaseFactory || (ɵMatFooterCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterCell)))(t || MatFooterCell); }; }();\nMatFooterCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterCell, selectors: [[\"mat-footer-cell\"], [\"td\", \"mat-footer-cell\", \"\"]], hostAttrs: [\"role\", \"gridcell\", 1, \"mat-footer-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterCell, [{\n type: Directive,\n args: [{\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-footer-cell',\n 'role': 'gridcell'\n }\n }]\n }], null, null); })();\n/** Cell template container that adds the right classes and role. */\nclass MatCell extends CdkCell {\n}\nMatCell.ɵfac = /*@__PURE__*/ function () { let ɵMatCell_BaseFactory; return function MatCell_Factory(t) { return (ɵMatCell_BaseFactory || (ɵMatCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatCell)))(t || MatCell); }; }();\nMatCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatCell, selectors: [[\"mat-cell\"], [\"td\", \"mat-cell\", \"\"]], hostAttrs: [\"role\", \"gridcell\", 1, \"mat-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatCell, [{\n type: Directive,\n args: [{\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-cell',\n 'role': 'gridcell'\n }\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nclass MatHeaderRowDef extends CdkHeaderRowDef {\n}\nMatHeaderRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderRowDef_BaseFactory; return function MatHeaderRowDef_Factory(t) { return (ɵMatHeaderRowDef_BaseFactory || (ɵMatHeaderRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderRowDef)))(t || MatHeaderRowDef); }; }();\nMatHeaderRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderRowDef, selectors: [[\"\", \"matHeaderRowDef\", \"\"]], inputs: { columns: [\"matHeaderRowDef\", \"columns\"], sticky: [\"matHeaderRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderRowDef, [{\n type: Directive,\n args: [{\n selector: '[matHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef }],\n inputs: ['columns: matHeaderRowDef', 'sticky: matHeaderRowDefSticky']\n }]\n }], null, null); })();\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\nclass MatFooterRowDef extends CdkFooterRowDef {\n}\nMatFooterRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterRowDef_BaseFactory; return function MatFooterRowDef_Factory(t) { return (ɵMatFooterRowDef_BaseFactory || (ɵMatFooterRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterRowDef)))(t || MatFooterRowDef); }; }();\nMatFooterRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterRowDef, selectors: [[\"\", \"matFooterRowDef\", \"\"]], inputs: { columns: [\"matFooterRowDef\", \"columns\"], sticky: [\"matFooterRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterRowDef, useExisting: MatFooterRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterRowDef, [{\n type: Directive,\n args: [{\n selector: '[matFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: MatFooterRowDef }],\n inputs: ['columns: matFooterRowDef', 'sticky: matFooterRowDefSticky']\n }]\n }], null, null); })();\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\nclass MatRowDef extends CdkRowDef {\n}\nMatRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatRowDef_BaseFactory; return function MatRowDef_Factory(t) { return (ɵMatRowDef_BaseFactory || (ɵMatRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatRowDef)))(t || MatRowDef); }; }();\nMatRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatRowDef, selectors: [[\"\", \"matRowDef\", \"\"]], inputs: { columns: [\"matRowDefColumns\", \"columns\"], when: [\"matRowDefWhen\", \"when\"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkRowDef, useExisting: MatRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRowDef, [{\n type: Directive,\n args: [{\n selector: '[matRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: MatRowDef }],\n inputs: ['columns: matRowDefColumns', 'when: matRowDefWhen']\n }]\n }], null, null); })();\n/** Header template container that contains the cell outlet. Adds the right class and role. */\nclass MatHeaderRow extends CdkHeaderRow {\n}\nMatHeaderRow.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderRow_BaseFactory; return function MatHeaderRow_Factory(t) { return (ɵMatHeaderRow_BaseFactory || (ɵMatHeaderRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderRow)))(t || MatHeaderRow); }; }();\nMatHeaderRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatHeaderRow, selectors: [[\"mat-header-row\"], [\"tr\", \"mat-header-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"mat-header-row\"], exportAs: [\"matHeaderRow\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderRow, useExisting: MatHeaderRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function MatHeaderRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderRow, [{\n type: Component,\n args: [{\n selector: 'mat-header-row, tr[mat-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-header-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: MatHeaderRow }]\n }]\n }], null, null); })();\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\nclass MatFooterRow extends CdkFooterRow {\n}\nMatFooterRow.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterRow_BaseFactory; return function MatFooterRow_Factory(t) { return (ɵMatFooterRow_BaseFactory || (ɵMatFooterRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterRow)))(t || MatFooterRow); }; }();\nMatFooterRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatFooterRow, selectors: [[\"mat-footer-row\"], [\"tr\", \"mat-footer-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"mat-footer-row\"], exportAs: [\"matFooterRow\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterRow, useExisting: MatFooterRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function MatFooterRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterRow, [{\n type: Component,\n args: [{\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-footer-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: MatFooterRow }]\n }]\n }], null, null); })();\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\nclass MatRow extends CdkRow {\n}\nMatRow.ɵfac = /*@__PURE__*/ function () { let ɵMatRow_BaseFactory; return function MatRow_Factory(t) { return (ɵMatRow_BaseFactory || (ɵMatRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatRow)))(t || MatRow); }; }();\nMatRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatRow, selectors: [[\"mat-row\"], [\"tr\", \"mat-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"mat-row\"], exportAs: [\"matRow\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkRow, useExisting: MatRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function MatRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRow, [{\n type: Component,\n args: [{\n selector: 'mat-row, tr[mat-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{ provide: CdkRow, useExisting: MatRow }]\n }]\n }], null, null); })();\n/** Row that can be used to display a message when no data is shown in the table. */\nclass MatNoDataRow extends CdkNoDataRow {\n}\nMatNoDataRow.ɵfac = /*@__PURE__*/ function () { let ɵMatNoDataRow_BaseFactory; return function MatNoDataRow_Factory(t) { return (ɵMatNoDataRow_BaseFactory || (ɵMatNoDataRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatNoDataRow)))(t || MatNoDataRow); }; }();\nMatNoDataRow.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatNoDataRow, selectors: [[\"ng-template\", \"matNoDataRow\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkNoDataRow, useExisting: MatNoDataRow }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatNoDataRow, [{\n type: Directive,\n args: [{\n selector: 'ng-template[matNoDataRow]',\n providers: [{ provide: CdkNoDataRow, useExisting: MatNoDataRow }]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`
\n {{headerText}}\n \n {{dataAccessor(data, name)}}\n
`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\nclass MatTextColumn extends CdkTextColumn {\n}\nMatTextColumn.ɵfac = /*@__PURE__*/ function () { let ɵMatTextColumn_BaseFactory; return function MatTextColumn_Factory(t) { return (ɵMatTextColumn_BaseFactory || (ɵMatTextColumn_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatTextColumn)))(t || MatTextColumn); }; }();\nMatTextColumn.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTextColumn, selectors: [[\"mat-text-column\"]], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [[\"matColumnDef\", \"\"], [\"mat-header-cell\", \"\", 3, \"text-align\", 4, \"matHeaderCellDef\"], [\"mat-cell\", \"\", 3, \"text-align\", 4, \"matCellDef\"], [\"mat-header-cell\", \"\"], [\"mat-cell\", \"\"]], template: function MatTextColumn_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0, 0);\n ɵngcc0.ɵɵtemplate(1, MatTextColumn_th_1_Template, 2, 3, \"th\", 1);\n ɵngcc0.ɵɵtemplate(2, MatTextColumn_td_2_Template, 2, 3, \"td\", 2);\n ɵngcc0.ɵɵelementContainerEnd();\n } }, directives: [MatColumnDef, MatHeaderCellDef, MatCellDef, MatHeaderCell, MatCell], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTextColumn, [{\n type: Component,\n args: [{\n selector: 'mat-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n MatRecycleRows,\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n // Row directives\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n MatNoDataRow,\n MatTextColumn,\n];\nclass MatTableModule {\n}\nMatTableModule.ɵfac = function MatTableModule_Factory(t) { return new (t || MatTableModule)(); };\nMatTableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatTableModule });\nMatTableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n CdkTableModule,\n MatCommonModule,\n ], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTableModule, [{\n type: NgModule,\n args: [{\n imports: [\n CdkTableModule,\n MatCommonModule,\n ],\n exports: [MatCommonModule, EXPORTED_DECLARATIONS],\n declarations: EXPORTED_DECLARATIONS\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatTableModule, { declarations: function () { return [MatTable, MatRecycleRows, MatHeaderCellDef, MatHeaderRowDef, MatColumnDef, MatCellDef, MatRowDef, MatFooterCellDef, MatFooterRowDef, MatHeaderCell, MatCell, MatFooterCell, MatHeaderRow, MatRow, MatFooterRow, MatNoDataRow, MatTextColumn]; }, imports: function () { return [CdkTableModule,\n MatCommonModule]; }, exports: function () { return [MatCommonModule, MatTable, MatRecycleRows, MatHeaderCellDef, MatHeaderRowDef, MatColumnDef, MatCellDef, MatRowDef, MatFooterCellDef, MatFooterRowDef, MatHeaderCell, MatCell, MatFooterCell, MatHeaderRow, MatRow, MatFooterRow, MatNoDataRow, MatTextColumn]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n/** Shared base class with MDC-based implementation. */\nclass _MatTableDataSource extends DataSource {\n constructor(initialData = []) {\n super();\n /** Stream emitting render data to the table (depends on ordered data changes). */\n this._renderData = new BehaviorSubject([]);\n /** Stream that emits when a new filter string is set on the data source. */\n this._filter = new BehaviorSubject('');\n /** Used to react to internal changes of the paginator that are made by the data source itself. */\n this._internalPageChanges = new Subject();\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n this._renderChangesSubscription = null;\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n this.sortingDataAccessor = (data, sortHeaderId) => {\n const value = data[sortHeaderId];\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // leave them as strings. For more info: https://goo.gl/y5vbSg\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n return value;\n };\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n this.sortData = (data, sort) => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') {\n return data;\n }\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n // If there are data in the column that can be converted to a number,\n // it must be ensured that the rest of the data\n // is of the same type so as not to order incorrectly.\n const valueAType = typeof valueA;\n const valueBType = typeof valueB;\n if (valueAType !== valueBType) {\n if (valueAType === 'number') {\n valueA += '';\n }\n if (valueBType === 'number') {\n valueB += '';\n }\n }\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come last.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n }\n else if (valueA < valueB) {\n comparatorResult = -1;\n }\n }\n else if (valueA != null) {\n comparatorResult = 1;\n }\n else if (valueB != null) {\n comparatorResult = -1;\n }\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n };\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n this.filterPredicate = (data, filter) => {\n // Transform the data into a lowercase string of all property values.\n const dataStr = Object.keys(data).reduce((currentTerm, key) => {\n // Use an obscure Unicode character to delimit the words in the concatenated string.\n // This avoids matches where the values of two columns combined will match the user's query\n // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something\n // that has a very low chance of being typed in by somebody in a text field. This one in\n // particular is \"White up-pointing triangle with dot\" from\n // https://en.wikipedia.org/wiki/List_of_Unicode_characters\n return currentTerm + data[key] + '◬';\n }, '').toLowerCase();\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n return dataStr.indexOf(transformedFilter) != -1;\n };\n this._data = new BehaviorSubject(initialData);\n this._updateChangeSubscription();\n }\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() { return this._data.value; }\n set data(data) {\n this._data.next(data);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(data);\n }\n }\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter() { return this._filter.value; }\n set filter(filter) {\n this._filter.next(filter);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(this.data);\n }\n }\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort() { return this._sort; }\n set sort(sort) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n /**\n * Instance of the MatPaginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the MatPaginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator() { return this._paginator; }\n set paginator(paginator) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n var _a;\n // Sorting and/or pagination should be watched if MatSort and/or MatPaginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange = this._sort ?\n merge(this._sort.sortChange, this._sort.initialized) :\n of(null);\n const pageChange = this._paginator ?\n merge(this._paginator.page, this._internalPageChanges, this._paginator.initialized) :\n of(null);\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest([dataStream, this._filter])\n .pipe(map(([data]) => this._filterData(data)));\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest([filteredData, sortChange])\n .pipe(map(([data]) => this._orderData(data)));\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest([orderedData, pageChange])\n .pipe(map(([data]) => this._pageData(data)));\n // Watched for paged data changes and send the result to the table to render.\n (_a = this._renderChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterTermAccessor function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterTermAccessor.\n // May be overridden for customization.\n this.filteredData = (this.filter == null || this.filter === '') ? data :\n data.filter(obj => this.filterPredicate(obj, this.filter));\n if (this.paginator) {\n this._updatePaginator(this.filteredData.length);\n }\n return this.filteredData;\n }\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data) {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) {\n return data;\n }\n return this.sortData(data.slice(), this.sort);\n }\n /**\n * Returns a paged slice of the provided data array according to the provided MatPaginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data) {\n if (!this.paginator) {\n return data;\n }\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice(startIndex, startIndex + this.paginator.pageSize);\n }\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength) {\n Promise.resolve().then(() => {\n const paginator = this.paginator;\n if (!paginator) {\n return;\n }\n paginator.length = filteredDataLength;\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\n }\n });\n }\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() {\n if (!this._renderChangesSubscription) {\n this._updateChangeSubscription();\n }\n return this._renderData;\n }\n /**\n * Used by the MatTable. Called when it disconnects from the data source.\n * @docs-private\n */\n disconnect() {\n var _a;\n (_a = this._renderChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n this._renderChangesSubscription = null;\n }\n}\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,\n * which defines how row data is converted to a string for filter matching.\n *\n * **Note:** This class is meant to be a simple data source to help you get started. As such\n * it isn't equipped to handle some more advanced cases like robust i18n support or server-side\n * interactions. If your app needs to support more advanced use cases, consider implementing your\n * own `DataSource`.\n */\nclass MatTableDataSource extends _MatTableDataSource {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatCell, MatCellDef, MatColumnDef, MatFooterCell, MatFooterCellDef, MatFooterRow, MatFooterRowDef, MatHeaderCell, MatHeaderCellDef, MatHeaderRow, MatHeaderRowDef, MatNoDataRow, MatRecycleRows, MatRow, MatRowDef, MatTable, MatTableDataSource, MatTableModule, MatTextColumn, _MatTableDataSource };\n\n","import { FocusKeyManager, FocusMonitor, A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { CdkPortal, TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { InjectionToken, Directive, ElementRef, NgZone, Inject, Optional, TemplateRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, ViewChild, Input, ComponentFactoryResolver, forwardRef, EventEmitter, ChangeDetectorRef, Output, QueryList, ContentChildren, Attribute, NgModule } from '@angular/core';\nimport { mixinDisabled, mixinColor, mixinDisableRipple, mixinTabIndex, MAT_RIPPLE_GLOBAL_OPTIONS, RippleRenderer, MatCommonModule, MatRippleModule } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { Subject, Subscription, merge, fromEvent, of, timer } from 'rxjs';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token for the MatInkBar's Positioner. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/common';\nimport * as ɵngcc3 from '@angular/material/core';\nimport * as ɵngcc4 from '@angular/cdk/a11y';\nimport * as ɵngcc5 from '@angular/cdk/portal';\nimport * as ɵngcc6 from '@angular/cdk/scrolling';\nimport * as ɵngcc7 from '@angular/cdk/platform';\nimport * as ɵngcc8 from '@angular/cdk/observers';\n\nfunction MatTab_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojection(0);\n} }\nconst _c0 = [\"*\"];\nfunction MatTabBody_ng_template_2_Template(rf, ctx) { }\nconst _c1 = function (a0) { return { animationDuration: a0 }; };\nconst _c2 = function (a0, a1) { return { value: a0, params: a1 }; };\nconst _c3 = [\"tabBodyWrapper\"];\nconst _c4 = [\"tabHeader\"];\nfunction MatTabGroup_div_2_ng_template_2_ng_template_0_Template(rf, ctx) { }\nfunction MatTabGroup_div_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, MatTabGroup_div_2_ng_template_2_ng_template_0_Template, 0, 0, \"ng-template\", 9);\n} if (rf & 2) {\n const tab_r4 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵproperty(\"cdkPortalOutlet\", tab_r4.templateLabel);\n} }\nfunction MatTabGroup_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n} if (rf & 2) {\n const tab_r4 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵtextInterpolate(tab_r4.textLabel);\n} }\nfunction MatTabGroup_div_2_Template(rf, ctx) { if (rf & 1) {\n const _r12 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 6);\n ɵngcc0.ɵɵlistener(\"click\", function MatTabGroup_div_2_Template_div_click_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const tab_r4 = restoredCtx.$implicit; const i_r5 = restoredCtx.index; const ctx_r11 = ɵngcc0.ɵɵnextContext(); const _r0 = ɵngcc0.ɵɵreference(1); return ctx_r11._handleClick(tab_r4, _r0, i_r5); })(\"cdkFocusChange\", function MatTabGroup_div_2_Template_div_cdkFocusChange_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const i_r5 = restoredCtx.index; const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ctx_r13._tabFocusChanged($event, i_r5); });\n ɵngcc0.ɵɵelementStart(1, \"div\", 7);\n ɵngcc0.ɵɵtemplate(2, MatTabGroup_div_2_ng_template_2_Template, 1, 1, \"ng-template\", 8);\n ɵngcc0.ɵɵtemplate(3, MatTabGroup_div_2_ng_template_3_Template, 1, 1, \"ng-template\", 8);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r4 = ctx.$implicit;\n const i_r5 = ctx.index;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-tab-label-active\", ctx_r1.selectedIndex == i_r5);\n ɵngcc0.ɵɵproperty(\"id\", ctx_r1._getTabLabelId(i_r5))(\"disabled\", tab_r4.disabled)(\"matRippleDisabled\", tab_r4.disabled || ctx_r1.disableRipple);\n ɵngcc0.ɵɵattribute(\"tabIndex\", ctx_r1._getTabIndex(tab_r4, i_r5))(\"aria-posinset\", i_r5 + 1)(\"aria-setsize\", ctx_r1._tabs.length)(\"aria-controls\", ctx_r1._getTabContentId(i_r5))(\"aria-selected\", ctx_r1.selectedIndex == i_r5)(\"aria-label\", tab_r4.ariaLabel || null)(\"aria-labelledby\", !tab_r4.ariaLabel && tab_r4.ariaLabelledby ? tab_r4.ariaLabelledby : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", tab_r4.templateLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !tab_r4.templateLabel);\n} }\nfunction MatTabGroup_mat_tab_body_5_Template(rf, ctx) { if (rf & 1) {\n const _r17 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"mat-tab-body\", 10);\n ɵngcc0.ɵɵlistener(\"_onCentered\", function MatTabGroup_mat_tab_body_5_Template_mat_tab_body__onCentered_0_listener() { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ctx_r16._removeTabBodyWrapperHeight(); })(\"_onCentering\", function MatTabGroup_mat_tab_body_5_Template_mat_tab_body__onCentering_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ctx_r18._setTabBodyWrapperHeight($event); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r14 = ctx.$implicit;\n const i_r15 = ctx.index;\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-tab-body-active\", ctx_r3.selectedIndex === i_r15);\n ɵngcc0.ɵɵproperty(\"id\", ctx_r3._getTabContentId(i_r15))(\"content\", tab_r14.content)(\"position\", tab_r14.position)(\"origin\", tab_r14.origin)(\"animationDuration\", ctx_r3.animationDuration);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r3.contentTabIndex != null && ctx_r3.selectedIndex === i_r15 ? ctx_r3.contentTabIndex : null)(\"aria-labelledby\", ctx_r3._getTabLabelId(i_r15));\n} }\nconst _c5 = [\"tabListContainer\"];\nconst _c6 = [\"tabList\"];\nconst _c7 = [\"nextPaginator\"];\nconst _c8 = [\"previousPaginator\"];\nconst _c9 = [\"mat-tab-nav-bar\", \"\"];\nconst _MAT_INK_BAR_POSITIONER = new InjectionToken('MatInkBarPositioner', {\n providedIn: 'root',\n factory: _MAT_INK_BAR_POSITIONER_FACTORY\n});\n/**\n * The default positioner function for the MatInkBar.\n * @docs-private\n */\nfunction _MAT_INK_BAR_POSITIONER_FACTORY() {\n const method = (element) => ({\n left: element ? (element.offsetLeft || 0) + 'px' : '0',\n width: element ? (element.offsetWidth || 0) + 'px' : '0',\n });\n return method;\n}\n/**\n * The ink-bar is used to display and animate the line underneath the current active tab label.\n * @docs-private\n */\nclass MatInkBar {\n constructor(_elementRef, _ngZone, _inkBarPositioner, _animationMode) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._inkBarPositioner = _inkBarPositioner;\n this._animationMode = _animationMode;\n }\n /**\n * Calculates the styles from the provided element in order to align the ink-bar to that element.\n * Shows the ink bar if previously set as hidden.\n * @param element\n */\n alignToElement(element) {\n this.show();\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this._setStyles(element));\n });\n }\n else {\n this._setStyles(element);\n }\n }\n /** Shows the ink bar. */\n show() {\n this._elementRef.nativeElement.style.visibility = 'visible';\n }\n /** Hides the ink bar. */\n hide() {\n this._elementRef.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Sets the proper styles to the ink bar element.\n * @param element\n */\n _setStyles(element) {\n const positions = this._inkBarPositioner(element);\n const inkBar = this._elementRef.nativeElement;\n inkBar.style.left = positions.left;\n inkBar.style.width = positions.width;\n }\n}\nMatInkBar.ɵfac = function MatInkBar_Factory(t) { return new (t || MatInkBar)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(_MAT_INK_BAR_POSITIONER), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatInkBar.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatInkBar, selectors: [[\"mat-ink-bar\"]], hostAttrs: [1, \"mat-ink-bar\"], hostVars: 2, hostBindings: function MatInkBar_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n } } });\nMatInkBar.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [_MAT_INK_BAR_POSITIONER,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatInkBar, [{\n type: Directive,\n args: [{\n selector: 'mat-ink-bar',\n host: {\n 'class': 'mat-ink-bar',\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [_MAT_INK_BAR_POSITIONER]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatTabContent`. It serves as\n * alternative token to the actual `MatTabContent` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_TAB_CONTENT = new InjectionToken('MatTabContent');\n/** Decorates the `ng-template` tags and reads out the template from it. */\nclass MatTabContent {\n constructor(\n /** Content for the tab. */ template) {\n this.template = template;\n }\n}\nMatTabContent.ɵfac = function MatTabContent_Factory(t) { return new (t || MatTabContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nMatTabContent.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTabContent, selectors: [[\"\", \"matTabContent\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }])] });\nMatTabContent.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabContent, [{\n type: Directive,\n args: [{\n selector: '[matTabContent]',\n providers: [{ provide: MAT_TAB_CONTENT, useExisting: MatTabContent }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatTabLabel`. It serves as\n * alternative token to the actual `MatTabLabel` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_TAB_LABEL = new InjectionToken('MatTabLabel');\n/**\n * Used to provide a tab label to a tab without causing a circular dependency.\n * @docs-private\n */\nconst MAT_TAB = new InjectionToken('MAT_TAB');\n/** Used to flag tab labels for use with the portal directive */\nclass MatTabLabel extends CdkPortal {\n constructor(templateRef, viewContainerRef, _closestTab) {\n super(templateRef, viewContainerRef);\n this._closestTab = _closestTab;\n }\n}\nMatTabLabel.ɵfac = function MatTabLabel_Factory(t) { return new (t || MatTabLabel)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(MAT_TAB, 8)); };\nMatTabLabel.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTabLabel, selectors: [[\"\", \"mat-tab-label\", \"\"], [\"\", \"matTabLabel\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatTabLabel.ctorParameters = () => [\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_TAB,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabLabel, [{\n type: Directive,\n args: [{\n selector: '[mat-tab-label], [matTabLabel]',\n providers: [{ provide: MAT_TAB_LABEL, useExisting: MatTabLabel }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_TAB]\n }, {\n type: Optional\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Boilerplate for applying mixins to MatTab.\n/** @docs-private */\nconst _MatTabBase = mixinDisabled(class {\n});\n/**\n * Used to provide a tab group to a tab without causing a circular dependency.\n * @docs-private\n */\nconst MAT_TAB_GROUP = new InjectionToken('MAT_TAB_GROUP');\nclass MatTab extends _MatTabBase {\n constructor(_viewContainerRef, _closestTabGroup) {\n super();\n this._viewContainerRef = _viewContainerRef;\n this._closestTabGroup = _closestTabGroup;\n /** Plain text label for the tab, used when there is no template label. */\n this.textLabel = '';\n /** Portal that will be the hosted content of the tab */\n this._contentPortal = null;\n /** Emits whenever the internal state of the tab changes. */\n this._stateChanges = new Subject();\n /**\n * The relatively indexed position where 0 represents the center, negative is left, and positive\n * represents the right.\n */\n this.position = null;\n /**\n * The initial relatively index origin of the tab if it was created and selected after there\n * was already a selected tab. Provides context of what position the tab should originate from.\n */\n this.origin = null;\n /**\n * Whether the tab is currently active.\n */\n this.isActive = false;\n }\n /** Content for the tab label given by ``. */\n get templateLabel() { return this._templateLabel; }\n set templateLabel(value) { this._setTemplateLabelInput(value); }\n /** @docs-private */\n get content() {\n return this._contentPortal;\n }\n ngOnChanges(changes) {\n if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {\n this._stateChanges.next();\n }\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n ngOnInit() {\n this._contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this._viewContainerRef);\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setTemplateLabelInput(value) {\n // Only update the label if the query managed to find one. This works around an issue where a\n // user may have manually set `templateLabel` during creation mode, which would then get\n // clobbered by `undefined` when the query resolves. Also note that we check that the closest\n // tab matches the current one so that we don't pick up labels from nested tabs.\n if (value && value._closestTab === this) {\n this._templateLabel = value;\n }\n }\n}\nMatTab.ɵfac = function MatTab_Factory(t) { return new (t || MatTab)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(MAT_TAB_GROUP, 8)); };\nMatTab.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTab, selectors: [[\"mat-tab\"]], contentQueries: function MatTab_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_TAB_LABEL, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_TAB_CONTENT, 7, TemplateRef);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.templateLabel = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._explicitContent = _t.first);\n } }, viewQuery: function MatTab_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(TemplateRef, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._implicitContent = _t.first);\n } }, inputs: { disabled: \"disabled\", textLabel: [\"label\", \"textLabel\"], ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"] }, exportAs: [\"matTab\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_TAB, useExisting: MatTab }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function MatTab_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, MatTab_ng_template_0_Template, 1, 0, \"ng-template\");\n } }, encapsulation: 2 });\nMatTab.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_TAB_GROUP,] }, { type: Optional }] }\n];\nMatTab.propDecorators = {\n templateLabel: [{ type: ContentChild, args: [MAT_TAB_LABEL,] }],\n _explicitContent: [{ type: ContentChild, args: [MAT_TAB_CONTENT, { read: TemplateRef, static: true },] }],\n _implicitContent: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n textLabel: [{ type: Input, args: ['label',] }],\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTab, [{\n type: Component,\n args: [{\n selector: 'mat-tab',\n template: \"\\n\\n\",\n inputs: ['disabled'],\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matTab',\n providers: [{ provide: MAT_TAB, useExisting: MatTab }]\n }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_TAB_GROUP]\n }, {\n type: Optional\n }] }]; }, { textLabel: [{\n type: Input,\n args: ['label']\n }], templateLabel: [{\n type: ContentChild,\n args: [MAT_TAB_LABEL]\n }], _explicitContent: [{\n type: ContentChild,\n args: [MAT_TAB_CONTENT, { read: TemplateRef, static: true }]\n }], _implicitContent: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Animations used by the Material tabs.\n * @docs-private\n */\nconst matTabsAnimations = {\n /** Animation translates a tab along the X axis. */\n translateTab: trigger('translateTab', [\n // Note: transitions to `none` instead of 0, because some browsers might blur the content.\n state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),\n // If the tab is either on the left or right, we additionally add a `min-height` of 1px\n // in order to ensure that the element has a height before its state changes. This is\n // necessary because Chrome does seem to skip the transition in RTL mode if the element does\n // not have a static height and is not rendered. See related issue: #9465\n state('left', style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),\n state('right', style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),\n transition('* => left, * => right, left => center, right => center', animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),\n transition('void => left-origin-center', [\n style({ transform: 'translate3d(-100%, 0, 0)' }),\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')\n ]),\n transition('void => right-origin-center', [\n style({ transform: 'translate3d(100%, 0, 0)' }),\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')\n ])\n ])\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The portal host directive for the contents of the tab.\n * @docs-private\n */\nclass MatTabBodyPortal extends CdkPortalOutlet {\n constructor(componentFactoryResolver, viewContainerRef, _host, _document) {\n super(componentFactoryResolver, viewContainerRef, _document);\n this._host = _host;\n /** Subscription to events for when the tab body begins centering. */\n this._centeringSub = Subscription.EMPTY;\n /** Subscription to events for when the tab body finishes leaving from center position. */\n this._leavingSub = Subscription.EMPTY;\n }\n /** Set initial visibility or set up subscription for changing visibility. */\n ngOnInit() {\n super.ngOnInit();\n this._centeringSub = this._host._beforeCentering\n .pipe(startWith(this._host._isCenterPosition(this._host._position)))\n .subscribe((isCentering) => {\n if (isCentering && !this.hasAttached()) {\n this.attach(this._host._content);\n }\n });\n this._leavingSub = this._host._afterLeavingCenter.subscribe(() => {\n this.detach();\n });\n }\n /** Clean up centering subscription. */\n ngOnDestroy() {\n super.ngOnDestroy();\n this._centeringSub.unsubscribe();\n this._leavingSub.unsubscribe();\n }\n}\nMatTabBodyPortal.ɵfac = function MatTabBodyPortal_Factory(t) { return new (t || MatTabBodyPortal)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(forwardRef(() => MatTabBody)), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nMatTabBodyPortal.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTabBodyPortal, selectors: [[\"\", \"matTabBodyHost\", \"\"]], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatTabBodyPortal.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: MatTabBody, decorators: [{ type: Inject, args: [forwardRef(() => MatTabBody),] }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabBodyPortal, [{\n type: Directive,\n args: [{\n selector: '[matTabBodyHost]'\n }]\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: MatTabBody, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatTabBody)]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/**\n * Base class with all of the `MatTabBody` functionality.\n * @docs-private\n */\nclass _MatTabBodyBase {\n constructor(_elementRef, _dir, changeDetectorRef) {\n this._elementRef = _elementRef;\n this._dir = _dir;\n /** Subscription to the directionality change observable. */\n this._dirChangeSubscription = Subscription.EMPTY;\n /** Emits when an animation on the tab is complete. */\n this._translateTabComplete = new Subject();\n /** Event emitted when the tab begins to animate towards the center as the active tab. */\n this._onCentering = new EventEmitter();\n /** Event emitted before the centering of the tab begins. */\n this._beforeCentering = new EventEmitter();\n /** Event emitted before the centering of the tab begins. */\n this._afterLeavingCenter = new EventEmitter();\n /** Event emitted when the tab completes its animation towards the center. */\n this._onCentered = new EventEmitter(true);\n // Note that the default value will always be overwritten by `MatTabBody`, but we need one\n // anyway to prevent the animations module from throwing an error if the body is used on its own.\n /** Duration for the tab's animation. */\n this.animationDuration = '500ms';\n if (_dir) {\n this._dirChangeSubscription = _dir.change.subscribe((dir) => {\n this._computePositionAnimationState(dir);\n changeDetectorRef.markForCheck();\n });\n }\n // Ensure that we get unique animation events, because the `.done` callback can get\n // invoked twice in some browsers. See https://github.com/angular/angular/issues/24084.\n this._translateTabComplete.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n })).subscribe(event => {\n // If the transition to the center is complete, emit an event.\n if (this._isCenterPosition(event.toState) && this._isCenterPosition(this._position)) {\n this._onCentered.emit();\n }\n if (this._isCenterPosition(event.fromState) && !this._isCenterPosition(this._position)) {\n this._afterLeavingCenter.emit();\n }\n });\n }\n /** The shifted index position of the tab body, where zero represents the active center tab. */\n set position(position) {\n this._positionIndex = position;\n this._computePositionAnimationState();\n }\n /**\n * After initialized, check if the content is centered and has an origin. If so, set the\n * special position states that transition the tab from the left or right before centering.\n */\n ngOnInit() {\n if (this._position == 'center' && this.origin != null) {\n this._position = this._computePositionFromOrigin(this.origin);\n }\n }\n ngOnDestroy() {\n this._dirChangeSubscription.unsubscribe();\n this._translateTabComplete.complete();\n }\n _onTranslateTabStarted(event) {\n const isCentering = this._isCenterPosition(event.toState);\n this._beforeCentering.emit(isCentering);\n if (isCentering) {\n this._onCentering.emit(this._elementRef.nativeElement.clientHeight);\n }\n }\n /** The text direction of the containing app. */\n _getLayoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Whether the provided position state is considered center, regardless of origin. */\n _isCenterPosition(position) {\n return position == 'center' ||\n position == 'left-origin-center' ||\n position == 'right-origin-center';\n }\n /** Computes the position state that will be used for the tab-body animation trigger. */\n _computePositionAnimationState(dir = this._getLayoutDirection()) {\n if (this._positionIndex < 0) {\n this._position = dir == 'ltr' ? 'left' : 'right';\n }\n else if (this._positionIndex > 0) {\n this._position = dir == 'ltr' ? 'right' : 'left';\n }\n else {\n this._position = 'center';\n }\n }\n /**\n * Computes the position state based on the specified origin position. This is used if the\n * tab is becoming visible immediately after creation.\n */\n _computePositionFromOrigin(origin) {\n const dir = this._getLayoutDirection();\n if ((dir == 'ltr' && origin <= 0) || (dir == 'rtl' && origin > 0)) {\n return 'left-origin-center';\n }\n return 'right-origin-center';\n }\n}\n_MatTabBodyBase.ɵfac = function _MatTabBodyBase_Factory(t) { return new (t || _MatTabBodyBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\n_MatTabBodyBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatTabBodyBase, inputs: { animationDuration: \"animationDuration\", position: \"position\", _content: [\"content\", \"_content\"], origin: \"origin\" }, outputs: { _onCentering: \"_onCentering\", _beforeCentering: \"_beforeCentering\", _afterLeavingCenter: \"_afterLeavingCenter\", _onCentered: \"_onCentered\" } });\n_MatTabBodyBase.ctorParameters = () => [\n { type: ElementRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ChangeDetectorRef }\n];\n_MatTabBodyBase.propDecorators = {\n _onCentering: [{ type: Output }],\n _beforeCentering: [{ type: Output }],\n _afterLeavingCenter: [{ type: Output }],\n _onCentered: [{ type: Output }],\n _content: [{ type: Input, args: ['content',] }],\n origin: [{ type: Input }],\n animationDuration: [{ type: Input }],\n position: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatTabBodyBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.ChangeDetectorRef }]; }, { _onCentering: [{\n type: Output\n }], _beforeCentering: [{\n type: Output\n }], _afterLeavingCenter: [{\n type: Output\n }], _onCentered: [{\n type: Output\n }], animationDuration: [{\n type: Input\n }], position: [{\n type: Input\n }], _content: [{\n type: Input,\n args: ['content']\n }], origin: [{\n type: Input\n }] }); })();\n/**\n * Wrapper for the contents of a tab.\n * @docs-private\n */\nclass MatTabBody extends _MatTabBodyBase {\n constructor(elementRef, dir, changeDetectorRef) {\n super(elementRef, dir, changeDetectorRef);\n }\n}\nMatTabBody.ɵfac = function MatTabBody_Factory(t) { return new (t || MatTabBody)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nMatTabBody.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTabBody, selectors: [[\"mat-tab-body\"]], viewQuery: function MatTabBody_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(CdkPortalOutlet, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._portalHost = _t.first);\n } }, hostAttrs: [1, \"mat-tab-body\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 6, consts: [[\"cdkScrollable\", \"\", 1, \"mat-tab-body-content\"], [\"content\", \"\"], [\"matTabBodyHost\", \"\"]], template: function MatTabBody_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵlistener(\"@translateTab.start\", function MatTabBody_Template_div_animation_translateTab_start_0_listener($event) { return ctx._onTranslateTabStarted($event); })(\"@translateTab.done\", function MatTabBody_Template_div_animation_translateTab_done_0_listener($event) { return ctx._translateTabComplete.next($event); });\n ɵngcc0.ɵɵtemplate(2, MatTabBody_ng_template_2_Template, 0, 0, \"ng-template\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"@translateTab\", ɵngcc0.ɵɵpureFunction2(3, _c2, ctx._position, ɵngcc0.ɵɵpureFunction1(1, _c1, ctx.animationDuration)));\n } }, directives: [MatTabBodyPortal], styles: [\".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}\\n\"], encapsulation: 2, data: { animation: [matTabsAnimations.translateTab] } });\nMatTabBody.ctorParameters = () => [\n { type: ElementRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ChangeDetectorRef }\n];\nMatTabBody.propDecorators = {\n _portalHost: [{ type: ViewChild, args: [CdkPortalOutlet,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabBody, [{\n type: Component,\n args: [{\n selector: 'mat-tab-body',\n template: \"
\\n \\n
\\n\",\n encapsulation: ViewEncapsulation.None,\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [matTabsAnimations.translateTab],\n host: {\n 'class': 'mat-tab-body'\n },\n styles: [\".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.ChangeDetectorRef }]; }, { _portalHost: [{\n type: ViewChild,\n args: [CdkPortalOutlet]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token that can be used to provide the default options the tabs module. */\nconst MAT_TABS_CONFIG = new InjectionToken('MAT_TABS_CONFIG');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID's for each tab component */\nlet nextId = 0;\n/** A simple change event emitted on focus or selection changes. */\nclass MatTabChangeEvent {\n}\n// Boilerplate for applying mixins to MatTabGroup.\n/** @docs-private */\nconst _MatTabGroupMixinBase = mixinColor(mixinDisableRipple(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}), 'primary');\n/**\n * Base class with all of the `MatTabGroupBase` functionality.\n * @docs-private\n */\nclass _MatTabGroupBase extends _MatTabGroupMixinBase {\n constructor(elementRef, _changeDetectorRef, defaultConfig, _animationMode) {\n var _a;\n super(elementRef);\n this._changeDetectorRef = _changeDetectorRef;\n this._animationMode = _animationMode;\n /** All of the tabs that belong to the group. */\n this._tabs = new QueryList();\n /** The tab index that should be selected after the content has been checked. */\n this._indexToSelect = 0;\n /** Snapshot of the height of the tab body wrapper before another tab is activated. */\n this._tabBodyWrapperHeight = 0;\n /** Subscription to tabs being added/removed. */\n this._tabsSubscription = Subscription.EMPTY;\n /** Subscription to changes in the tab labels. */\n this._tabLabelSubscription = Subscription.EMPTY;\n this._selectedIndex = null;\n /** Position of the tab header. */\n this.headerPosition = 'above';\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n this.selectedIndexChange = new EventEmitter();\n /** Event emitted when focus has changed within a tab group. */\n this.focusChange = new EventEmitter();\n /** Event emitted when the body animation has completed */\n this.animationDone = new EventEmitter();\n /** Event emitted when the tab selection has changed. */\n this.selectedTabChange = new EventEmitter(true);\n this._groupId = nextId++;\n this.animationDuration = defaultConfig && defaultConfig.animationDuration ?\n defaultConfig.animationDuration : '500ms';\n this.disablePagination = defaultConfig && defaultConfig.disablePagination != null ?\n defaultConfig.disablePagination : false;\n this.dynamicHeight = defaultConfig && defaultConfig.dynamicHeight != null ?\n defaultConfig.dynamicHeight : false;\n this.contentTabIndex = (_a = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.contentTabIndex) !== null && _a !== void 0 ? _a : null;\n }\n /** Whether the tab group should grow to the size of the active tab. */\n get dynamicHeight() { return this._dynamicHeight; }\n set dynamicHeight(value) { this._dynamicHeight = coerceBooleanProperty(value); }\n /** The index of the active tab. */\n get selectedIndex() { return this._selectedIndex; }\n set selectedIndex(value) {\n this._indexToSelect = coerceNumberProperty(value, null);\n }\n /** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */\n get animationDuration() { return this._animationDuration; }\n set animationDuration(value) {\n this._animationDuration = /^\\d+$/.test(value) ? value + 'ms' : value;\n }\n /**\n * `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved\n * accessibility when the tab does not have focusable elements or if it has scrollable content.\n * The `tabindex` will be removed automatically for inactive tabs.\n * Read more at https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-2/tabs.html\n */\n get contentTabIndex() { return this._contentTabIndex; }\n set contentTabIndex(value) {\n this._contentTabIndex = coerceNumberProperty(value, null);\n }\n /** Background color of the tab group. */\n get backgroundColor() { return this._backgroundColor; }\n set backgroundColor(value) {\n const nativeElement = this._elementRef.nativeElement;\n nativeElement.classList.remove(`mat-background-${this.backgroundColor}`);\n if (value) {\n nativeElement.classList.add(`mat-background-${value}`);\n }\n this._backgroundColor = value;\n }\n /**\n * After the content is checked, this component knows what tabs have been defined\n * and what the selected index should be. This is where we can know exactly what position\n * each tab should be in according to the new selected index, and additionally we know how\n * a new selected tab should transition in (from the left or right).\n */\n ngAfterContentChecked() {\n // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n // the amount of tabs changes before the actual change detection runs.\n const indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);\n // If there is a change in selected index, emit a change event. Should not trigger if\n // the selected index has not yet been initialized.\n if (this._selectedIndex != indexToSelect) {\n const isFirstRun = this._selectedIndex == null;\n if (!isFirstRun) {\n this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));\n // Preserve the height so page doesn't scroll up during tab change.\n // Fixes https://stackblitz.com/edit/mat-tabs-scroll-page-top-on-tab-change\n const wrapper = this._tabBodyWrapper.nativeElement;\n wrapper.style.minHeight = wrapper.clientHeight + 'px';\n }\n // Changing these values after change detection has run\n // since the checked content may contain references to them.\n Promise.resolve().then(() => {\n this._tabs.forEach((tab, index) => tab.isActive = index === indexToSelect);\n if (!isFirstRun) {\n this.selectedIndexChange.emit(indexToSelect);\n // Clear the min-height, this was needed during tab change to avoid\n // unnecessary scrolling.\n this._tabBodyWrapper.nativeElement.style.minHeight = '';\n }\n });\n }\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\n this._tabs.forEach((tab, index) => {\n tab.position = index - indexToSelect;\n // If there is already a selected tab, then set up an origin for the next selected tab\n // if it doesn't have one already.\n if (this._selectedIndex != null && tab.position == 0 && !tab.origin) {\n tab.origin = indexToSelect - this._selectedIndex;\n }\n });\n if (this._selectedIndex !== indexToSelect) {\n this._selectedIndex = indexToSelect;\n this._changeDetectorRef.markForCheck();\n }\n }\n ngAfterContentInit() {\n this._subscribeToAllTabChanges();\n this._subscribeToTabLabels();\n // Subscribe to changes in the amount of tabs, in order to be\n // able to re-render the content as new tabs are added or removed.\n this._tabsSubscription = this._tabs.changes.subscribe(() => {\n const indexToSelect = this._clampTabIndex(this._indexToSelect);\n // Maintain the previously-selected tab if a new tab is added or removed and there is no\n // explicit change that selects a different tab.\n if (indexToSelect === this._selectedIndex) {\n const tabs = this._tabs.toArray();\n for (let i = 0; i < tabs.length; i++) {\n if (tabs[i].isActive) {\n // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed\n // event, otherwise the consumer may end up in an infinite loop in some edge cases like\n // adding a tab within the `selectedIndexChange` event.\n this._indexToSelect = this._selectedIndex = i;\n break;\n }\n }\n }\n this._changeDetectorRef.markForCheck();\n });\n }\n /** Listens to changes in all of the tabs. */\n _subscribeToAllTabChanges() {\n // Since we use a query with `descendants: true` to pick up the tabs, we may end up catching\n // some that are inside of nested tab groups. We filter them out manually by checking that\n // the closest group to the tab is the current one.\n this._allTabs.changes\n .pipe(startWith(this._allTabs))\n .subscribe((tabs) => {\n this._tabs.reset(tabs.filter(tab => {\n return tab._closestTabGroup === this || !tab._closestTabGroup;\n }));\n this._tabs.notifyOnChanges();\n });\n }\n ngOnDestroy() {\n this._tabs.destroy();\n this._tabsSubscription.unsubscribe();\n this._tabLabelSubscription.unsubscribe();\n }\n /** Re-aligns the ink bar to the selected tab element. */\n realignInkBar() {\n if (this._tabHeader) {\n this._tabHeader._alignInkBarToSelectedTab();\n }\n }\n /**\n * Sets focus to a particular tab.\n * @param index Index of the tab to be focused.\n */\n focusTab(index) {\n const header = this._tabHeader;\n if (header) {\n header.focusIndex = index;\n }\n }\n _focusChanged(index) {\n this.focusChange.emit(this._createChangeEvent(index));\n }\n _createChangeEvent(index) {\n const event = new MatTabChangeEvent;\n event.index = index;\n if (this._tabs && this._tabs.length) {\n event.tab = this._tabs.toArray()[index];\n }\n return event;\n }\n /**\n * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is\n * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the\n * binding to be updated, we need to subscribe to changes in it and trigger change detection\n * manually.\n */\n _subscribeToTabLabels() {\n if (this._tabLabelSubscription) {\n this._tabLabelSubscription.unsubscribe();\n }\n this._tabLabelSubscription = merge(...this._tabs.map(tab => tab._stateChanges))\n .subscribe(() => this._changeDetectorRef.markForCheck());\n }\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n _clampTabIndex(index) {\n // Note the `|| 0`, which ensures that values like NaN can't get through\n // and which would otherwise throw the component into an infinite loop\n // (since Math.max(NaN, 0) === NaN).\n return Math.min(this._tabs.length - 1, Math.max(index || 0, 0));\n }\n /** Returns a unique id for each tab label element */\n _getTabLabelId(i) {\n return `mat-tab-label-${this._groupId}-${i}`;\n }\n /** Returns a unique id for each tab content element */\n _getTabContentId(i) {\n return `mat-tab-content-${this._groupId}-${i}`;\n }\n /**\n * Sets the height of the body wrapper to the height of the activating tab if dynamic\n * height property is true.\n */\n _setTabBodyWrapperHeight(tabHeight) {\n if (!this._dynamicHeight || !this._tabBodyWrapperHeight) {\n return;\n }\n const wrapper = this._tabBodyWrapper.nativeElement;\n wrapper.style.height = this._tabBodyWrapperHeight + 'px';\n // This conditional forces the browser to paint the height so that\n // the animation to the new height can have an origin.\n if (this._tabBodyWrapper.nativeElement.offsetHeight) {\n wrapper.style.height = tabHeight + 'px';\n }\n }\n /** Removes the height of the tab body wrapper. */\n _removeTabBodyWrapperHeight() {\n const wrapper = this._tabBodyWrapper.nativeElement;\n this._tabBodyWrapperHeight = wrapper.clientHeight;\n wrapper.style.height = '';\n this.animationDone.emit();\n }\n /** Handle click events, setting new selected index if appropriate. */\n _handleClick(tab, tabHeader, index) {\n if (!tab.disabled) {\n this.selectedIndex = tabHeader.focusIndex = index;\n }\n }\n /** Retrieves the tabindex for the tab. */\n _getTabIndex(tab, idx) {\n if (tab.disabled) {\n return null;\n }\n return this.selectedIndex === idx ? 0 : -1;\n }\n /** Callback for when the focused state of a tab has changed. */\n _tabFocusChanged(focusOrigin, index) {\n // Mouse/touch focus happens during the `mousedown`/`touchstart` phase which\n // can cause the tab to be moved out from under the pointer, interrupting the\n // click sequence (see #21898). We don't need to scroll the tab into view for\n // such cases anyway, because it will be done when the tab becomes selected.\n if (focusOrigin && focusOrigin !== 'mouse' && focusOrigin !== 'touch') {\n this._tabHeader.focusIndex = index;\n }\n }\n}\n_MatTabGroupBase.ɵfac = function _MatTabGroupBase_Factory(t) { return new (t || _MatTabGroupBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_TABS_CONFIG, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\n_MatTabGroupBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatTabGroupBase, inputs: { headerPosition: \"headerPosition\", animationDuration: \"animationDuration\", disablePagination: \"disablePagination\", dynamicHeight: \"dynamicHeight\", contentTabIndex: \"contentTabIndex\", selectedIndex: \"selectedIndex\", backgroundColor: \"backgroundColor\" }, outputs: { selectedIndexChange: \"selectedIndexChange\", focusChange: \"focusChange\", animationDone: \"animationDone\", selectedTabChange: \"selectedTabChange\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatTabGroupBase.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n_MatTabGroupBase.propDecorators = {\n dynamicHeight: [{ type: Input }],\n selectedIndex: [{ type: Input }],\n headerPosition: [{ type: Input }],\n animationDuration: [{ type: Input }],\n contentTabIndex: [{ type: Input }],\n disablePagination: [{ type: Input }],\n backgroundColor: [{ type: Input }],\n selectedIndexChange: [{ type: Output }],\n focusChange: [{ type: Output }],\n animationDone: [{ type: Output }],\n selectedTabChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatTabGroupBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_TABS_CONFIG]\n }, {\n type: Optional\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { headerPosition: [{\n type: Input\n }], selectedIndexChange: [{\n type: Output\n }], focusChange: [{\n type: Output\n }], animationDone: [{\n type: Output\n }], selectedTabChange: [{\n type: Output\n }], animationDuration: [{\n type: Input\n }], disablePagination: [{\n type: Input\n }], dynamicHeight: [{\n type: Input\n }], contentTabIndex: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], backgroundColor: [{\n type: Input\n }] }); })();\n/**\n * Material design tab-group component. Supports basic tab pairs (label + content) and includes\n * animated ink-bar, keyboard navigation, and screen reader.\n * See: https://material.io/design/components/tabs.html\n */\nclass MatTabGroup extends _MatTabGroupBase {\n constructor(elementRef, changeDetectorRef, defaultConfig, animationMode) {\n super(elementRef, changeDetectorRef, defaultConfig, animationMode);\n }\n}\nMatTabGroup.ɵfac = function MatTabGroup_Factory(t) { return new (t || MatTabGroup)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_TABS_CONFIG, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatTabGroup.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTabGroup, selectors: [[\"mat-tab-group\"]], contentQueries: function MatTabGroup_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatTab, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._allTabs = _t);\n } }, viewQuery: function MatTabGroup_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c3, 5);\n ɵngcc0.ɵɵviewQuery(_c4, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabBodyWrapper = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabHeader = _t.first);\n } }, hostAttrs: [1, \"mat-tab-group\"], hostVars: 4, hostBindings: function MatTabGroup_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-tab-group-dynamic-height\", ctx.dynamicHeight)(\"mat-tab-group-inverted-header\", ctx.headerPosition === \"below\");\n } }, inputs: { color: \"color\", disableRipple: \"disableRipple\" }, exportAs: [\"matTabGroup\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_TAB_GROUP,\n useExisting: MatTabGroup\n }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 6, vars: 7, consts: [[3, \"selectedIndex\", \"disableRipple\", \"disablePagination\", \"indexFocused\", \"selectFocusedIndex\"], [\"tabHeader\", \"\"], [\"class\", \"mat-tab-label mat-focus-indicator\", \"role\", \"tab\", \"matTabLabelWrapper\", \"\", \"mat-ripple\", \"\", \"cdkMonitorElementFocus\", \"\", 3, \"id\", \"mat-tab-label-active\", \"disabled\", \"matRippleDisabled\", \"click\", \"cdkFocusChange\", 4, \"ngFor\", \"ngForOf\"], [1, \"mat-tab-body-wrapper\"], [\"tabBodyWrapper\", \"\"], [\"role\", \"tabpanel\", 3, \"id\", \"mat-tab-body-active\", \"content\", \"position\", \"origin\", \"animationDuration\", \"_onCentered\", \"_onCentering\", 4, \"ngFor\", \"ngForOf\"], [\"role\", \"tab\", \"matTabLabelWrapper\", \"\", \"mat-ripple\", \"\", \"cdkMonitorElementFocus\", \"\", 1, \"mat-tab-label\", \"mat-focus-indicator\", 3, \"id\", \"disabled\", \"matRippleDisabled\", \"click\", \"cdkFocusChange\"], [1, \"mat-tab-label-content\"], [3, \"ngIf\"], [3, \"cdkPortalOutlet\"], [\"role\", \"tabpanel\", 3, \"id\", \"content\", \"position\", \"origin\", \"animationDuration\", \"_onCentered\", \"_onCentering\"]], template: function MatTabGroup_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"mat-tab-header\", 0, 1);\n ɵngcc0.ɵɵlistener(\"indexFocused\", function MatTabGroup_Template_mat_tab_header_indexFocused_0_listener($event) { return ctx._focusChanged($event); })(\"selectFocusedIndex\", function MatTabGroup_Template_mat_tab_header_selectFocusedIndex_0_listener($event) { return ctx.selectedIndex = $event; });\n ɵngcc0.ɵɵtemplate(2, MatTabGroup_div_2_Template, 4, 14, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"div\", 3, 4);\n ɵngcc0.ɵɵtemplate(5, MatTabGroup_mat_tab_body_5_Template, 1, 9, \"mat-tab-body\", 5);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"selectedIndex\", ctx.selectedIndex || 0)(\"disableRipple\", ctx.disableRipple)(\"disablePagination\", ctx.disablePagination);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx._tabs);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx._tabs);\n } }, directives: function () { return [MatTabHeader, ɵngcc2.NgForOf, MatTabLabelWrapper, ɵngcc3.MatRipple, ɵngcc4.CdkMonitorFocus, ɵngcc2.NgIf, ɵngcc5.CdkPortalOutlet, MatTabBody]; }, styles: [\".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\\n\"], encapsulation: 2 });\nMatTabGroup.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatTabGroup.propDecorators = {\n _allTabs: [{ type: ContentChildren, args: [MatTab, { descendants: true },] }],\n _tabBodyWrapper: [{ type: ViewChild, args: ['tabBodyWrapper',] }],\n _tabHeader: [{ type: ViewChild, args: ['tabHeader',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabGroup, [{\n type: Component,\n args: [{\n selector: 'mat-tab-group',\n exportAs: 'matTabGroup',\n template: \"\\n
\\n\\n\\n
\\n \\n \\n \\n \\n\\n \\n {{tab.textLabel}}\\n
\\n
\\n
\\n\\n\\n \\n \\n\\n\",\n encapsulation: ViewEncapsulation.None,\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n inputs: ['color', 'disableRipple'],\n providers: [{\n provide: MAT_TAB_GROUP,\n useExisting: MatTabGroup\n }],\n host: {\n 'class': 'mat-tab-group',\n '[class.mat-tab-group-dynamic-height]': 'dynamicHeight',\n '[class.mat-tab-group-inverted-header]': 'headerPosition === \"below\"'\n },\n styles: [\".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_TABS_CONFIG]\n }, {\n type: Optional\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { _allTabs: [{\n type: ContentChildren,\n args: [MatTab, { descendants: true }]\n }], _tabBodyWrapper: [{\n type: ViewChild,\n args: ['tabBodyWrapper']\n }], _tabHeader: [{\n type: ViewChild,\n args: ['tabHeader']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Boilerplate for applying mixins to MatTabLabelWrapper.\n/** @docs-private */\nconst _MatTabLabelWrapperBase = mixinDisabled(class {\n});\n/**\n * Used in the `mat-tab-group` view to display tab labels.\n * @docs-private\n */\nclass MatTabLabelWrapper extends _MatTabLabelWrapperBase {\n constructor(elementRef) {\n super();\n this.elementRef = elementRef;\n }\n /** Sets focus on the wrapper element */\n focus() {\n this.elementRef.nativeElement.focus();\n }\n getOffsetLeft() {\n return this.elementRef.nativeElement.offsetLeft;\n }\n getOffsetWidth() {\n return this.elementRef.nativeElement.offsetWidth;\n }\n}\nMatTabLabelWrapper.ɵfac = function MatTabLabelWrapper_Factory(t) { return new (t || MatTabLabelWrapper)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nMatTabLabelWrapper.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTabLabelWrapper, selectors: [[\"\", \"matTabLabelWrapper\", \"\"]], hostVars: 3, hostBindings: function MatTabLabelWrapper_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-disabled\", !!ctx.disabled);\n ɵngcc0.ɵɵclassProp(\"mat-tab-disabled\", ctx.disabled);\n } }, inputs: { disabled: \"disabled\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatTabLabelWrapper.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabLabelWrapper, [{\n type: Directive,\n args: [{\n selector: '[matTabLabelWrapper]',\n inputs: ['disabled'],\n host: {\n '[class.mat-tab-disabled]': 'disabled',\n '[attr.aria-disabled]': '!!disabled'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Config used to bind passive event listeners */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * The distance in pixels that will be overshot when scrolling a tab label into view. This helps\n * provide a small affordance to the label next to it.\n */\nconst EXAGGERATED_OVERSCROLL = 60;\n/**\n * Amount of milliseconds to wait before starting to scroll the header automatically.\n * Set a little conservatively in order to handle fake events dispatched on touch devices.\n */\nconst HEADER_SCROLL_DELAY = 650;\n/**\n * Interval in milliseconds at which to scroll the header\n * while the user is holding their pointer.\n */\nconst HEADER_SCROLL_INTERVAL = 100;\n/**\n * Base class for a tab header that supported pagination.\n * @docs-private\n */\nclass MatPaginatedTabHeader {\n constructor(_elementRef, _changeDetectorRef, _viewportRuler, _dir, _ngZone, _platform, _animationMode) {\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._viewportRuler = _viewportRuler;\n this._dir = _dir;\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._animationMode = _animationMode;\n /** The distance in pixels that the tab labels should be translated to the left. */\n this._scrollDistance = 0;\n /** Whether the header should scroll to the selected index after the view has been checked. */\n this._selectedIndexChanged = false;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Whether the controls for pagination should be displayed */\n this._showPaginationControls = false;\n /** Whether the tab list can be scrolled more towards the end of the tab label list. */\n this._disableScrollAfter = true;\n /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */\n this._disableScrollBefore = true;\n /** Stream that will stop the automated scrolling. */\n this._stopScrolling = new Subject();\n /**\n * Whether pagination should be disabled. This can be used to avoid unnecessary\n * layout recalculations if it's known that pagination won't be required.\n */\n this.disablePagination = false;\n this._selectedIndex = 0;\n /** Event emitted when the option is selected. */\n this.selectFocusedIndex = new EventEmitter();\n /** Event emitted when a label is focused. */\n this.indexFocused = new EventEmitter();\n // Bind the `mouseleave` event on the outside since it doesn't change anything in the view.\n _ngZone.runOutsideAngular(() => {\n fromEvent(_elementRef.nativeElement, 'mouseleave')\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n this._stopInterval();\n });\n });\n }\n /** The index of the active tab. */\n get selectedIndex() { return this._selectedIndex; }\n set selectedIndex(value) {\n value = coerceNumberProperty(value);\n if (this._selectedIndex != value) {\n this._selectedIndexChanged = true;\n this._selectedIndex = value;\n if (this._keyManager) {\n this._keyManager.updateActiveItem(value);\n }\n }\n }\n ngAfterViewInit() {\n // We need to handle these events manually, because we want to bind passive event listeners.\n fromEvent(this._previousPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n this._handlePaginatorPress('before');\n });\n fromEvent(this._nextPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => {\n this._handlePaginatorPress('after');\n });\n }\n ngAfterContentInit() {\n const dirChange = this._dir ? this._dir.change : of('ltr');\n const resize = this._viewportRuler.change(150);\n const realign = () => {\n this.updatePagination();\n this._alignInkBarToSelectedTab();\n };\n this._keyManager = new FocusKeyManager(this._items)\n .withHorizontalOrientation(this._getLayoutDirection())\n .withHomeAndEnd()\n .withWrap();\n this._keyManager.updateActiveItem(this._selectedIndex);\n // Defer the first call in order to allow for slower browsers to lay out the elements.\n // This helps in cases where the user lands directly on a page with paginated tabs.\n typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();\n // On dir change or window resize, realign the ink bar and update the orientation of\n // the key manager if the direction has changed.\n merge(dirChange, resize, this._items.changes).pipe(takeUntil(this._destroyed)).subscribe(() => {\n // We need to defer this to give the browser some time to recalculate\n // the element dimensions. The call has to be wrapped in `NgZone.run`,\n // because the viewport change handler runs outside of Angular.\n this._ngZone.run(() => Promise.resolve().then(realign));\n this._keyManager.withHorizontalOrientation(this._getLayoutDirection());\n });\n // If there is a change in the focus key manager we need to emit the `indexFocused`\n // event in order to provide a public event that notifies about focus changes. Also we realign\n // the tabs container by scrolling the new focused tab into the visible section.\n this._keyManager.change.pipe(takeUntil(this._destroyed)).subscribe(newFocusIndex => {\n this.indexFocused.emit(newFocusIndex);\n this._setTabFocus(newFocusIndex);\n });\n }\n ngAfterContentChecked() {\n // If the number of tab labels have changed, check if scrolling should be enabled\n if (this._tabLabelCount != this._items.length) {\n this.updatePagination();\n this._tabLabelCount = this._items.length;\n this._changeDetectorRef.markForCheck();\n }\n // If the selected index has changed, scroll to the label and check if the scrolling controls\n // should be disabled.\n if (this._selectedIndexChanged) {\n this._scrollToLabel(this._selectedIndex);\n this._checkScrollingControls();\n this._alignInkBarToSelectedTab();\n this._selectedIndexChanged = false;\n this._changeDetectorRef.markForCheck();\n }\n // If the scroll distance has been changed (tab selected, focused, scroll controls activated),\n // then translate the header to reflect this.\n if (this._scrollDistanceChanged) {\n this._updateTabScrollPosition();\n this._scrollDistanceChanged = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n this._stopScrolling.complete();\n }\n /** Handles keyboard events on the header. */\n _handleKeydown(event) {\n // We don't handle any key bindings with a modifier key.\n if (hasModifierKey(event)) {\n return;\n }\n switch (event.keyCode) {\n case ENTER:\n case SPACE:\n if (this.focusIndex !== this.selectedIndex) {\n this.selectFocusedIndex.emit(this.focusIndex);\n this._itemSelected(event);\n }\n break;\n default:\n this._keyManager.onKeydown(event);\n }\n }\n /**\n * Callback for when the MutationObserver detects that the content has changed.\n */\n _onContentChanges() {\n const textContent = this._elementRef.nativeElement.textContent;\n // We need to diff the text content of the header, because the MutationObserver callback\n // will fire even if the text content didn't change which is inefficient and is prone\n // to infinite loops if a poorly constructed expression is passed in (see #14249).\n if (textContent !== this._currentTextContent) {\n this._currentTextContent = textContent || '';\n // The content observer runs outside the `NgZone` by default, which\n // means that we need to bring the callback back in ourselves.\n this._ngZone.run(() => {\n this.updatePagination();\n this._alignInkBarToSelectedTab();\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n /**\n * Updates the view whether pagination should be enabled or not.\n *\n * WARNING: Calling this method can be very costly in terms of performance. It should be called\n * as infrequently as possible from outside of the Tabs component as it causes a reflow of the\n * page.\n */\n updatePagination() {\n this._checkPaginationEnabled();\n this._checkScrollingControls();\n this._updateTabScrollPosition();\n }\n /** Tracks which element has focus; used for keyboard navigation */\n get focusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : 0;\n }\n /** When the focus index is set, we must manually send focus to the correct label */\n set focusIndex(value) {\n if (!this._isValidIndex(value) || this.focusIndex === value || !this._keyManager) {\n return;\n }\n this._keyManager.setActiveItem(value);\n }\n /**\n * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is\n * providing a valid index and return true.\n */\n _isValidIndex(index) {\n if (!this._items) {\n return true;\n }\n const tab = this._items ? this._items.toArray()[index] : null;\n return !!tab && !tab.disabled;\n }\n /**\n * Sets focus on the HTML element for the label wrapper and scrolls it into the view if\n * scrolling is enabled.\n */\n _setTabFocus(tabIndex) {\n if (this._showPaginationControls) {\n this._scrollToLabel(tabIndex);\n }\n if (this._items && this._items.length) {\n this._items.toArray()[tabIndex].focus();\n // Do not let the browser manage scrolling to focus the element, this will be handled\n // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width\n // should be the full width minus the offset width.\n const containerEl = this._tabListContainer.nativeElement;\n const dir = this._getLayoutDirection();\n if (dir == 'ltr') {\n containerEl.scrollLeft = 0;\n }\n else {\n containerEl.scrollLeft = containerEl.scrollWidth - containerEl.offsetWidth;\n }\n }\n }\n /** The layout direction of the containing app. */\n _getLayoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Performs the CSS transformation on the tab list that will cause the list to scroll. */\n _updateTabScrollPosition() {\n if (this.disablePagination) {\n return;\n }\n const scrollDistance = this.scrollDistance;\n const translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;\n // Don't use `translate3d` here because we don't want to create a new layer. A new layer\n // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar\n // and ripples will exceed the boundaries of the visible tab bar.\n // See: https://github.com/angular/components/issues/10276\n // We round the `transform` here, because transforms with sub-pixel precision cause some\n // browsers to blur the content of the element.\n this._tabList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;\n // Setting the `transform` on IE will change the scroll offset of the parent, causing the\n // position to be thrown off in some cases. We have to reset it ourselves to ensure that\n // it doesn't get thrown off. Note that we scope it only to IE and Edge, because messing\n // with the scroll position throws off Chrome 71+ in RTL mode (see #14689).\n if (this._platform.TRIDENT || this._platform.EDGE) {\n this._tabListContainer.nativeElement.scrollLeft = 0;\n }\n }\n /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */\n get scrollDistance() { return this._scrollDistance; }\n set scrollDistance(value) {\n this._scrollTo(value);\n }\n /**\n * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or\n * the end of the list, respectively). The distance to scroll is computed to be a third of the\n * length of the tab list view window.\n *\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n * should be called sparingly.\n */\n _scrollHeader(direction) {\n const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n // Move the scroll distance one-third the length of the tab list's viewport.\n const scrollAmount = (direction == 'before' ? -1 : 1) * viewLength / 3;\n return this._scrollTo(this._scrollDistance + scrollAmount);\n }\n /** Handles click events on the pagination arrows. */\n _handlePaginatorClick(direction) {\n this._stopInterval();\n this._scrollHeader(direction);\n }\n /**\n * Moves the tab list such that the desired tab label (marked by index) is moved into view.\n *\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n * should be called sparingly.\n */\n _scrollToLabel(labelIndex) {\n if (this.disablePagination) {\n return;\n }\n const selectedLabel = this._items ? this._items.toArray()[labelIndex] : null;\n if (!selectedLabel) {\n return;\n }\n // The view length is the visible width of the tab labels.\n const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n const { offsetLeft, offsetWidth } = selectedLabel.elementRef.nativeElement;\n let labelBeforePos, labelAfterPos;\n if (this._getLayoutDirection() == 'ltr') {\n labelBeforePos = offsetLeft;\n labelAfterPos = labelBeforePos + offsetWidth;\n }\n else {\n labelAfterPos = this._tabList.nativeElement.offsetWidth - offsetLeft;\n labelBeforePos = labelAfterPos - offsetWidth;\n }\n const beforeVisiblePos = this.scrollDistance;\n const afterVisiblePos = this.scrollDistance + viewLength;\n if (labelBeforePos < beforeVisiblePos) {\n // Scroll header to move label to the before direction\n this.scrollDistance -= beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;\n }\n else if (labelAfterPos > afterVisiblePos) {\n // Scroll header to move label to the after direction\n this.scrollDistance += labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;\n }\n }\n /**\n * Evaluate whether the pagination controls should be displayed. If the scroll width of the\n * tab list is wider than the size of the header container, then the pagination controls should\n * be shown.\n *\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n * should be called sparingly.\n */\n _checkPaginationEnabled() {\n if (this.disablePagination) {\n this._showPaginationControls = false;\n }\n else {\n const isEnabled = this._tabList.nativeElement.scrollWidth > this._elementRef.nativeElement.offsetWidth;\n if (!isEnabled) {\n this.scrollDistance = 0;\n }\n if (isEnabled !== this._showPaginationControls) {\n this._changeDetectorRef.markForCheck();\n }\n this._showPaginationControls = isEnabled;\n }\n }\n /**\n * Evaluate whether the before and after controls should be enabled or disabled.\n * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the\n * before button. If the header is at the end of the list (scroll distance is equal to the\n * maximum distance we can scroll), then disable the after button.\n *\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n * should be called sparingly.\n */\n _checkScrollingControls() {\n if (this.disablePagination) {\n this._disableScrollAfter = this._disableScrollBefore = true;\n }\n else {\n // Check if the pagination arrows should be activated.\n this._disableScrollBefore = this.scrollDistance == 0;\n this._disableScrollAfter = this.scrollDistance == this._getMaxScrollDistance();\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Determines what is the maximum length in pixels that can be set for the scroll distance. This\n * is equal to the difference in width between the tab list container and tab header container.\n *\n * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n * should be called sparingly.\n */\n _getMaxScrollDistance() {\n const lengthOfTabList = this._tabList.nativeElement.scrollWidth;\n const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n return (lengthOfTabList - viewLength) || 0;\n }\n /** Tells the ink-bar to align itself to the current label wrapper */\n _alignInkBarToSelectedTab() {\n const selectedItem = this._items && this._items.length ?\n this._items.toArray()[this.selectedIndex] : null;\n const selectedLabelWrapper = selectedItem ? selectedItem.elementRef.nativeElement : null;\n if (selectedLabelWrapper) {\n this._inkBar.alignToElement(selectedLabelWrapper);\n }\n else {\n this._inkBar.hide();\n }\n }\n /** Stops the currently-running paginator interval. */\n _stopInterval() {\n this._stopScrolling.next();\n }\n /**\n * Handles the user pressing down on one of the paginators.\n * Starts scrolling the header after a certain amount of time.\n * @param direction In which direction the paginator should be scrolled.\n */\n _handlePaginatorPress(direction, mouseEvent) {\n // Don't start auto scrolling for right mouse button clicks. Note that we shouldn't have to\n // null check the `button`, but we do it so we don't break tests that use fake events.\n if (mouseEvent && mouseEvent.button != null && mouseEvent.button !== 0) {\n return;\n }\n // Avoid overlapping timers.\n this._stopInterval();\n // Start a timer after the delay and keep firing based on the interval.\n timer(HEADER_SCROLL_DELAY, HEADER_SCROLL_INTERVAL)\n // Keep the timer going until something tells it to stop or the component is destroyed.\n .pipe(takeUntil(merge(this._stopScrolling, this._destroyed)))\n .subscribe(() => {\n const { maxScrollDistance, distance } = this._scrollHeader(direction);\n // Stop the timer if we've reached the start or the end.\n if (distance === 0 || distance >= maxScrollDistance) {\n this._stopInterval();\n }\n });\n }\n /**\n * Scrolls the header to a given position.\n * @param position Position to which to scroll.\n * @returns Information on the current scroll distance and the maximum.\n */\n _scrollTo(position) {\n if (this.disablePagination) {\n return { maxScrollDistance: 0, distance: 0 };\n }\n const maxScrollDistance = this._getMaxScrollDistance();\n this._scrollDistance = Math.max(0, Math.min(maxScrollDistance, position));\n // Mark that the scroll distance has changed so that after the view is checked, the CSS\n // transformation can move the header.\n this._scrollDistanceChanged = true;\n this._checkScrollingControls();\n return { maxScrollDistance, distance: this._scrollDistance };\n }\n}\nMatPaginatedTabHeader.ɵfac = function MatPaginatedTabHeader_Factory(t) { return new (t || MatPaginatedTabHeader)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc6.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatPaginatedTabHeader.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatPaginatedTabHeader, inputs: { disablePagination: \"disablePagination\" } });\nMatPaginatedTabHeader.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: NgZone },\n { type: Platform },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatPaginatedTabHeader.propDecorators = {\n disablePagination: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatPaginatedTabHeader, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc6.ViewportRuler }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc7.Platform }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { disablePagination: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Base class with all of the `MatTabHeader` functionality.\n * @docs-private\n */\nclass _MatTabHeaderBase extends MatPaginatedTabHeader {\n constructor(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode) {\n super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);\n this._disableRipple = false;\n }\n /** Whether the ripple effect is disabled or not. */\n get disableRipple() { return this._disableRipple; }\n set disableRipple(value) { this._disableRipple = coerceBooleanProperty(value); }\n _itemSelected(event) {\n event.preventDefault();\n }\n}\n_MatTabHeaderBase.ɵfac = function _MatTabHeaderBase_Factory(t) { return new (t || _MatTabHeaderBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc6.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\n_MatTabHeaderBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatTabHeaderBase, inputs: { disableRipple: \"disableRipple\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatTabHeaderBase.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: NgZone },\n { type: Platform },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n_MatTabHeaderBase.propDecorators = {\n disableRipple: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatTabHeaderBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc6.ViewportRuler }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc7.Platform }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { disableRipple: [{\n type: Input\n }] }); })();\n/**\n * The header of the tab group which displays a list of all the tabs in the tab group. Includes\n * an ink bar that follows the currently selected tab. When the tabs list's width exceeds the\n * width of the header container, then arrows will be displayed to allow the user to scroll\n * left and right across the header.\n * @docs-private\n */\nclass MatTabHeader extends _MatTabHeaderBase {\n constructor(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode) {\n super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);\n }\n}\nMatTabHeader.ɵfac = function MatTabHeader_Factory(t) { return new (t || MatTabHeader)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc6.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatTabHeader.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTabHeader, selectors: [[\"mat-tab-header\"]], contentQueries: function MatTabHeader_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatTabLabelWrapper, 4);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._items = _t);\n } }, viewQuery: function MatTabHeader_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(MatInkBar, 7);\n ɵngcc0.ɵɵviewQuery(_c5, 7);\n ɵngcc0.ɵɵviewQuery(_c6, 7);\n ɵngcc0.ɵɵviewQuery(_c7, 5);\n ɵngcc0.ɵɵviewQuery(_c8, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._inkBar = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabListContainer = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabList = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._nextPaginator = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._previousPaginator = _t.first);\n } }, hostAttrs: [1, \"mat-tab-header\"], hostVars: 4, hostBindings: function MatTabHeader_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-controls-enabled\", ctx._showPaginationControls)(\"mat-tab-header-rtl\", ctx._getLayoutDirection() == \"rtl\");\n } }, inputs: { selectedIndex: \"selectedIndex\" }, outputs: { selectFocusedIndex: \"selectFocusedIndex\", indexFocused: \"indexFocused\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 13, vars: 8, consts: [[\"aria-hidden\", \"true\", \"mat-ripple\", \"\", 1, \"mat-tab-header-pagination\", \"mat-tab-header-pagination-before\", \"mat-elevation-z4\", 3, \"matRippleDisabled\", \"click\", \"mousedown\", \"touchend\"], [\"previousPaginator\", \"\"], [1, \"mat-tab-header-pagination-chevron\"], [1, \"mat-tab-label-container\", 3, \"keydown\"], [\"tabListContainer\", \"\"], [\"role\", \"tablist\", 1, \"mat-tab-list\", 3, \"cdkObserveContent\"], [\"tabList\", \"\"], [1, \"mat-tab-labels\"], [\"aria-hidden\", \"true\", \"mat-ripple\", \"\", 1, \"mat-tab-header-pagination\", \"mat-tab-header-pagination-after\", \"mat-elevation-z4\", 3, \"matRippleDisabled\", \"mousedown\", \"click\", \"touchend\"], [\"nextPaginator\", \"\"]], template: function MatTabHeader_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵlistener(\"click\", function MatTabHeader_Template_div_click_0_listener() { return ctx._handlePaginatorClick(\"before\"); })(\"mousedown\", function MatTabHeader_Template_div_mousedown_0_listener($event) { return ctx._handlePaginatorPress(\"before\", $event); })(\"touchend\", function MatTabHeader_Template_div_touchend_0_listener() { return ctx._stopInterval(); });\n ɵngcc0.ɵɵelement(2, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"div\", 3, 4);\n ɵngcc0.ɵɵlistener(\"keydown\", function MatTabHeader_Template_div_keydown_3_listener($event) { return ctx._handleKeydown($event); });\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵlistener(\"cdkObserveContent\", function MatTabHeader_Template_div_cdkObserveContent_5_listener() { return ctx._onContentChanges(); });\n ɵngcc0.ɵɵelementStart(7, \"div\", 7);\n ɵngcc0.ɵɵprojection(8);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(9, \"mat-ink-bar\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(10, \"div\", 8, 9);\n ɵngcc0.ɵɵlistener(\"mousedown\", function MatTabHeader_Template_div_mousedown_10_listener($event) { return ctx._handlePaginatorPress(\"after\", $event); })(\"click\", function MatTabHeader_Template_div_click_10_listener() { return ctx._handlePaginatorClick(\"after\"); })(\"touchend\", function MatTabHeader_Template_div_touchend_10_listener() { return ctx._stopInterval(); });\n ɵngcc0.ɵɵelement(12, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-disabled\", ctx._disableScrollBefore);\n ɵngcc0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollBefore || ctx.disableRipple);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-disabled\", ctx._disableScrollAfter);\n ɵngcc0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollAfter || ctx.disableRipple);\n } }, directives: [ɵngcc3.MatRipple, ɵngcc8.CdkObserveContent, MatInkBar], styles: [\".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:\\\"\\\";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\\n\"], encapsulation: 2 });\nMatTabHeader.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: NgZone },\n { type: Platform },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatTabHeader.propDecorators = {\n _items: [{ type: ContentChildren, args: [MatTabLabelWrapper, { descendants: false },] }],\n _inkBar: [{ type: ViewChild, args: [MatInkBar, { static: true },] }],\n _tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],\n _tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],\n _nextPaginator: [{ type: ViewChild, args: ['nextPaginator',] }],\n _previousPaginator: [{ type: ViewChild, args: ['previousPaginator',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabHeader, [{\n type: Component,\n args: [{\n selector: 'mat-tab-header',\n template: \"
\\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n \\n
\\n\\n\\n
\\n
\\n
\\n\",\n inputs: ['selectedIndex'],\n outputs: ['selectFocusedIndex', 'indexFocused'],\n encapsulation: ViewEncapsulation.None,\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n 'class': 'mat-tab-header',\n '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',\n '[class.mat-tab-header-rtl]': \"_getLayoutDirection() == 'rtl'\"\n },\n styles: [\".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:\\\"\\\";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc6.ViewportRuler }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc7.Platform }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { _items: [{\n type: ContentChildren,\n args: [MatTabLabelWrapper, { descendants: false }]\n }], _inkBar: [{\n type: ViewChild,\n args: [MatInkBar, { static: true }]\n }], _tabListContainer: [{\n type: ViewChild,\n args: ['tabListContainer', { static: true }]\n }], _tabList: [{\n type: ViewChild,\n args: ['tabList', { static: true }]\n }], _nextPaginator: [{\n type: ViewChild,\n args: ['nextPaginator']\n }], _previousPaginator: [{\n type: ViewChild,\n args: ['previousPaginator']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Base class with all of the `MatTabNav` functionality.\n * @docs-private\n */\nclass _MatTabNavBase extends MatPaginatedTabHeader {\n constructor(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode) {\n super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);\n this._disableRipple = false;\n /** Theme color of the nav bar. */\n this.color = 'primary';\n }\n /** Background color of the tab nav. */\n get backgroundColor() { return this._backgroundColor; }\n set backgroundColor(value) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-background-${this.backgroundColor}`);\n if (value) {\n classList.add(`mat-background-${value}`);\n }\n this._backgroundColor = value;\n }\n /** Whether the ripple effect is disabled or not. */\n get disableRipple() { return this._disableRipple; }\n set disableRipple(value) { this._disableRipple = coerceBooleanProperty(value); }\n _itemSelected() {\n // noop\n }\n ngAfterContentInit() {\n // We need this to run before the `changes` subscription in parent to ensure that the\n // selectedIndex is up-to-date by the time the super class starts looking for it.\n this._items.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n this.updateActiveLink();\n });\n super.ngAfterContentInit();\n }\n /** Notifies the component that the active link has been changed. */\n updateActiveLink() {\n if (!this._items) {\n return;\n }\n const items = this._items.toArray();\n for (let i = 0; i < items.length; i++) {\n if (items[i].active) {\n this.selectedIndex = i;\n this._changeDetectorRef.markForCheck();\n return;\n }\n }\n // The ink bar should hide itself if no items are active.\n this.selectedIndex = -1;\n this._inkBar.hide();\n }\n}\n_MatTabNavBase.ɵfac = function _MatTabNavBase_Factory(t) { return new (t || _MatTabNavBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc6.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\n_MatTabNavBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatTabNavBase, inputs: { color: \"color\", backgroundColor: \"backgroundColor\", disableRipple: \"disableRipple\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatTabNavBase.ctorParameters = () => [\n { type: ElementRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: Platform },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n_MatTabNavBase.propDecorators = {\n backgroundColor: [{ type: Input }],\n disableRipple: [{ type: Input }],\n color: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatTabNavBase, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc6.ViewportRuler }, { type: ɵngcc7.Platform }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { color: [{\n type: Input\n }], backgroundColor: [{\n type: Input\n }], disableRipple: [{\n type: Input\n }] }); })();\n/**\n * Navigation component matching the styles of the tab group header.\n * Provides anchored navigation with animated ink bar.\n */\nclass MatTabNav extends _MatTabNavBase {\n constructor(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode) {\n super(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode);\n }\n}\nMatTabNav.ɵfac = function MatTabNav_Factory(t) { return new (t || MatTabNav)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc6.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatTabNav.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTabNav, selectors: [[\"\", \"mat-tab-nav-bar\", \"\"]], contentQueries: function MatTabNav_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatTabLink, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._items = _t);\n } }, viewQuery: function MatTabNav_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(MatInkBar, 7);\n ɵngcc0.ɵɵviewQuery(_c5, 7);\n ɵngcc0.ɵɵviewQuery(_c6, 7);\n ɵngcc0.ɵɵviewQuery(_c7, 5);\n ɵngcc0.ɵɵviewQuery(_c8, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._inkBar = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabListContainer = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._tabList = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._nextPaginator = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._previousPaginator = _t.first);\n } }, hostAttrs: [1, \"mat-tab-nav-bar\", \"mat-tab-header\"], hostVars: 10, hostBindings: function MatTabNav_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-controls-enabled\", ctx._showPaginationControls)(\"mat-tab-header-rtl\", ctx._getLayoutDirection() == \"rtl\")(\"mat-primary\", ctx.color !== \"warn\" && ctx.color !== \"accent\")(\"mat-accent\", ctx.color === \"accent\")(\"mat-warn\", ctx.color === \"warn\");\n } }, inputs: { color: \"color\" }, exportAs: [\"matTabNavBar\", \"matTabNav\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], attrs: _c9, ngContentSelectors: _c0, decls: 13, vars: 8, consts: [[\"aria-hidden\", \"true\", \"mat-ripple\", \"\", 1, \"mat-tab-header-pagination\", \"mat-tab-header-pagination-before\", \"mat-elevation-z4\", 3, \"matRippleDisabled\", \"click\", \"mousedown\", \"touchend\"], [\"previousPaginator\", \"\"], [1, \"mat-tab-header-pagination-chevron\"], [1, \"mat-tab-link-container\", 3, \"keydown\"], [\"tabListContainer\", \"\"], [1, \"mat-tab-list\", 3, \"cdkObserveContent\"], [\"tabList\", \"\"], [1, \"mat-tab-links\"], [\"aria-hidden\", \"true\", \"mat-ripple\", \"\", 1, \"mat-tab-header-pagination\", \"mat-tab-header-pagination-after\", \"mat-elevation-z4\", 3, \"matRippleDisabled\", \"mousedown\", \"click\", \"touchend\"], [\"nextPaginator\", \"\"]], template: function MatTabNav_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵlistener(\"click\", function MatTabNav_Template_div_click_0_listener() { return ctx._handlePaginatorClick(\"before\"); })(\"mousedown\", function MatTabNav_Template_div_mousedown_0_listener($event) { return ctx._handlePaginatorPress(\"before\", $event); })(\"touchend\", function MatTabNav_Template_div_touchend_0_listener() { return ctx._stopInterval(); });\n ɵngcc0.ɵɵelement(2, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"div\", 3, 4);\n ɵngcc0.ɵɵlistener(\"keydown\", function MatTabNav_Template_div_keydown_3_listener($event) { return ctx._handleKeydown($event); });\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵlistener(\"cdkObserveContent\", function MatTabNav_Template_div_cdkObserveContent_5_listener() { return ctx._onContentChanges(); });\n ɵngcc0.ɵɵelementStart(7, \"div\", 7);\n ɵngcc0.ɵɵprojection(8);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(9, \"mat-ink-bar\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(10, \"div\", 8, 9);\n ɵngcc0.ɵɵlistener(\"mousedown\", function MatTabNav_Template_div_mousedown_10_listener($event) { return ctx._handlePaginatorPress(\"after\", $event); })(\"click\", function MatTabNav_Template_div_click_10_listener() { return ctx._handlePaginatorClick(\"after\"); })(\"touchend\", function MatTabNav_Template_div_touchend_10_listener() { return ctx._stopInterval(); });\n ɵngcc0.ɵɵelement(12, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-disabled\", ctx._disableScrollBefore);\n ɵngcc0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollBefore || ctx.disableRipple);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵclassProp(\"mat-tab-header-pagination-disabled\", ctx._disableScrollAfter);\n ɵngcc0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollAfter || ctx.disableRipple);\n } }, directives: [ɵngcc3.MatRipple, ɵngcc8.CdkObserveContent, MatInkBar], styles: [\".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:\\\"\\\";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\\n\"], encapsulation: 2 });\nMatTabNav.ctorParameters = () => [\n { type: ElementRef },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: ViewportRuler },\n { type: Platform },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatTabNav.propDecorators = {\n _items: [{ type: ContentChildren, args: [forwardRef(() => MatTabLink), { descendants: true },] }],\n _inkBar: [{ type: ViewChild, args: [MatInkBar, { static: true },] }],\n _tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],\n _tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],\n _nextPaginator: [{ type: ViewChild, args: ['nextPaginator',] }],\n _previousPaginator: [{ type: ViewChild, args: ['previousPaginator',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabNav, [{\n type: Component,\n args: [{\n selector: '[mat-tab-nav-bar]',\n exportAs: 'matTabNavBar, matTabNav',\n inputs: ['color'],\n template: \"
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n\",\n host: {\n 'class': 'mat-tab-nav-bar mat-tab-header',\n '[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',\n '[class.mat-tab-header-rtl]': \"_getLayoutDirection() == 'rtl'\",\n '[class.mat-primary]': 'color !== \"warn\" && color !== \"accent\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"'\n },\n encapsulation: ViewEncapsulation.None,\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n styles: [\".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:\\\"\\\";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc6.ViewportRuler }, { type: ɵngcc7.Platform }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { _items: [{\n type: ContentChildren,\n args: [forwardRef(() => MatTabLink), { descendants: true }]\n }], _inkBar: [{\n type: ViewChild,\n args: [MatInkBar, { static: true }]\n }], _tabListContainer: [{\n type: ViewChild,\n args: ['tabListContainer', { static: true }]\n }], _tabList: [{\n type: ViewChild,\n args: ['tabList', { static: true }]\n }], _nextPaginator: [{\n type: ViewChild,\n args: ['nextPaginator']\n }], _previousPaginator: [{\n type: ViewChild,\n args: ['previousPaginator']\n }] }); })();\n// Boilerplate for applying mixins to MatTabLink.\nconst _MatTabLinkMixinBase = mixinTabIndex(mixinDisableRipple(mixinDisabled(class {\n})));\n/** Base class with all of the `MatTabLink` functionality. */\nclass _MatTabLinkBase extends _MatTabLinkMixinBase {\n constructor(_tabNavBar, \n /** @docs-private */ elementRef, globalRippleOptions, tabIndex, _focusMonitor, animationMode) {\n super();\n this._tabNavBar = _tabNavBar;\n this.elementRef = elementRef;\n this._focusMonitor = _focusMonitor;\n /** Whether the tab link is active or not. */\n this._isActive = false;\n this.rippleConfig = globalRippleOptions || {};\n this.tabIndex = parseInt(tabIndex) || 0;\n if (animationMode === 'NoopAnimations') {\n this.rippleConfig.animation = { enterDuration: 0, exitDuration: 0 };\n }\n }\n /** Whether the link is active. */\n get active() { return this._isActive; }\n set active(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._isActive) {\n this._isActive = value;\n this._tabNavBar.updateActiveLink();\n }\n }\n /**\n * Whether ripples are disabled on interaction.\n * @docs-private\n */\n get rippleDisabled() {\n return this.disabled || this.disableRipple || this._tabNavBar.disableRipple ||\n !!this.rippleConfig.disabled;\n }\n /** Focuses the tab link. */\n focus() {\n this.elementRef.nativeElement.focus();\n }\n ngAfterViewInit() {\n this._focusMonitor.monitor(this.elementRef);\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this.elementRef);\n }\n _handleFocus() {\n // Since we allow navigation through tabbing in the nav bar, we\n // have to update the focused index whenever the link receives focus.\n this._tabNavBar.focusIndex = this._tabNavBar._items.toArray().indexOf(this);\n }\n}\n_MatTabLinkBase.ɵfac = function _MatTabLinkBase_Factory(t) { return new (t || _MatTabLinkBase)(ɵngcc0.ɵɵdirectiveInject(_MatTabNavBase), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(MAT_RIPPLE_GLOBAL_OPTIONS, 8), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\n_MatTabLinkBase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: _MatTabLinkBase, inputs: { active: \"active\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatTabLinkBase.ctorParameters = () => [\n { type: _MatTabNavBase },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] }] },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: FocusMonitor },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n_MatTabLinkBase.propDecorators = {\n active: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_MatTabLinkBase, [{\n type: Directive\n }], function () { return [{ type: _MatTabNavBase }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RIPPLE_GLOBAL_OPTIONS]\n }] }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: ɵngcc4.FocusMonitor }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { active: [{\n type: Input\n }] }); })();\n/**\n * Link inside of a `mat-tab-nav-bar`.\n */\nclass MatTabLink extends _MatTabLinkBase {\n constructor(tabNavBar, elementRef, ngZone, platform, globalRippleOptions, tabIndex, focusMonitor, animationMode) {\n super(tabNavBar, elementRef, globalRippleOptions, tabIndex, focusMonitor, animationMode);\n this._tabLinkRipple = new RippleRenderer(this, ngZone, elementRef, platform);\n this._tabLinkRipple.setupTriggerEvents(elementRef.nativeElement);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this._tabLinkRipple._removeTriggerEvents();\n }\n}\nMatTabLink.ɵfac = function MatTabLink_Factory(t) { return new (t || MatTabLink)(ɵngcc0.ɵɵdirectiveInject(MatTabNav), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Platform), ɵngcc0.ɵɵdirectiveInject(MAT_RIPPLE_GLOBAL_OPTIONS, 8), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatTabLink.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTabLink, selectors: [[\"\", \"mat-tab-link\", \"\"], [\"\", \"matTabLink\", \"\"]], hostAttrs: [1, \"mat-tab-link\", \"mat-focus-indicator\"], hostVars: 7, hostBindings: function MatTabLink_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatTabLink_focus_HostBindingHandler() { return ctx._handleFocus(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-current\", ctx.active ? \"page\" : null)(\"aria-disabled\", ctx.disabled)(\"tabIndex\", ctx.tabIndex);\n ɵngcc0.ɵɵclassProp(\"mat-tab-disabled\", ctx.disabled)(\"mat-tab-label-active\", ctx.active);\n } }, inputs: { disabled: \"disabled\", disableRipple: \"disableRipple\", tabIndex: \"tabIndex\" }, exportAs: [\"matTabLink\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatTabLink.ctorParameters = () => [\n { type: MatTabNav },\n { type: ElementRef },\n { type: NgZone },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] }] },\n { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n { type: FocusMonitor },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabLink, [{\n type: Directive,\n args: [{\n selector: '[mat-tab-link], [matTabLink]',\n exportAs: 'matTabLink',\n inputs: ['disabled', 'disableRipple', 'tabIndex'],\n host: {\n 'class': 'mat-tab-link mat-focus-indicator',\n '[attr.aria-current]': 'active ? \"page\" : null',\n '[attr.aria-disabled]': 'disabled',\n '[attr.tabIndex]': 'tabIndex',\n '[class.mat-tab-disabled]': 'disabled',\n '[class.mat-tab-label-active]': 'active',\n '(focus)': '_handleFocus()'\n }\n }]\n }], function () { return [{ type: MatTabNav }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc7.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RIPPLE_GLOBAL_OPTIONS]\n }] }, { type: String, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: ɵngcc4.FocusMonitor }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatTabsModule {\n}\nMatTabsModule.ɵfac = function MatTabsModule_Factory(t) { return new (t || MatTabsModule)(); };\nMatTabsModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatTabsModule });\nMatTabsModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n CommonModule,\n MatCommonModule,\n PortalModule,\n MatRippleModule,\n ObserversModule,\n A11yModule,\n ], MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTabsModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatCommonModule,\n PortalModule,\n MatRippleModule,\n ObserversModule,\n A11yModule,\n ],\n // Don't export all components because some are only to be used internally.\n exports: [\n MatCommonModule,\n MatTabGroup,\n MatTabLabel,\n MatTab,\n MatTabNav,\n MatTabLink,\n MatTabContent,\n ],\n declarations: [\n MatTabGroup,\n MatTabLabel,\n MatTab,\n MatInkBar,\n MatTabLabelWrapper,\n MatTabNav,\n MatTabLink,\n MatTabBody,\n MatTabBodyPortal,\n MatTabHeader,\n MatTabContent,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatTabsModule, { declarations: function () { return [MatTabGroup, MatTabLabel, MatTab, MatInkBar, MatTabLabelWrapper, MatTabNav, MatTabLink, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabContent]; }, imports: function () { return [CommonModule,\n MatCommonModule,\n PortalModule,\n MatRippleModule,\n ObserversModule,\n A11yModule]; }, exports: function () { return [MatCommonModule, MatTabGroup, MatTabLabel, MatTab, MatTabNav, MatTabLink, MatTabContent]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_TAB, MAT_TABS_CONFIG, MAT_TAB_GROUP, MatInkBar, MatTab, MatTabBody, MatTabBodyPortal, MatTabChangeEvent, MatTabContent, MatTabGroup, MatTabHeader, MatTabLabel, MatTabLabelWrapper, MatTabLink, MatTabNav, MatTabsModule, _MAT_INK_BAR_POSITIONER, _MatTabBodyBase, _MatTabGroupBase, _MatTabHeaderBase, _MatTabLinkBase, _MatTabNavBase, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵangular_material_src_material_tabs_tabs_a, MAT_TAB_LABEL as ɵangular_material_src_material_tabs_tabs_b, MAT_TAB_CONTENT as ɵangular_material_src_material_tabs_tabs_c, MatPaginatedTabHeader as ɵangular_material_src_material_tabs_tabs_d };\n\n","import * as i0 from '@angular/core';\nimport { Injectable, Component, Input, ViewEncapsulation, Inject, EventEmitter, Output, forwardRef, HostListener, ViewChild, NgModule } from '@angular/core';\nimport * as i1$1 from '@onecause/ngcommon';\nimport { PagingInput, PagingOutput, FilterParameter, FilterComparator, PhoneNumberValidator, PhoneNumberFormatter, AddressInformation, UserFriendlyError, CurrencyModule, ThemeModule, AddressFormModule, PhoneNumberModule, RoleWithContext, AccessToken, WindowInjectionToken } from '@onecause/ngcommon';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders, HttpParams, HttpClientModule } from '@angular/common/http';\nimport { map, switchMap, takeUntil, filter, toArray } from 'rxjs/operators';\nimport { BehaviorSubject, ReplaySubject, forkJoin, of, Subject, combineLatest } from 'rxjs';\nimport * as i4$1 from '@angular/material/progress-spinner';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport * as i5 from '@angular/material/icon';\nimport { MatIconModule } from '@angular/material/icon';\nimport * as i2 from '@angular/material/checkbox';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport * as i6 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i5$1 from '@angular/forms';\nimport { FormControl, Validators, NG_VALUE_ACCESSOR, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport * as i2$1 from '@angular/material/dialog';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport * as i1$2 from '@angular/material/form-field';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport * as i4 from '@angular/material/button';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i7 from '@angular/material/input';\nimport { MatInputModule } from '@angular/material/input';\nimport * as i8 from '@angular/material/radio';\nimport { MatRadioModule } from '@angular/material/radio';\nimport * as i10 from '@angular/material/menu';\nimport { MatMenuModule } from '@angular/material/menu';\nimport * as i3 from '@angular/material/select';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i3$1 from '@angular/material/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport * as i5$2 from '@angular/material/snack-bar';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport * as i4$2 from '@angular/material/expansion';\nimport { MatExpansionModule } from '@angular/material/expansion';\n\n/* This file is generated, do not change manually */\nclass VirtualEventRestService {\n constructor(httpClient, authHttpClient) {\n this.httpClient = httpClient;\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-virtualevent-api';\n this.jwt = '';\n }\n withJWT(jwt) {\n const newService = new VirtualEventRestService(this.httpClient, this.authHttpClient);\n newService.jwt = jwt;\n return newService;\n }\n getAuthHttpClient() {\n if (this.jwt) {\n return this.httpClient;\n }\n else {\n return this.authHttpClient;\n }\n }\n getHeaders() {\n if (this.jwt) {\n return new HttpHeaders().set('Authorization', 'Bearer ' + this.jwt);\n }\n else {\n return {};\n }\n }\n addProxyBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/proxy-guests/add-proxy-bidder`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddProxyBidderOutput instance, so create a class instance from that object\n map((input) => {\n return AddProxyBidderOutput.fromObject(input).fixClasses();\n }));\n }\n addProxyLink(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/proxy-guests/add-proxy-link`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddProxyLinkOutput instance, so create a class instance from that object\n map((input) => {\n return AddProxyLinkOutput.fromObject(input).fixClasses();\n }));\n }\n banFromLivestreamChat(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/chat-users/${input.userID}/ban`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) BanFromLivestreamChatOutput instance, so create a class instance from that object\n map((input) => {\n return BanFromLivestreamChatOutput.fromObject(input).fixClasses();\n }));\n }\n buyItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) BuyItemsOutput instance, so create a class instance from that object\n map((input) => {\n return BuyItemsOutput.fromObject(input).fixClasses();\n }));\n }\n buyNow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/buy-now`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) BuyNowOutput instance, so create a class instance from that object\n map((input) => {\n return BuyNowOutput$1.fromObject(input).fixClasses();\n }));\n }\n calculateCoverCost(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/cover-costs/calculate`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CalculateCoverCostOutput instance, so create a class instance from that object\n map((input) => {\n return CalculateCoverCostOutput.fromObject(input).fixClasses();\n }));\n }\n calculatePurchaseTotals(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/totals`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CalculatePurchaseTotalsOutput instance, so create a class instance from that object\n map((input) => {\n return CalculatePurchaseTotalsOutput.fromObject(input).fixClasses();\n }));\n }\n calculateTotalAmount(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/calculate-total-amount`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CalculateTotalAmountOutput instance, so create a class instance from that object\n map((input) => {\n return CalculateTotalAmountOutput.fromObject(input).fixClasses();\n }));\n }\n checkGuestForClaimedTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.eventSessionID}/my/check-for-claimed-ticket`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CheckGuestForClaimedTicketOutput instance, so create a class instance from that object\n map((input) => {\n return CheckGuestForClaimedTicketOutput.fromObject(input).fixClasses();\n }));\n }\n checkInGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}/check-in`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CheckInGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return CheckInGuestSessionOutput.fromObject(input).fixClasses();\n }));\n }\n checkInMyGuestSessions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/check-in-my-sessions`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CheckInMyGuestSessionsOutput instance, so create a class instance from that object\n map((input) => {\n return CheckInMyGuestSessionsOutput.fromObject(input).fixClasses();\n }));\n }\n checkInMyTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/check-in-tickets`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CheckInMyTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return CheckInMyTicketsOutput.fromObject(input).fixClasses();\n }));\n }\n claimGuestFromToken(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.eventSessionID}/my/claim-guest-from-token`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClaimGuestFromTokenOutput instance, so create a class instance from that object\n map((input) => {\n return ClaimGuestFromTokenOutput.fromObject(input).fixClasses();\n }));\n }\n claimMyTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.eventSessionID}/my/claim-my-ticket`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClaimMyTicketOutput instance, so create a class instance from that object\n map((input) => {\n return ClaimMyTicketOutput.fromObject(input).fixClasses();\n }));\n }\n claimTicketAndRegister(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/claim-ticket-and-register`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClaimTicketAndRegisterOutput instance, so create a class instance from that object\n map((input) => {\n return ClaimTicketAndRegisterOutput.fromObject(input).fixClasses();\n }));\n }\n clearAllBids(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/clear-all-bids`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClearAllBidsOutput instance, so create a class instance from that object\n map((input) => {\n return ClearAllBidsOutput$1.fromObject(input).fixClasses();\n }));\n }\n closeBidding(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/close-bidding`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CloseBiddingOutput instance, so create a class instance from that object\n map((input) => {\n return CloseBiddingOutput.fromObject(input).fixClasses();\n }));\n }\n closeBroadcast(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control/shows/${input.showID}/broadcast-ended`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CloseBroadcastOutput instance, so create a class instance from that object\n map((input) => {\n return CloseBroadcastOutput.fromObject(input).fixClasses();\n }));\n }\n completeMyPreEventQuestionnaire(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/complete-pre-event-questionnaire`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CompleteMyPreEventQuestionnaireOutput instance, so create a class instance from that object\n map((input) => {\n return CompleteMyPreEventQuestionnaireOutput.fromObject(input).fixClasses();\n }));\n }\n compTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/comp`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CompTicketOutput instance, so create a class instance from that object\n map((input) => {\n return CompTicketOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n compTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/comp-tickets`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CompTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return CompTicketsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n countDonationMoments(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountDonationMomentsOutput instance, so create a class instance from that object\n map((input) => {\n return CountDonationMomentsOutput.fromObject(input).fixClasses();\n }));\n }\n countEvents(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountEventsOutput instance, so create a class instance from that object\n map((input) => {\n return CountEventsOutput.fromObject(input).fixClasses();\n }));\n }\n countEventSessions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountEventSessionsOutput instance, so create a class instance from that object\n map((input) => {\n return CountEventSessionsOutput.fromObject(input).fixClasses();\n }));\n }\n countEventSessionTicketConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountEventSessionTicketConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return CountEventSessionTicketConfigsOutput.fromObject(input).fixClasses();\n }));\n }\n countEventSlideConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountEventSlideConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return CountEventSlideConfigsOutput.fromObject(input).fixClasses();\n }));\n }\n countEventSlideshows(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountEventSlideshowsOutput instance, so create a class instance from that object\n map((input) => {\n return CountEventSlideshowsOutput.fromObject(input).fixClasses();\n }));\n }\n countFixedPriceItemPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountFixedPriceItemPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return CountFixedPriceItemPhotosOutput.fromObject(input).fixClasses();\n }));\n }\n countFixedPriceItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountFixedPriceItemsOutput instance, so create a class instance from that object\n map((input) => {\n return CountFixedPriceItemsOutput.fromObject(input).fixClasses();\n }));\n }\n countGuests(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountGuestsOutput instance, so create a class instance from that object\n map((input) => {\n return CountGuestsOutput.fromObject(input).fixClasses();\n }));\n }\n countGuestSessions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountGuestSessionsOutput instance, so create a class instance from that object\n map((input) => {\n return CountGuestSessionsOutput.fromObject(input).fixClasses();\n }));\n }\n countImpactPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountImpactPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return CountImpactPhotosOutput.fromObject(input).fixClasses();\n }));\n }\n countImpacts(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountImpactsOutput instance, so create a class instance from that object\n map((input) => {\n return CountImpactsOutput.fromObject(input).fixClasses();\n }));\n }\n countMyTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountMyTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return CountMyTicketsOutput.fromObject(input).fixClasses();\n }));\n }\n countOverlays(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountOverlaysOutput instance, so create a class instance from that object\n map((input) => {\n return CountOverlaysOutput.fromObject(input).fixClasses();\n }));\n }\n countPickupItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountPickupItemsOutput instance, so create a class instance from that object\n map((input) => {\n return CountPickupItemsOutput.fromObject(input).fixClasses();\n }));\n }\n countPreEventQuestionConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountPreEventQuestionConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return CountPreEventQuestionConfigsOutput.fromObject(input).fixClasses();\n }));\n }\n countPurchasedItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountPurchasedItemsOutput instance, so create a class instance from that object\n map((input) => {\n return CountPurchasedItemsOutput.fromObject(input).fixClasses();\n }));\n }\n countPurchasedItemSalesTaxes(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountPurchasedItemSalesTaxesOutput instance, so create a class instance from that object\n map((input) => {\n return CountPurchasedItemSalesTaxesOutput.fromObject(input).fixClasses();\n }));\n }\n countRegistrations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountRegistrationsOutput instance, so create a class instance from that object\n map((input) => {\n return CountRegistrationsOutput.fromObject(input).fixClasses();\n }));\n }\n countScenes(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountScenesOutput instance, so create a class instance from that object\n map((input) => {\n return CountScenesOutput.fromObject(input).fixClasses();\n }));\n }\n countShows(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountShowsOutput instance, so create a class instance from that object\n map((input) => {\n return CountShowsOutput.fromObject(input).fixClasses();\n }));\n }\n countVirtualChairs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountVirtualChairsOutput instance, so create a class instance from that object\n map((input) => {\n return CountVirtualChairsOutput.fromObject(input).fixClasses();\n }));\n }\n countVirtualTables(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountVirtualTablesOutput instance, so create a class instance from that object\n map((input) => {\n return CountVirtualTablesOutput.fromObject(input).fixClasses();\n }));\n }\n createAuctionAndScene(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/scenes/auction-scene`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateAuctionAndSceneOutput instance, so create a class instance from that object\n map((input) => {\n return CreateAuctionAndSceneOutput.fromObject(input).fixClasses();\n }));\n }\n createBidLimit(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/create-bid-limit`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateBidLimitOutput instance, so create a class instance from that object\n map((input) => {\n return CreateBidLimitOutput$1.fromObject(input).fixClasses();\n }));\n }\n createChannel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.virtualChairID}/channel`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateChannelOutput instance, so create a class instance from that object\n map((input) => {\n return CreateChannelOutput.fromObject(input).fixClasses();\n }));\n }\n createDonationMoment(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateDonationMomentOutput instance, so create a class instance from that object\n map((input) => {\n return CreateDonationMomentOutput.fromObject(input).fixClasses();\n }));\n }\n createDonationMomentAndSceneOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donation-moments/scene-overlay`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateDonationMomentAndSceneOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return CreateDonationMomentAndSceneOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n createEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateEventOutput instance, so create a class instance from that object\n map((input) => {\n return CreateEventOutput.fromObject(input).fixClasses();\n }));\n }\n createEventSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateEventSessionOutput instance, so create a class instance from that object\n map((input) => {\n return CreateEventSessionOutput.fromObject(input).fixClasses();\n }));\n }\n createEventSessionTicketConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateEventSessionTicketConfigOutput instance, so create a class instance from that object\n map((input) => {\n return CreateEventSessionTicketConfigOutput.fromObject(input).fixClasses();\n }));\n }\n createEventSlideConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateEventSlideConfigOutput instance, so create a class instance from that object\n map((input) => {\n return CreateEventSlideConfigOutput.fromObject(input).fixClasses();\n }));\n }\n createEventSlideshow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateEventSlideshowOutput instance, so create a class instance from that object\n map((input) => {\n return CreateEventSlideshowOutput.fromObject(input).fixClasses();\n }));\n }\n createFixedPriceItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateFixedPriceItemOutput instance, so create a class instance from that object\n map((input) => {\n return CreateFixedPriceItemOutput.fromObject(input).fixClasses();\n }));\n }\n createFixedPriceItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateFixedPriceItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return CreateFixedPriceItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n createGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateGuestOutput instance, so create a class instance from that object\n map((input) => {\n return CreateGuestOutput.fromObject(input).fixClasses();\n }));\n }\n createGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return CreateGuestSessionOutput.fromObject(input).fixClasses();\n }));\n }\n createGuestWithoutHook(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/create-without-hook`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateGuestWithoutHookOutput instance, so create a class instance from that object\n map((input) => {\n return CreateGuestWithoutHookOutput.fromObject(input).fixClasses();\n }));\n }\n createImpact(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateImpactOutput instance, so create a class instance from that object\n map((input) => {\n return CreateImpactOutput.fromObject(input).fixClasses();\n }));\n }\n createImpactPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateImpactPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return CreateImpactPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n createInvitation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateInvitationOutput instance, so create a class instance from that object\n map((input) => {\n return CreateInvitationOutput.fromObject(input).fixClasses();\n }));\n }\n createOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return CreateOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n createPickupItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreatePickupItemOutput instance, so create a class instance from that object\n map((input) => {\n return CreatePickupItemOutput.fromObject(input).fixClasses();\n }));\n }\n createPreEventQuestionConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreatePreEventQuestionConfigOutput instance, so create a class instance from that object\n map((input) => {\n return CreatePreEventQuestionConfigOutput.fromObject(input).fixClasses();\n }));\n }\n createPurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreatePurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return CreatePurchasedItemOutput.fromObject(input).fixClasses();\n }));\n }\n createPurchasedItemSalesTax(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreatePurchasedItemSalesTaxOutput instance, so create a class instance from that object\n map((input) => {\n return CreatePurchasedItemSalesTaxOutput.fromObject(input).fixClasses();\n }));\n }\n createRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/raffles`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return CreateRaffleOutput$1.fromObject(input).fixClasses();\n }));\n }\n createRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return CreateRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n createScene(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateSceneOutput instance, so create a class instance from that object\n map((input) => {\n return CreateSceneOutput.fromObject(input).fixClasses();\n }));\n }\n createSceneAndOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/scenes/${input.showID}/scene-overlay`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateSceneAndOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return CreateSceneAndOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n createShow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateShowOutput instance, so create a class instance from that object\n map((input) => {\n return CreateShowOutput.fromObject(input).fixClasses();\n }));\n }\n createTicketTypeAndConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/create-ticket-type/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateTicketTypeAndConfigOutput instance, so create a class instance from that object\n map((input) => {\n return CreateTicketTypeAndConfigOutput.fromObject(input).fixClasses();\n }));\n }\n createVirtualChair(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateVirtualChairOutput instance, so create a class instance from that object\n map((input) => {\n return CreateVirtualChairOutput.fromObject(input).fixClasses();\n }));\n }\n createVirtualTable(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateVirtualTableOutput instance, so create a class instance from that object\n map((input) => {\n return CreateVirtualTableOutput.fromObject(input).fixClasses();\n }));\n }\n deleteChannel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.virtualChairID}/channel`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteChannelOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteChannelOutput.fromObject(input).fixClasses();\n }));\n }\n deleteDonationMoment(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments/${input.donationMomentID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteDonationMomentOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteDonationMomentOutput.fromObject(input).fixClasses();\n }));\n }\n deleteEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteEventOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteEventOutput.fromObject(input).fixClasses();\n }));\n }\n deleteEventSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteEventSessionOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteEventSessionOutput.fromObject(input).fixClasses();\n }));\n }\n deleteEventSessionTicketConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs/${input.eventSessionTicketConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteEventSessionTicketConfigOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteEventSessionTicketConfigOutput.fromObject(input).fixClasses();\n }));\n }\n deleteEventSlideConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig/${input.eventSlideConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteEventSlideConfigOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteEventSlideConfigOutput.fromObject(input).fixClasses();\n }));\n }\n deleteEventSlideshow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow/${input.eventSlideshowID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteEventSlideshowOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteEventSlideshowOutput.fromObject(input).fixClasses();\n }));\n }\n deleteFixedPriceItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.itemID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteFixedPriceItemOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteFixedPriceItemOutput.fromObject(input).fixClasses();\n }));\n }\n deleteFixedPriceItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteFixedPriceItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteFixedPriceItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n deleteGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/${input.guestID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteGuestOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteGuestOutput.fromObject(input).fixClasses();\n }));\n }\n deleteGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteGuestSessionOutput.fromObject(input).fixClasses();\n }));\n }\n deleteImpact(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteImpactOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteImpactOutput.fromObject(input).fixClasses();\n }));\n }\n deleteImpactPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteImpactPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteImpactPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n deleteInvitation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/${input.invitationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteInvitationOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteInvitationOutput.fromObject(input).fixClasses();\n }));\n }\n deleteLivestreamChatMessage(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/livestream-chat/channels/${input.livestreamChatChannelID}/messages/${input.messageTimestamp}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteLivestreamChatMessageOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteLivestreamChatMessageOutput.fromObject(input).fixClasses();\n }));\n }\n deleteOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays/${input.overlayID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n deletePickupItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeletePickupItemOutput instance, so create a class instance from that object\n map((input) => {\n return DeletePickupItemOutput.fromObject(input).fixClasses();\n }));\n }\n deletePreEventQuestionConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs/${input.preEventQuestionConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeletePreEventQuestionConfigOutput instance, so create a class instance from that object\n map((input) => {\n return DeletePreEventQuestionConfigOutput.fromObject(input).fixClasses();\n }));\n }\n deletePurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeletePurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return DeletePurchasedItemOutput.fromObject(input).fixClasses();\n }));\n }\n deletePurchasedItemSalesTax(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeletePurchasedItemSalesTaxOutput instance, so create a class instance from that object\n map((input) => {\n return DeletePurchasedItemSalesTaxOutput.fromObject(input).fixClasses();\n }));\n }\n deleteRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/${input.registrationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n deleteScene(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteSceneOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteSceneOutput.fromObject(input).fixClasses();\n }));\n }\n deleteShow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteShowOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteShowOutput.fromObject(input).fixClasses();\n }));\n }\n deleteTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteTicketOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteTicketOutput$1.fromObject(input).fixClasses();\n }));\n }\n deleteVirtualChair(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteVirtualChairOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteVirtualChairOutput.fromObject(input).fixClasses();\n }));\n }\n deleteVirtualTable(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteVirtualTableOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteVirtualTableOutput.fromObject(input).fixClasses();\n }));\n }\n disableLivestreamChat(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/chat-control/livestream/disable`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DisableLivestreamChatOutput instance, so create a class instance from that object\n map((input) => {\n return DisableLivestreamChatOutput.fromObject(input).fixClasses();\n }));\n }\n disconnectRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/raffles/${input.raffleID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DisconnectRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return DisconnectRaffleOutput.fromObject(input).fixClasses();\n }));\n }\n donateAndSelfRegister(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/donate-and-self-register`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DonateAndSelfRegisterOutput instance, so create a class instance from that object\n map((input) => {\n return DonateAndSelfRegisterOutput.fromObject(input).fixClasses();\n }));\n }\n enableLivestreamChat(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/chat-control/livestream/enable`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) EnableLivestreamChatOutput instance, so create a class instance from that object\n map((input) => {\n return EnableLivestreamChatOutput.fromObject(input).fixClasses();\n }));\n }\n fetchPurchasedItemsForRefundIDs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/refunds/item-details`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) FetchPurchasedItemsForRefundIDsOutput instance, so create a class instance from that object\n map((input) => {\n return FetchPurchasedItemsForRefundIDsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getAppealLevels(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/overlays/appeal-levels`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetAppealLevelsOutput instance, so create a class instance from that object\n map((input) => {\n return GetAppealLevelsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getAttendeeExperience(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestexperience`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetAttendeeExperienceOutput instance, so create a class instance from that object\n map((input) => {\n return GetAttendeeExperienceOutput.fromObject(input).fixClasses();\n }));\n }\n getChatUser(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/chat-users/by-user-token`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetChatUserOutput instance, so create a class instance from that object\n map((input) => {\n return GetChatUserOutput.fromObject(input).fixClasses();\n }));\n }\n getConnectionResourcesForChannel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/connection-resources-for-channel`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetConnectionResourcesForChannelOutput instance, so create a class instance from that object\n map((input) => {\n return GetConnectionResourcesForChannelOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getDuringEventAnalytics(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tablemanagement/analytics/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetDuringEventAnalyticsOutput instance, so create a class instance from that object\n map((input) => {\n return GetDuringEventAnalyticsOutput.fromObject(input).fixClasses();\n }));\n }\n getEventNotificationToken(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/notifications/token`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetEventNotificationTokenOutput instance, so create a class instance from that object\n map((input) => {\n return GetEventNotificationTokenOutput.fromObject(input).fixClasses();\n }));\n }\n getGuestMessagingRecipients(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestmessaging/personalize`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestMessagingRecipientsOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestMessagingRecipientsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getGuestMobilePhoneNumbers(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestmessaging`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestMobilePhoneNumbersOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestMobilePhoneNumbersOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getGuestMobilePhoneNumbersCount(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestmessaging/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestMobilePhoneNumbersCountOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestMobilePhoneNumbersCountOutput.fromObject(input).fixClasses();\n }));\n }\n getGuestOrPrimaryBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/get-guest-or-primary-bidder/${input.searchNumber}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestOrPrimaryBidderOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestOrPrimaryBidderOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getGuestSessionSummary(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guest-sessions/${input.ticketTicketID}/guest-session-summary`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestSessionSummaryOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestSessionSummaryOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getGuestSessionSummaryByID(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guest-sessions/summary`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestSessionSummaryByIDOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestSessionSummaryByIDOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getGuestSummary(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.ticketTicketID}/summary`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetGuestSummaryOutput instance, so create a class instance from that object\n map((input) => {\n return GetGuestSummaryOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getMyCheckInStatus(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/check-in-status`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMyCheckInStatusOutput instance, so create a class instance from that object\n map((input) => {\n return GetMyCheckInStatusOutput.fromObject(input).fixClasses();\n }));\n }\n getMyExperienceType(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/experience-type`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMyExperienceTypeOutput instance, so create a class instance from that object\n map((input) => {\n return GetMyExperienceTypeOutput.fromObject(input).fixClasses();\n }));\n }\n getMyGuestDemographics(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/guest-demographics`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMyGuestDemographicsOutput instance, so create a class instance from that object\n map((input) => {\n return GetMyGuestDemographicsOutput.fromObject(input).fixClasses();\n }));\n }\n getMyGuestDemographicsPublic(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/guest-demographics-public`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMyGuestDemographicsPublicOutput instance, so create a class instance from that object\n map((input) => {\n return GetMyGuestDemographicsPublicOutput.fromObject(input).fixClasses();\n }));\n }\n getMyGuestSessionSummary(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/guest-session-summary`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMyGuestSessionSummaryOutput instance, so create a class instance from that object\n map((input) => {\n return GetMyGuestSessionSummaryOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getOrgPickupItemOptions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/orgpickupitemoptions`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetOrgPickupItemOptionsOutput instance, so create a class instance from that object\n map((input) => {\n return GetOrgPickupItemOptionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getPreEventAnalytics(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tablemanagement/analytics/${input.eventSessionID}/preevent`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetPreEventAnalyticsOutput instance, so create a class instance from that object\n map((input) => {\n return GetPreEventAnalyticsOutput.fromObject(input).fixClasses();\n }));\n }\n getPrimaryBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/get-primary-bidder/${input.bidderNumber}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetPrimaryBidderOutput instance, so create a class instance from that object\n map((input) => {\n return GetPrimaryBidderOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getPurchasedItemsUserSummary(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/purchased-summary`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetPurchasedItemsUserSummaryOutput instance, so create a class instance from that object\n map((input) => {\n return GetPurchasedItemsUserSummaryOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getSelectedPickupTimeSlots(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/selected-pickup-time-slots`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetSelectedPickupTimeSlotsOutput instance, so create a class instance from that object\n map((input) => {\n return GetSelectedPickupTimeSlotsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getSharedCartGuestList(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.guestID}/shared-cart-guests`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetSharedCartGuestListOutput instance, so create a class instance from that object\n map((input) => {\n return GetSharedCartGuestListOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getTaxCentsForGuestPurchasedItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/sales-tax-guest`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetTaxCentsForGuestPurchasedItemsOutput instance, so create a class instance from that object\n map((input) => {\n return GetTaxCentsForGuestPurchasedItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getTaxCentsForPurchasedItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/sales-tax`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetTaxCentsForPurchasedItemsOutput instance, so create a class instance from that object\n map((input) => {\n return GetTaxCentsForPurchasedItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getUnprocessedItemsData(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/unprocessed`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetUnprocessedItemsDataOutput instance, so create a class instance from that object\n map((input) => {\n return GetUnprocessedItemsDataOutput.fromObject(input).fixClasses();\n }));\n }\n hasAssignedTicketForTicketManagerTokenEmail(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/has-assigned-ticket-for-ticket-manager-token-email`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) HasAssignedTicketForTicketManagerTokenEmailOutput instance, so create a class instance from that object\n map((input) => {\n return HasAssignedTicketForTicketManagerTokenEmailOutput.fromObject(input).fixClasses();\n }));\n }\n initiateRecurringDonation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/recurring-donation`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) InitiateRecurringDonationOutput instance, so create a class instance from that object\n map((input) => {\n return InitiateRecurringDonationOutput.fromObject(input).fixClasses();\n }));\n }\n isRegistrationComped(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/is-comped`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) IsRegistrationCompedOutput instance, so create a class instance from that object\n map((input) => {\n return IsRegistrationCompedOutput.fromObject(input).fixClasses();\n }));\n }\n isTicketManagerTokenEmailRegistered(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/is-ticket-manager-token-email-registered`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) IsTicketManagerTokenEmailRegisteredOutput instance, so create a class instance from that object\n map((input) => {\n return IsTicketManagerTokenEmailRegisteredOutput.fromObject(input).fixClasses();\n }));\n }\n listAttendeesByGroup(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tablemanagement/group/${input.groupID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListAttendeesByGroupOutput instance, so create a class instance from that object\n map((input) => {\n return ListAttendeesByGroupOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listAvailableCreditCards(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/giving/credit-cards`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListAvailableCreditCardsOutput instance, so create a class instance from that object\n map((input) => {\n return ListAvailableCreditCardsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listDonationMoments(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListDonationMomentsOutput instance, so create a class instance from that object\n map((input) => {\n return ListDonationMomentsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listEvents(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListEventsOutput instance, so create a class instance from that object\n map((input) => {\n return ListEventsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listEventSessions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListEventSessionsOutput instance, so create a class instance from that object\n map((input) => {\n return ListEventSessionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listEventSessionTicketConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListEventSessionTicketConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return ListEventSessionTicketConfigsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listEventSlideConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListEventSlideConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return ListEventSlideConfigsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listEventSlideshows(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListEventSlideshowsOutput instance, so create a class instance from that object\n map((input) => {\n return ListEventSlideshowsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listFixedPriceItemPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListFixedPriceItemPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return ListFixedPriceItemPhotosOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listFixedPriceItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListFixedPriceItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ListFixedPriceItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listGuests(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListGuestsOutput instance, so create a class instance from that object\n map((input) => {\n return ListGuestsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listGuestSessions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListGuestSessionsOutput instance, so create a class instance from that object\n map((input) => {\n return ListGuestSessionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listGuestSessionSummaries(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/guest-session-summaries`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListGuestSessionSummariesOutput instance, so create a class instance from that object\n map((input) => {\n return ListGuestSessionSummariesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listGuestSessionSummariesForTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/guest-session-summaries-for-tickets`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListGuestSessionSummariesForTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return ListGuestSessionSummariesForTicketsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listImpactPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListImpactPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return ListImpactPhotosOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listImpacts(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListImpactsOutput instance, so create a class instance from that object\n map((input) => {\n return ListImpactsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listInvitations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListInvitationsOutput instance, so create a class instance from that object\n map((input) => {\n return ListInvitationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listItemsForGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/guest-items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListItemsForGuestOutput instance, so create a class instance from that object\n map((input) => {\n return ListItemsForGuestOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listItemsForUser(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListItemsForUserOutput instance, so create a class instance from that object\n map((input) => {\n return ListItemsForUserOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listItemsForUserRefund(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items-for-refund`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListItemsForUserRefundOutput instance, so create a class instance from that object\n map((input) => {\n return ListItemsForUserRefundOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listMyAvailableCreditCards(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/giving/my/credit-cards`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListMyAvailableCreditCardsOutput instance, so create a class instance from that object\n map((input) => {\n return ListMyAvailableCreditCardsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listMyGuestSessionSummaries(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/guest-session-summaries`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListMyGuestSessionSummariesOutput instance, so create a class instance from that object\n map((input) => {\n return ListMyGuestSessionSummariesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listMyIncompleteGuestSessionIDs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/incomplete-guest-session-ids`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListMyIncompleteGuestSessionIDsOutput instance, so create a class instance from that object\n map((input) => {\n return ListMyIncompleteGuestSessionIDsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listMyTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListMyTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return ListMyTicketsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listOverlays(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListOverlaysOutput instance, so create a class instance from that object\n map((input) => {\n return ListOverlaysOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listPickupItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListPickupItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ListPickupItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listPreEventQuestionConfigs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListPreEventQuestionConfigsOutput instance, so create a class instance from that object\n map((input) => {\n return ListPreEventQuestionConfigsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listPurchasedItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListPurchasedItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ListPurchasedItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listPurchasedItemSalesTaxes(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListPurchasedItemSalesTaxesOutput instance, so create a class instance from that object\n map((input) => {\n return ListPurchasedItemSalesTaxesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listRaffles(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/raffles`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListRafflesOutput instance, so create a class instance from that object\n map((input) => {\n return ListRafflesOutput$1.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listRegistrations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListRegistrationsOutput instance, so create a class instance from that object\n map((input) => {\n return ListRegistrationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listScenes(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListScenesOutput instance, so create a class instance from that object\n map((input) => {\n return ListScenesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listShows(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListShowsOutput instance, so create a class instance from that object\n map((input) => {\n return ListShowsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listSpotterToolDonations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/spotter-tool-donations`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListSpotterToolDonationsOutput instance, so create a class instance from that object\n map((input) => {\n return ListSpotterToolDonationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listVirtualChairs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListVirtualChairsOutput instance, so create a class instance from that object\n map((input) => {\n return ListVirtualChairsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listVirtualTables(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListVirtualTablesOutput instance, so create a class instance from that object\n map((input) => {\n return ListVirtualTablesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n lotListWithWinner(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/lot-winner`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) LotListWithWinnerOutput instance, so create a class instance from that object\n map((input) => {\n return LotListWithWinnerOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n mySupporterPurchasedItemsDetails(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/guests/my/item-detail`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) MySupporterPurchasedItemsDetailsOutput instance, so create a class instance from that object\n map((input) => {\n return MySupporterPurchasedItemsDetailsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n noOrgListEvents(input) {\n const url = `${this.urlHost}/events`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) NoOrgListEventsOutput instance, so create a class instance from that object\n map((input) => {\n return NoOrgListEventsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n notifyLotUpdated(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/lot-updated`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) NotifyLotUpdatedOutput instance, so create a class instance from that object\n map((input) => {\n return NotifyLotUpdatedOutput.fromObject(input).fixClasses();\n }));\n }\n openBidding(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/open-bidding`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) OpenBiddingOutput instance, so create a class instance from that object\n map((input) => {\n return OpenBiddingOutput.fromObject(input).fixClasses();\n }));\n }\n openCheckoutNotification(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/open`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) OpenCheckoutNotificationOutput instance, so create a class instance from that object\n map((input) => {\n return OpenCheckoutNotificationOutput.fromObject(input).fixClasses();\n }));\n }\n openLotAndAssignWinner(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/open-lot-and-assign-winner`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) OpenLotAndAssignWinnerOutput instance, so create a class instance from that object\n map((input) => {\n return OpenLotAndAssignWinnerOutput.fromObject(input).fixClasses();\n }));\n }\n pauseBidding(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/pause-bidding`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) PauseBiddingOutput instance, so create a class instance from that object\n map((input) => {\n return PauseBiddingOutput.fromObject(input).fixClasses();\n }));\n }\n payForAttendeeItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/pay-for-attendee`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) PayForAttendeeItemsOutput instance, so create a class instance from that object\n map((input) => {\n return PayForAttendeeItemsOutput.fromObject(input).fixClasses();\n }));\n }\n payForItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/pay`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) PayForItemsOutput instance, so create a class instance from that object\n map((input) => {\n return PayForItemsOutput.fromObject(input).fixClasses();\n }));\n }\n placeBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/place-bid`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) PlaceBidOutput instance, so create a class instance from that object\n map((input) => {\n return PlaceBidOutput.fromObject(input).fixClasses();\n }));\n }\n raiseVirtualEventProcessPendingPurchasedItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/raise-process-pending-items-event`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RaiseVirtualEventProcessPendingPurchasedItemsOutput instance, so create a class instance from that object\n map((input) => {\n return RaiseVirtualEventProcessPendingPurchasedItemsOutput.fromObject(input).fixClasses();\n }));\n }\n readDefaultInvitationTemplate(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/invitation-template`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadDefaultInvitationTemplateOutput instance, so create a class instance from that object\n map((input) => {\n return ReadDefaultInvitationTemplateOutput.fromObject(input).fixClasses();\n }));\n }\n readDonationMoment(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments/${input.donationMomentID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadDonationMomentOutput instance, so create a class instance from that object\n map((input) => {\n return ReadDonationMomentOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readEventSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventSessionOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventSessionOutput.fromObject(input).fixClasses();\n }));\n }\n readEventSessionTicketConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs/${input.eventSessionTicketConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventSessionTicketConfigOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventSessionTicketConfigOutput.fromObject(input).fixClasses();\n }));\n }\n readEventShowControl(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventShowControlOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventShowControlOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readEventSlideConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig/${input.eventSlideConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventSlideConfigOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventSlideConfigOutput.fromObject(input).fixClasses();\n }));\n }\n readEventSlideshow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow/${input.eventSlideshowID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadEventSlideshowOutput instance, so create a class instance from that object\n map((input) => {\n return ReadEventSlideshowOutput.fromObject(input).fixClasses();\n }));\n }\n readFixedPriceItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.itemID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadFixedPriceItemOutput instance, so create a class instance from that object\n map((input) => {\n return ReadFixedPriceItemOutput.fromObject(input).fixClasses();\n }));\n }\n readFixedPriceItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadFixedPriceItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return ReadFixedPriceItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n readGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/${input.guestID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadGuestOutput instance, so create a class instance from that object\n map((input) => {\n return ReadGuestOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return ReadGuestSessionOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readImpact(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadImpactOutput instance, so create a class instance from that object\n map((input) => {\n return ReadImpactOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readImpactPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadImpactPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return ReadImpactPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n readInvitation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/${input.invitationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadInvitationOutput instance, so create a class instance from that object\n map((input) => {\n return ReadInvitationOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readMyRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadMyRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return ReadMyRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n readMyTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadMyTicketOutput instance, so create a class instance from that object\n map((input) => {\n return ReadMyTicketOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readMyTicketOptionAnswers(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/ticket-option-answers`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadMyTicketOptionAnswersOutput instance, so create a class instance from that object\n map((input) => {\n return ReadMyTicketOptionAnswersOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readMyVirtualChair(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/my-chair`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadMyVirtualChairOutput instance, so create a class instance from that object\n map((input) => {\n return ReadMyVirtualChairOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readMyVirtualTable(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/my-table`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadMyVirtualTableOutput instance, so create a class instance from that object\n map((input) => {\n return ReadMyVirtualTableOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays/${input.overlayID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return ReadOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n readPeerUserInfo(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/peer-user/${input.peerUserID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPeerUserInfoOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPeerUserInfoOutput.fromObject(input).fixClasses();\n }));\n }\n readPickupItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPickupItemOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPickupItemOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readPreEventQuestionConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs/${input.preEventQuestionConfigID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPreEventQuestionConfigOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPreEventQuestionConfigOutput.fromObject(input).fixClasses();\n }));\n }\n readPurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPurchasedItemOutput.fromObject(input).fixClasses();\n }));\n }\n readPurchasedItemSalesTax(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPurchasedItemSalesTaxOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPurchasedItemSalesTaxOutput.fromObject(input).fixClasses();\n }));\n }\n readRecentAppealItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/appeal-items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadRecentAppealItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ReadRecentAppealItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/${input.registrationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return ReadRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n readScene(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadSceneOutput instance, so create a class instance from that object\n map((input) => {\n return ReadSceneOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readShow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadShowOutput instance, so create a class instance from that object\n map((input) => {\n return ReadShowOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readTags(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/tags`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadTagsOutput instance, so create a class instance from that object\n map((input) => {\n return ReadTagsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n readVirtualChair(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadVirtualChairOutput instance, so create a class instance from that object\n map((input) => {\n return ReadVirtualChairOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readVirtualTable(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadVirtualTableOutput instance, so create a class instance from that object\n map((input) => {\n return ReadVirtualTableOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n refundPayment(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/refund-payment`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RefundPaymentOutput instance, so create a class instance from that object\n map((input) => {\n return RefundPaymentOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n registrationFreePayForItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/guests/${input.guestID}/items/registration-free-pay`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RegistrationFreePayForItemsOutput instance, so create a class instance from that object\n map((input) => {\n return RegistrationFreePayForItemsOutput.fromObject(input).fixClasses();\n }));\n }\n removeProxyGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/proxy-guests/remove-proxy-guest`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RemoveProxyGuestOutput instance, so create a class instance from that object\n map((input) => {\n return RemoveProxyGuestOutput.fromObject(input).fixClasses();\n }));\n }\n removeProxyLink(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/proxy-guests/remove-proxy-link/${input.guestID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RemoveProxyLinkOutput instance, so create a class instance from that object\n map((input) => {\n return RemoveProxyLinkOutput.fromObject(input).fixClasses();\n }));\n }\n rescindHighestBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/rescind-highest-bid`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RescindHighestBidOutput instance, so create a class instance from that object\n map((input) => {\n return RescindHighestBidOutput.fromObject(input).fixClasses();\n }));\n }\n rescindPurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/rescind-purchase-item`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) RescindPurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return RescindPurchasedItemOutput.fromObject(input).fixClasses();\n }));\n }\n resetMyTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/reset`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ResetMyTicketOutput instance, so create a class instance from that object\n map((input) => {\n return ResetMyTicketOutput.fromObject(input).fixClasses();\n }));\n }\n resetTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}/reset`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ResetTicketOutput instance, so create a class instance from that object\n map((input) => {\n return ResetTicketOutput.fromObject(input).fixClasses();\n }));\n }\n saveGuestCardOnFile(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.guestID}/save-guest-card`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SaveGuestCardOnFileOutput instance, so create a class instance from that object\n map((input) => {\n return SaveGuestCardOnFileOutput.fromObject(input).fixClasses();\n }));\n }\n searchGuests(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SearchGuestsOutput instance, so create a class instance from that object\n map((input) => {\n return SearchGuestsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n selfRegisterForEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SelfRegisterForEventOutput instance, so create a class instance from that object\n map((input) => {\n return SelfRegisterForEventOutput.fromObject(input).fixClasses();\n }));\n }\n sendEmail(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/send-email`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendEmailOutput instance, so create a class instance from that object\n map((input) => {\n return SendEmailOutput.fromObject(input).fixClasses();\n }));\n }\n sendMyTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/send`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendMyTicketOutput instance, so create a class instance from that object\n map((input) => {\n return SendMyTicketOutput.fromObject(input).fixClasses();\n }));\n }\n sendPickupReadyNotification(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/readyPickup`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendPickupReadyNotificationOutput instance, so create a class instance from that object\n map((input) => {\n return SendPickupReadyNotificationOutput.fromObject(input).fixClasses();\n }));\n }\n sendSilentAuctionReminderAlerts(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/silent-auction-reminder`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendSilentAuctionReminderAlertsOutput instance, so create a class instance from that object\n map((input) => {\n return SendSilentAuctionReminderAlertsOutput.fromObject(input).fixClasses();\n }));\n }\n sendSingleEmail(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/${input.invitationID}/send-email`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendSingleEmailOutput instance, so create a class instance from that object\n map((input) => {\n return SendSingleEmailOutput.fromObject(input).fixClasses();\n }));\n }\n sendTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}/send`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendTicketOutput instance, so create a class instance from that object\n map((input) => {\n return SendTicketOutput.fromObject(input).fixClasses();\n }));\n }\n setActiveLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/active-lot`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SetActiveLotOutput instance, so create a class instance from that object\n map((input) => {\n return SetActiveLotOutput.fromObject(input).fixClasses();\n }));\n }\n setMyPreEventQuestionnaireCompleteTime(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/set-pre-event-questionnaire-complete-time`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SetMyPreEventQuestionnaireCompleteTimeOutput instance, so create a class instance from that object\n map((input) => {\n return SetMyPreEventQuestionnaireCompleteTimeOutput.fromObject(input).fixClasses();\n }));\n }\n signSignalingClientConnection(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/sign-signaling-client-connection`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SignSignalingClientConnectionOutput instance, so create a class instance from that object\n map((input) => {\n return SignSignalingClientConnectionOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n supporterPurchasedItemsDetails(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/guests/${input.guestID}/item-detail`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SupporterPurchasedItemsDetailsOutput instance, so create a class instance from that object\n map((input) => {\n return SupporterPurchasedItemsDetailsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n syncGuestSessionsAndAttendees(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tablemanagement/guest-attendee-sync`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SyncGuestSessionsAndAttendeesOutput instance, so create a class instance from that object\n map((input) => {\n return SyncGuestSessionsAndAttendeesOutput.fromObject(input).fixClasses();\n }));\n }\n textPaymentLink(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestmessaging/${input.guestID}/text-payment`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) TextPaymentLinkOutput instance, so create a class instance from that object\n map((input) => {\n return TextPaymentLinkOutput.fromObject(input).fixClasses();\n }));\n }\n unbanFromLivestreamChat(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/chat-users/${input.userID}/unban`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UnbanFromLivestreamChatOutput instance, so create a class instance from that object\n map((input) => {\n return UnbanFromLivestreamChatOutput.fromObject(input).fixClasses();\n }));\n }\n undoCheckInGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}/undo-check-in`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UndoCheckInGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return UndoCheckInGuestSessionOutput.fromObject(input).fixClasses();\n }));\n }\n updateActiveOverlayConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control/shows/${input.showID}/scenes/${input.sceneID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateActiveOverlayConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateActiveOverlayConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updateAttendeeExperience(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guestexperience`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateAttendeeExperienceOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateAttendeeExperienceOutput.fromObject(input).fixClasses();\n }));\n }\n updateDonationMoment(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments/${input.donationMomentID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateDonationMomentOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateDonationMomentOutput.fromObject(input).fixClasses();\n }));\n }\n updateEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventOutput.fromObject(input).fixClasses();\n }));\n }\n updateEventSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventSessionOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventSessionOutput.fromObject(input).fixClasses();\n }));\n }\n updateEventSessionTicketConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs/${input.eventSessionTicketConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventSessionTicketConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventSessionTicketConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updateEventShowControl(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventShowControlOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventShowControlOutput.fromObject(input).fixClasses();\n }));\n }\n updateEventSlideConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideconfig/${input.eventSlideConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventSlideConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventSlideConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updateEventSlideshow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/eventslideshow/${input.eventSlideshowID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateEventSlideshowOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateEventSlideshowOutput.fromObject(input).fixClasses();\n }));\n }\n updateFixedPriceItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.itemID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateFixedPriceItemOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateFixedPriceItemOutput.fromObject(input).fixClasses();\n }));\n }\n updateFixedPriceItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateFixedPriceItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateFixedPriceItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n updateFixedPricePickedUp(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedprice/update-fixedPrice-pickedUp`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateFixedPricePickedUpOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateFixedPricePickedUpOutput.fromObject(input).fixClasses();\n }));\n }\n updateFixedPriceSortOrder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedprice/update-sort-order`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateFixedPriceSortOrderOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateFixedPriceSortOrderOutput.fromObject(input).fixClasses();\n }));\n }\n updateGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/${input.guestID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateGuestOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateGuestOutput.fromObject(input).fixClasses();\n }));\n }\n updateGuestSession(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateGuestSessionOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateGuestSessionOutput.fromObject(input).fixClasses();\n }));\n }\n updateGuestsForTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/update-guests-for-tickets`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateGuestsForTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateGuestsForTicketsOutput.fromObject(input).fixClasses();\n }));\n }\n updateImpact(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateImpactOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateImpactOutput.fromObject(input).fixClasses();\n }));\n }\n updateImpactPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateImpactPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateImpactPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n updateInvitation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/${input.invitationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateInvitationOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateInvitationOutput.fromObject(input).fixClasses();\n }));\n }\n updateLiveAppealConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control/shows/${input.showID}/scenes/${input.sceneID}/overlays/${input.overlayID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateLiveAppealConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateLiveAppealConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updateLotIncrement(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/lot-increment`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateLotIncrementOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateLotIncrementOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyExperienceType(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/experience-type`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyExperienceTypeOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyExperienceTypeOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyGuestOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyGuestOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyProfile(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/update-profile`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyProfileOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyProfileOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyProfileAndRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/update-profile-and-registration`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyProfileAndRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyProfileAndRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n updateMyTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateMyTicketOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateMyTicketOutput.fromObject(input).fixClasses();\n }));\n }\n updateOverlay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays/${input.overlayID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateOverlayOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateOverlayOutput.fromObject(input).fixClasses();\n }));\n }\n updatePickedUp(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/isPickedUp`;\n const headers = this.getHeaders();\n return this.httpClient.put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePickedUpOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePickedUpOutput.fromObject(input).fixClasses();\n }));\n }\n updatePickupItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePickupItemOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePickupItemOutput.fromObject(input).fixClasses();\n }));\n }\n updatePickupPreference(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/pickupPreference`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePickupPreferenceOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePickupPreferenceOutput.fromObject(input).fixClasses();\n }));\n }\n updatePreEventQuestionConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/preeventquestionconfigs/${input.preEventQuestionConfigID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePreEventQuestionConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePreEventQuestionConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updatePurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePurchasedItemOutput.fromObject(input).fixClasses();\n }));\n }\n updatePurchasedItemSalesTax(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchaseditemsalestax/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePurchasedItemSalesTaxOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePurchasedItemSalesTaxOutput.fromObject(input).fixClasses();\n }));\n }\n updateRegistration(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/${input.registrationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateRegistrationOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateRegistrationOutput.fromObject(input).fixClasses();\n }));\n }\n updateScene(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateSceneOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateSceneOutput.fromObject(input).fixClasses();\n }));\n }\n updateShow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateShowOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateShowOutput.fromObject(input).fixClasses();\n }));\n }\n updateTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateTicketOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateTicketOutput$1.fromObject(input).fixClasses();\n }));\n }\n updateTicketAndInviteProxyGuest(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}/invite-proxy-guest`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateTicketAndInviteProxyGuestOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateTicketAndInviteProxyGuestOutput.fromObject(input).fixClasses();\n }));\n }\n updateTicketTypeAndConfig(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/update-ticket-type/${input.eventSessionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateTicketTypeAndConfigOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateTicketTypeAndConfigOutput.fromObject(input).fixClasses();\n }));\n }\n updateVirtualChair(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateVirtualChairOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateVirtualChairOutput.fromObject(input).fixClasses();\n }));\n }\n updateVirtualTable(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.id}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateVirtualTableOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateVirtualTableOutput.fromObject(input).fixClasses();\n }));\n }\n uploadInvitations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/invitations/upload-csv-list`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UploadInvitationsOutput instance, so create a class instance from that object\n map((input) => {\n return UploadInvitationsOutput.fromObject(input).fixClasses();\n }));\n }\n uploadTableDataCSV(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tablemanagement/upload-csv`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UploadTableDataCSVOutput instance, so create a class instance from that object\n map((input) => {\n return UploadTableDataCSVOutput.fromObject(input).fixClasses();\n }));\n }\n validateVirtualTableCreation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/validate-and-create-tables`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ValidateVirtualTableCreationOutput instance, so create a class instance from that object\n map((input) => {\n return ValidateVirtualTableCreationOutput.fromObject(input).fixClasses();\n }));\n }\n viewBannedLivestreamChatUserRegistrations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/view/bannedlivestreamchatuserregistrations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewBannedLivestreamChatUserRegistrationsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewBannedLivestreamChatUserRegistrationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewDonationItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/donationitem`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewDonationItemOutput instance, so create a class instance from that object\n map((input) => {\n return ViewDonationItemOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewDonationsByDay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/donationsbyday`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewDonationsByDayOutput instance, so create a class instance from that object\n map((input) => {\n return ViewDonationsByDayOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewDonationSumPerDonor(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/donationsumperdonor`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewDonationSumPerDonorOutput instance, so create a class instance from that object\n map((input) => {\n return ViewDonationSumPerDonorOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewEventRegistrationPurchases(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/view/eventregistrationpurchases`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewEventRegistrationPurchasesOutput instance, so create a class instance from that object\n map((input) => {\n return ViewEventRegistrationPurchasesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewEventRegistrations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/view/eventregistrations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewEventRegistrationsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewEventRegistrationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewEventRegistrationsByDay(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/view/eventregistrationsbyday`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewEventRegistrationsByDayOutput instance, so create a class instance from that object\n map((input) => {\n return ViewEventRegistrationsByDayOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewFixedPriceDetails(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/view/fixedpricedetails`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewFixedPriceDetailsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewFixedPriceDetailsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewGuestsWithPurchasedItemCounts(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/view/guestswithpurchaseditemcounts`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewGuestsWithPurchasedItemCountsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewGuestsWithPurchasedItemCountsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewImpactsForOrg(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/impacts`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewImpactsForOrgOutput instance, so create a class instance from that object\n map((input) => {\n return ViewImpactsForOrgOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewPurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/purchaseditem`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewPurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return ViewPurchasedItemOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewPurchasedItemAnonymous(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/purchaseditemanonymous`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewPurchasedItemAnonymousOutput instance, so create a class instance from that object\n map((input) => {\n return ViewPurchasedItemAnonymousOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewRecentDonors(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/recentdonors`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewRecentDonorsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewRecentDonorsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewSearchGuests(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/view/searchguests`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewSearchGuestsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewSearchGuestsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewStatusSumItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/statussumitems`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewStatusSumItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewStatusSumItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewSupporterPurchasedItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/supporterpurchaseditem`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewSupporterPurchasedItemOutput instance, so create a class instance from that object\n map((input) => {\n return ViewSupporterPurchasedItemOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewSupporterPurchasedItemByPickupTime(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/supporterpurchaseditembypickuptime`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewSupporterPurchasedItemByPickupTimeOutput instance, so create a class instance from that object\n map((input) => {\n return ViewSupporterPurchasedItemByPickupTimeOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewSupporterPurchasedItemDetail(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/supporterpurchaseditemdetail`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewSupporterPurchasedItemDetailOutput instance, so create a class instance from that object\n map((input) => {\n return ViewSupporterPurchasedItemDetailOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewVirtualChairs(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/view/virtualchairs`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewVirtualChairsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewVirtualChairsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n}\nVirtualEventRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: VirtualEventRestService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nVirtualEventRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: VirtualEventRestService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: VirtualEventRestService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthHttpClient }]; } });\nclass AddProxyBidderInput {\n constructor(organizationID, eventID, guestID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddProxyBidderInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass AddProxyBidderOutput {\n constructor(proxyBidderID) {\n this.proxyBidderID = proxyBidderID !== null && proxyBidderID !== void 0 ? proxyBidderID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddProxyBidderOutput(input === null || input === void 0 ? void 0 : input.proxyBidderID);\n }\n}\nclass AddProxyLinkInput {\n constructor(organizationID, eventID, guestID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddProxyLinkInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass AddProxyLinkOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddProxyLinkOutput();\n }\n}\nclass AppealRecentDonor {\n constructor(firstName, lastName, emojiSelected) {\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.emojiSelected = emojiSelected !== null && emojiSelected !== void 0 ? emojiSelected : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AppealRecentDonor(input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.emojiSelected);\n }\n}\nclass Attendee {\n constructor(tableID, ticketID, guestID, attendeeID, firstName, lastName, ticketTypeID, ticketTypeName, ticketStatus, checkInTime, claimedTime, tableName, tableNumber, groupID) {\n this.tableID = tableID !== null && tableID !== void 0 ? tableID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.attendeeID = attendeeID !== null && attendeeID !== void 0 ? attendeeID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketStatus = ticketStatus !== null && ticketStatus !== void 0 ? ticketStatus : \"\";\n this.checkInTime = checkInTime !== null && checkInTime !== void 0 ? checkInTime : null;\n this.claimedTime = claimedTime !== null && claimedTime !== void 0 ? claimedTime : null;\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.groupID = groupID !== null && groupID !== void 0 ? groupID : \"\";\n }\n convertDates() {\n if (this.checkInTime !== undefined && this.checkInTime !== null) {\n this.checkInTime = this.checkInTime ? new Date(this.checkInTime) : this.checkInTime;\n }\n if (this.claimedTime !== undefined && this.claimedTime !== null) {\n this.claimedTime = this.claimedTime ? new Date(this.claimedTime) : this.claimedTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Attendee(input === null || input === void 0 ? void 0 : input.tableID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.attendeeID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketStatus, input === null || input === void 0 ? void 0 : input.checkInTime, input === null || input === void 0 ? void 0 : input.claimedTime, input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.groupID);\n }\n}\nclass BanFromLivestreamChatInput {\n constructor(organizationID, eventID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BanFromLivestreamChatInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass BanFromLivestreamChatOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BanFromLivestreamChatOutput();\n }\n}\nclass BuyFixedPrices {\n constructor(fixedPriceItemID, name, quantity, amountCents) {\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyFixedPrices(input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass BuyItemAppealDonation {\n constructor(amountCents, emojiSelected, isAnonymous, fromSpotterTool, greatfeatsParticipantID, greatfeatsParticipantName) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.emojiSelected = emojiSelected !== null && emojiSelected !== void 0 ? emojiSelected : \"\";\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.fromSpotterTool = fromSpotterTool !== null && fromSpotterTool !== void 0 ? fromSpotterTool : false;\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.greatfeatsParticipantName = greatfeatsParticipantName !== null && greatfeatsParticipantName !== void 0 ? greatfeatsParticipantName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemAppealDonation(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.emojiSelected, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.fromSpotterTool, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantName);\n }\n}\nclass BuyItemAuctionLot {\n constructor(amountCents, auctionID, lotID) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemAuctionLot(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass BuyItemDonation {\n constructor(amountCents, isAnonymous, greatfeatsParticipantID, greatfeatsParticipantName) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.greatfeatsParticipantName = greatfeatsParticipantName !== null && greatfeatsParticipantName !== void 0 ? greatfeatsParticipantName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemDonation(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantName);\n }\n}\nclass BuyItemImpact {\n constructor(amountCents, impactID, name, isAnonymous) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemImpact(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.isAnonymous);\n }\n}\nclass BuyItemRaffleTickets {\n constructor(amountCents, raffleID, purchaseLevelID, quantity) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemRaffleTickets(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.quantity);\n }\n}\nclass BuyItemsInput {\n constructor(organizationID, eventID, guestID, firstName, lastName, email, mobilePhone, donations, appealDonations, impacts, raffleTickets, auctionLots, tickets, fixedPrices, miscellaneousCharges, payAfterEvent, cardID, cardHolderGuestID, cardName, expiration, cardType, cardLastFour, token, coverFee, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry, fakeTransactionResult, isExternalPayment, isAnonymous, overrideCCRequirement, overrideUserID, saveCardForFutureUse, paymentType, checkNumber, paymentOtherTypeNotes) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.donations = donations !== null && donations !== void 0 ? donations : [];\n this.appealDonations = appealDonations !== null && appealDonations !== void 0 ? appealDonations : [];\n this.impacts = impacts !== null && impacts !== void 0 ? impacts : [];\n this.raffleTickets = raffleTickets !== null && raffleTickets !== void 0 ? raffleTickets : [];\n this.auctionLots = auctionLots !== null && auctionLots !== void 0 ? auctionLots : [];\n this.tickets = tickets !== null && tickets !== void 0 ? tickets : [];\n this.fixedPrices = fixedPrices !== null && fixedPrices !== void 0 ? fixedPrices : [];\n this.miscellaneousCharges = miscellaneousCharges !== null && miscellaneousCharges !== void 0 ? miscellaneousCharges : [];\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.cardID = cardID !== null && cardID !== void 0 ? cardID : \"\";\n this.cardHolderGuestID = cardHolderGuestID !== null && cardHolderGuestID !== void 0 ? cardHolderGuestID : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n this.isExternalPayment = isExternalPayment !== null && isExternalPayment !== void 0 ? isExternalPayment : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.overrideCCRequirement = overrideCCRequirement !== null && overrideCCRequirement !== void 0 ? overrideCCRequirement : false;\n this.overrideUserID = overrideUserID !== null && overrideUserID !== void 0 ? overrideUserID : \"\";\n this.saveCardForFutureUse = saveCardForFutureUse !== null && saveCardForFutureUse !== void 0 ? saveCardForFutureUse : false;\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n this.paymentOtherTypeNotes = paymentOtherTypeNotes !== null && paymentOtherTypeNotes !== void 0 ? paymentOtherTypeNotes : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.donations) {\n this.donations = [];\n }\n if (!this.appealDonations) {\n this.appealDonations = [];\n }\n if (!this.impacts) {\n this.impacts = [];\n }\n if (!this.raffleTickets) {\n this.raffleTickets = [];\n }\n if (!this.auctionLots) {\n this.auctionLots = [];\n }\n if (!this.tickets) {\n this.tickets = [];\n }\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = this.tickets[i0] ? this.tickets[i0].convertUnexpectedNulls() : this.tickets[i0];\n }\n if (!this.fixedPrices) {\n this.fixedPrices = [];\n }\n if (!this.miscellaneousCharges) {\n this.miscellaneousCharges = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.donations.length; i0 += 1) {\n this.donations[i0] = BuyItemDonation.fromObject(this.donations[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.appealDonations.length; i0 += 1) {\n this.appealDonations[i0] = BuyItemAppealDonation.fromObject(this.appealDonations[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.impacts.length; i0 += 1) {\n this.impacts[i0] = BuyItemImpact.fromObject(this.impacts[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.raffleTickets.length; i0 += 1) {\n this.raffleTickets[i0] = BuyItemRaffleTickets.fromObject(this.raffleTickets[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.auctionLots.length; i0 += 1) {\n this.auctionLots[i0] = BuyItemAuctionLot.fromObject(this.auctionLots[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = BuyItemTickets.fromObject(this.tickets[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.fixedPrices.length; i0 += 1) {\n this.fixedPrices[i0] = BuyFixedPrices.fromObject(this.fixedPrices[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.miscellaneousCharges.length; i0 += 1) {\n this.miscellaneousCharges[i0] = BuyMiscellaneousCharges.fromObject(this.miscellaneousCharges[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new BuyItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.donations, input === null || input === void 0 ? void 0 : input.appealDonations, input === null || input === void 0 ? void 0 : input.impacts, input === null || input === void 0 ? void 0 : input.raffleTickets, input === null || input === void 0 ? void 0 : input.auctionLots, input === null || input === void 0 ? void 0 : input.tickets, input === null || input === void 0 ? void 0 : input.fixedPrices, input === null || input === void 0 ? void 0 : input.miscellaneousCharges, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.cardID, input === null || input === void 0 ? void 0 : input.cardHolderGuestID, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.fakeTransactionResult, input === null || input === void 0 ? void 0 : input.isExternalPayment, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.overrideCCRequirement, input === null || input === void 0 ? void 0 : input.overrideUserID, input === null || input === void 0 ? void 0 : input.saveCardForFutureUse, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.checkNumber, input === null || input === void 0 ? void 0 : input.paymentOtherTypeNotes);\n }\n}\nclass BuyItemsOutput {\n constructor(ticketManagementToken) {\n this.ticketManagementToken = ticketManagementToken !== null && ticketManagementToken !== void 0 ? ticketManagementToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyItemsOutput(input === null || input === void 0 ? void 0 : input.ticketManagementToken);\n }\n}\nclass BuyItemTickets {\n constructor(ticketTypeID, attendeeFirstName, attendeeLastName, attendeeEmail, ticketOptionAnswers, isClaiming, promoCode) {\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : \"\";\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : \"\";\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : \"\";\n this.ticketOptionAnswers = ticketOptionAnswers !== null && ticketOptionAnswers !== void 0 ? ticketOptionAnswers : [];\n this.isClaiming = isClaiming !== null && isClaiming !== void 0 ? isClaiming : false;\n this.promoCode = promoCode !== null && promoCode !== void 0 ? promoCode : new TicketPromoCodeSummary();\n }\n convertUnexpectedNulls() {\n if (!this.ticketOptionAnswers) {\n this.ticketOptionAnswers = [];\n }\n this.promoCode = this.promoCode ? this.promoCode.convertUnexpectedNulls() : this.promoCode;\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.ticketOptionAnswers.length; i0 += 1) {\n this.ticketOptionAnswers[i0] = TicketOptionAnswer.fromObject(this.ticketOptionAnswers[i0]).fixClasses();\n }\n this.promoCode = TicketPromoCodeSummary.fromObject(this.promoCode).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new BuyItemTickets(input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.ticketOptionAnswers, input === null || input === void 0 ? void 0 : input.isClaiming, input === null || input === void 0 ? void 0 : input.promoCode);\n }\n}\nclass BuyMiscellaneousCharges {\n constructor(description, amountCents) {\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyMiscellaneousCharges(input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass BuyNowInput$1 {\n constructor(organizationID, eventID, auctionID, lotID, auctionType, bidderID, bidTime, guestID, assignWinnerOverride, assignWinnerAmountCents, overrideUserID, isUnregisteredGuest) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n this.assignWinnerAmountCents = assignWinnerAmountCents !== null && assignWinnerAmountCents !== void 0 ? assignWinnerAmountCents : 0;\n this.overrideUserID = overrideUserID !== null && overrideUserID !== void 0 ? overrideUserID : \"\";\n this.isUnregisteredGuest = isUnregisteredGuest !== null && isUnregisteredGuest !== void 0 ? isUnregisteredGuest : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyNowInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride, input === null || input === void 0 ? void 0 : input.assignWinnerAmountCents, input === null || input === void 0 ? void 0 : input.overrideUserID, input === null || input === void 0 ? void 0 : input.isUnregisteredGuest);\n }\n}\nclass BuyNowOutput$1 {\n constructor(bidID) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyNowOutput$1(input === null || input === void 0 ? void 0 : input.bidID);\n }\n}\nclass CalculateCoverCostInput {\n constructor(organizationID, virtualEventID, cardType, amountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CalculateCoverCostInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass CalculateCoverCostOutput {\n constructor(coverCostCents, subTotalCents, totalCents) {\n this.coverCostCents = coverCostCents !== null && coverCostCents !== void 0 ? coverCostCents : 0;\n this.subTotalCents = subTotalCents !== null && subTotalCents !== void 0 ? subTotalCents : 0;\n this.totalCents = totalCents !== null && totalCents !== void 0 ? totalCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CalculateCoverCostOutput(input === null || input === void 0 ? void 0 : input.coverCostCents, input === null || input === void 0 ? void 0 : input.subTotalCents, input === null || input === void 0 ? void 0 : input.totalCents);\n }\n}\nclass CalculatePurchaseTotalsInput {\n constructor(organizationID, eventID, tickets) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.tickets = tickets !== null && tickets !== void 0 ? tickets : [];\n }\n convertUnexpectedNulls() {\n if (!this.tickets) {\n this.tickets = [];\n }\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = this.tickets[i0] ? this.tickets[i0].convertUnexpectedNulls() : this.tickets[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = BuyItemTickets.fromObject(this.tickets[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new CalculatePurchaseTotalsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.tickets);\n }\n}\nclass CalculatePurchaseTotalsOutput {\n constructor(ticketsTotalCents, ticketFeesTotalCents, feesTotalCents, subtotalCents, totalCents) {\n this.ticketsTotalCents = ticketsTotalCents !== null && ticketsTotalCents !== void 0 ? ticketsTotalCents : 0;\n this.ticketFeesTotalCents = ticketFeesTotalCents !== null && ticketFeesTotalCents !== void 0 ? ticketFeesTotalCents : 0;\n this.feesTotalCents = feesTotalCents !== null && feesTotalCents !== void 0 ? feesTotalCents : 0;\n this.subtotalCents = subtotalCents !== null && subtotalCents !== void 0 ? subtotalCents : 0;\n this.totalCents = totalCents !== null && totalCents !== void 0 ? totalCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CalculatePurchaseTotalsOutput(input === null || input === void 0 ? void 0 : input.ticketsTotalCents, input === null || input === void 0 ? void 0 : input.ticketFeesTotalCents, input === null || input === void 0 ? void 0 : input.feesTotalCents, input === null || input === void 0 ? void 0 : input.subtotalCents, input === null || input === void 0 ? void 0 : input.totalCents);\n }\n}\nclass CalculateTotalAmountInput {\n constructor(organizationID, eventID, userID, guestID, itemIDs, coveredCostSelected) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n this.coveredCostSelected = coveredCostSelected !== null && coveredCostSelected !== void 0 ? coveredCostSelected : false;\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CalculateTotalAmountInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.itemIDs, input === null || input === void 0 ? void 0 : input.coveredCostSelected);\n }\n}\nclass CalculateTotalAmountOutput {\n constructor(totalAmountCents, coveredCostAmountCents, salesTaxAmountCents, subtotalAmountCents) {\n this.totalAmountCents = totalAmountCents !== null && totalAmountCents !== void 0 ? totalAmountCents : 0;\n this.coveredCostAmountCents = coveredCostAmountCents !== null && coveredCostAmountCents !== void 0 ? coveredCostAmountCents : 0;\n this.salesTaxAmountCents = salesTaxAmountCents !== null && salesTaxAmountCents !== void 0 ? salesTaxAmountCents : 0;\n this.subtotalAmountCents = subtotalAmountCents !== null && subtotalAmountCents !== void 0 ? subtotalAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CalculateTotalAmountOutput(input === null || input === void 0 ? void 0 : input.totalAmountCents, input === null || input === void 0 ? void 0 : input.coveredCostAmountCents, input === null || input === void 0 ? void 0 : input.salesTaxAmountCents, input === null || input === void 0 ? void 0 : input.subtotalAmountCents);\n }\n}\nclass Chair {\n constructor(id, email, firstName, lastName, channelName, channelARN) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Chair(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN);\n }\n}\nclass CheckGuestForClaimedTicketInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckGuestForClaimedTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass CheckGuestForClaimedTicketOutput {\n constructor(action) {\n this.action = action !== null && action !== void 0 ? action : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckGuestForClaimedTicketOutput(input === null || input === void 0 ? void 0 : input.action);\n }\n}\nclass CheckInGuestSessionInput {\n constructor(organizationID, eventID, eventSessionID, guestSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInGuestSessionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestSessionID);\n }\n}\nclass CheckInGuestSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInGuestSessionOutput();\n }\n}\nclass CheckInMyGuestSessionsInput {\n constructor(organizationID, eventID, eventSessionID, guestSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInMyGuestSessionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestSessionID);\n }\n}\nclass CheckInMyGuestSessionsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInMyGuestSessionsOutput();\n }\n}\nclass CheckInMyTicketsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInMyTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass CheckInMyTicketsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CheckInMyTicketsOutput();\n }\n}\nclass ClaimGuestFromTokenInput {\n constructor(organizationID, eventID, eventSessionID, guestToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestToken = guestToken !== null && guestToken !== void 0 ? guestToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClaimGuestFromTokenInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestToken);\n }\n}\nclass ClaimGuestFromTokenOutput {\n constructor(result) {\n this.result = result !== null && result !== void 0 ? result : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClaimGuestFromTokenOutput(input === null || input === void 0 ? void 0 : input.result);\n }\n}\nclass ClaimMyTicketInput {\n constructor(organizationID, eventID, eventSessionID, ticketAssignmentToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.ticketAssignmentToken = ticketAssignmentToken !== null && ticketAssignmentToken !== void 0 ? ticketAssignmentToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClaimMyTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.ticketAssignmentToken);\n }\n}\nclass ClaimMyTicketOutput {\n constructor(ticketID) {\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClaimMyTicketOutput(input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass ClaimTicketAndRegisterInput {\n constructor(organizationID, eventID, firstName, lastName, email, mobilePhone, ticketID, ticketOptionAnswers, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketOptionAnswers = ticketOptionAnswers !== null && ticketOptionAnswers !== void 0 ? ticketOptionAnswers : [];\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.ticketOptionAnswers) {\n this.ticketOptionAnswers = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.ticketOptionAnswers.length; i0 += 1) {\n this.ticketOptionAnswers[i0] = TicketOptionAnswer.fromObject(this.ticketOptionAnswers[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ClaimTicketAndRegisterInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketOptionAnswers, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry);\n }\n}\nclass ClaimTicketAndRegisterOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClaimTicketAndRegisterOutput();\n }\n}\nclass ClearAllBidsInput$1 {\n constructor(organizationID, eventID, auctionID, lotID, bidID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClearAllBidsInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass ClearAllBidsOutput$1 {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClearAllBidsOutput$1();\n }\n}\nclass CloseBiddingInput {\n constructor(organizationID, eventID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseBiddingInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass CloseBiddingOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseBiddingOutput();\n }\n}\nclass CloseBroadcastInput {\n constructor(organizationID, eventID, showID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseBroadcastInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID);\n }\n}\nclass CloseBroadcastOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseBroadcastOutput();\n }\n}\nclass CompleteMyPreEventQuestionnaireInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompleteMyPreEventQuestionnaireInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass CompleteMyPreEventQuestionnaireOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompleteMyPreEventQuestionnaireOutput();\n }\n}\nclass CompTicketInput {\n constructor(organizationID, eventID, ticketTypeID, attendeeFirstName, attendeeLastName, attendeeEmail, managerFirstName, managerLastName, managerEmail, isManaged, canSkipEmail) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : \"\";\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : \"\";\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : \"\";\n this.managerFirstName = managerFirstName !== null && managerFirstName !== void 0 ? managerFirstName : \"\";\n this.managerLastName = managerLastName !== null && managerLastName !== void 0 ? managerLastName : \"\";\n this.managerEmail = managerEmail !== null && managerEmail !== void 0 ? managerEmail : \"\";\n this.isManaged = isManaged !== null && isManaged !== void 0 ? isManaged : false;\n this.canSkipEmail = canSkipEmail !== null && canSkipEmail !== void 0 ? canSkipEmail : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.managerFirstName, input === null || input === void 0 ? void 0 : input.managerLastName, input === null || input === void 0 ? void 0 : input.managerEmail, input === null || input === void 0 ? void 0 : input.isManaged, input === null || input === void 0 ? void 0 : input.canSkipEmail);\n }\n}\nclass CompTicketOutput {\n constructor(ticketIDs) {\n this.ticketIDs = ticketIDs !== null && ticketIDs !== void 0 ? ticketIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.ticketIDs) {\n this.ticketIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompTicketOutput(input === null || input === void 0 ? void 0 : input.ticketIDs);\n }\n}\nclass CompTicketsInput {\n constructor(organizationID, eventID, ticketTypeIDs, managerFirstName, managerLastName, managerEmail, isManaged) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketTypeIDs = ticketTypeIDs !== null && ticketTypeIDs !== void 0 ? ticketTypeIDs : [];\n this.managerFirstName = managerFirstName !== null && managerFirstName !== void 0 ? managerFirstName : \"\";\n this.managerLastName = managerLastName !== null && managerLastName !== void 0 ? managerLastName : \"\";\n this.managerEmail = managerEmail !== null && managerEmail !== void 0 ? managerEmail : \"\";\n this.isManaged = isManaged !== null && isManaged !== void 0 ? isManaged : false;\n }\n convertUnexpectedNulls() {\n if (!this.ticketTypeIDs) {\n this.ticketTypeIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketTypeIDs, input === null || input === void 0 ? void 0 : input.managerFirstName, input === null || input === void 0 ? void 0 : input.managerLastName, input === null || input === void 0 ? void 0 : input.managerEmail, input === null || input === void 0 ? void 0 : input.isManaged);\n }\n}\nclass CompTicketsOutput {\n constructor(ticketIDs) {\n this.ticketIDs = ticketIDs !== null && ticketIDs !== void 0 ? ticketIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.ticketIDs) {\n this.ticketIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CompTicketsOutput(input === null || input === void 0 ? void 0 : input.ticketIDs);\n }\n}\nclass CountDonationMomentsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountDonationMomentsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountDonationMomentsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountDonationMomentsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountEventSessionsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSessionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountEventSessionsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSessionsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountEventSessionTicketConfigsInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSessionTicketConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountEventSessionTicketConfigsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSessionTicketConfigsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountEventsInput {\n constructor(organizationID, timezone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountEventSlideConfigsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSlideConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountEventSlideConfigsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSlideConfigsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountEventSlideshowsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSlideshowsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountEventSlideshowsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventSlideshowsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountEventsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountEventsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountFixedPriceItemPhotosInput {\n constructor(organizationID, eventID, fixedPriceItemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountFixedPriceItemPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountFixedPriceItemPhotosOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountFixedPriceItemPhotosOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountFixedPriceItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountFixedPriceItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountFixedPriceItemsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountFixedPriceItemsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountGuestSessionsInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountGuestSessionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountGuestSessionsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountGuestSessionsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountGuestsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountGuestsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountGuestsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountGuestsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountImpactPhotosInput {\n constructor(organizationID, eventID, impactID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountImpactPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountImpactPhotosOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountImpactPhotosOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountImpactsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountImpactsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountImpactsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountImpactsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountMyTicketsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountMyTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountMyTicketsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountMyTicketsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountOverlaysInput {\n constructor(organizationID, eventID, showID, sceneID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountOverlaysInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountOverlaysOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountOverlaysOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountPickupItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPickupItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountPickupItemsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPickupItemsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountPreEventQuestionConfigsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPreEventQuestionConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountPreEventQuestionConfigsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPreEventQuestionConfigsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountPurchasedItemSalesTaxesInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPurchasedItemSalesTaxesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountPurchasedItemSalesTaxesOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPurchasedItemSalesTaxesOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountPurchasedItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountPurchasedItemsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountPurchasedItemsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountRegistrationsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountRegistrationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountRegistrationsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountRegistrationsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountScenesInput {\n constructor(organizationID, eventID, showID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountScenesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountScenesOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountScenesOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountShowsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountShowsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountShowsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountShowsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountVirtualChairsInput {\n constructor(organizationID, virtualEventID, virtualTableID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountVirtualChairsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountVirtualChairsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountVirtualChairsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountVirtualTablesInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountVirtualTablesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountVirtualTablesOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountVirtualTablesOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CreateAuctionAndSceneInput {\n constructor(organizationID, eventID, name, description, openTime, closeTime, type, activeLotID, auctionGoalCents, inPerson) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n this.auctionGoalCents = auctionGoalCents !== null && auctionGoalCents !== void 0 ? auctionGoalCents : 0;\n this.inPerson = inPerson !== null && inPerson !== void 0 ? inPerson : false;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateAuctionAndSceneInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.activeLotID, input === null || input === void 0 ? void 0 : input.auctionGoalCents, input === null || input === void 0 ? void 0 : input.inPerson);\n }\n}\nclass CreateAuctionAndSceneOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateAuctionAndSceneOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateBidLimitInput$1 {\n constructor(organizationID, eventID, auctionID, lotID, amountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidLimitInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass CreateBidLimitOutput$1 {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidLimitOutput$1();\n }\n}\nclass CreateChannelInput {\n constructor(organizationID, virtualEventID, virtualTableID, virtualChairID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.virtualChairID = virtualChairID !== null && virtualChairID !== void 0 ? virtualChairID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateChannelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.virtualChairID);\n }\n}\nclass CreateChannelOutput {\n constructor(channelARN, channelName) {\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateChannelOutput(input === null || input === void 0 ? void 0 : input.channelARN, input === null || input === void 0 ? void 0 : input.channelName);\n }\n}\nclass CreateDonationMomentAndSceneOverlayInput {\n constructor(organizationID, eventID, showID, sceneID, name, type, donationLevelsAmountCents, disableOnlineDonations, giveAtAnyLevelEnabled) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.donationLevelsAmountCents = donationLevelsAmountCents !== null && donationLevelsAmountCents !== void 0 ? donationLevelsAmountCents : [];\n this.disableOnlineDonations = disableOnlineDonations !== null && disableOnlineDonations !== void 0 ? disableOnlineDonations : false;\n this.giveAtAnyLevelEnabled = giveAtAnyLevelEnabled !== null && giveAtAnyLevelEnabled !== void 0 ? giveAtAnyLevelEnabled : false;\n }\n convertUnexpectedNulls() {\n if (!this.donationLevelsAmountCents) {\n this.donationLevelsAmountCents = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateDonationMomentAndSceneOverlayInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.donationLevelsAmountCents, input === null || input === void 0 ? void 0 : input.disableOnlineDonations, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelEnabled);\n }\n}\nclass CreateDonationMomentAndSceneOverlayOutput {\n constructor(donationMomentID, sceneID, overlayID) {\n this.donationMomentID = donationMomentID !== null && donationMomentID !== void 0 ? donationMomentID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateDonationMomentAndSceneOverlayOutput(input === null || input === void 0 ? void 0 : input.donationMomentID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.overlayID);\n }\n}\nclass CreateDonationMomentInput {\n constructor(organizationID, eventID, name, type, donationLevelsAmountCents, disableOnlineDonations, giveAtAnyLevelEnabled, giveAtAnyLevelActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.donationLevelsAmountCents = donationLevelsAmountCents !== null && donationLevelsAmountCents !== void 0 ? donationLevelsAmountCents : [];\n this.disableOnlineDonations = disableOnlineDonations !== null && disableOnlineDonations !== void 0 ? disableOnlineDonations : false;\n this.giveAtAnyLevelEnabled = giveAtAnyLevelEnabled !== null && giveAtAnyLevelEnabled !== void 0 ? giveAtAnyLevelEnabled : false;\n this.giveAtAnyLevelActive = giveAtAnyLevelActive !== null && giveAtAnyLevelActive !== void 0 ? giveAtAnyLevelActive : false;\n }\n convertUnexpectedNulls() {\n if (!this.donationLevelsAmountCents) {\n this.donationLevelsAmountCents = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateDonationMomentInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.donationLevelsAmountCents, input === null || input === void 0 ? void 0 : input.disableOnlineDonations, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelEnabled, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelActive);\n }\n}\nclass CreateDonationMomentOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateDonationMomentOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateEventInput {\n constructor(organizationID, name, eventType, primaryDate, primaryEndDate, timezone, isCoverCostActive, coverCostPercent, coverCostCustomMessage, coverCostDefault, enableTicketing, thermometerConfig, testEvent, enableSelfCheckin, salesTaxPercent, salesTaxAppliesTo, salesTaxCoverageType, externalID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.eventType = eventType !== null && eventType !== void 0 ? eventType : \"\";\n this.primaryDate = primaryDate !== null && primaryDate !== void 0 ? primaryDate : null;\n this.primaryEndDate = primaryEndDate !== null && primaryEndDate !== void 0 ? primaryEndDate : null;\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.isCoverCostActive = isCoverCostActive !== null && isCoverCostActive !== void 0 ? isCoverCostActive : false;\n this.coverCostPercent = coverCostPercent !== null && coverCostPercent !== void 0 ? coverCostPercent : 0;\n this.coverCostCustomMessage = coverCostCustomMessage !== null && coverCostCustomMessage !== void 0 ? coverCostCustomMessage : \"\";\n this.coverCostDefault = coverCostDefault !== null && coverCostDefault !== void 0 ? coverCostDefault : false;\n this.enableTicketing = enableTicketing !== null && enableTicketing !== void 0 ? enableTicketing : false;\n this.thermometerConfig = thermometerConfig !== null && thermometerConfig !== void 0 ? thermometerConfig : new ThermometerSetupConfig();\n this.testEvent = testEvent !== null && testEvent !== void 0 ? testEvent : false;\n this.enableSelfCheckin = enableSelfCheckin !== null && enableSelfCheckin !== void 0 ? enableSelfCheckin : false;\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.salesTaxAppliesTo = salesTaxAppliesTo !== null && salesTaxAppliesTo !== void 0 ? salesTaxAppliesTo : \"\";\n this.salesTaxCoverageType = salesTaxCoverageType !== null && salesTaxCoverageType !== void 0 ? salesTaxCoverageType : \"\";\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n }\n convertDates() {\n if (this.primaryDate !== undefined && this.primaryDate !== null) {\n this.primaryDate = this.primaryDate ? new Date(this.primaryDate) : this.primaryDate;\n }\n if (this.primaryEndDate !== undefined && this.primaryEndDate !== null) {\n this.primaryEndDate = this.primaryEndDate ? new Date(this.primaryEndDate) : this.primaryEndDate;\n }\n return this;\n }\n fixClasses() {\n this.thermometerConfig = ThermometerSetupConfig.fromObject(this.thermometerConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new CreateEventInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.eventType, input === null || input === void 0 ? void 0 : input.primaryDate, input === null || input === void 0 ? void 0 : input.primaryEndDate, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.isCoverCostActive, input === null || input === void 0 ? void 0 : input.coverCostPercent, input === null || input === void 0 ? void 0 : input.coverCostCustomMessage, input === null || input === void 0 ? void 0 : input.coverCostDefault, input === null || input === void 0 ? void 0 : input.enableTicketing, input === null || input === void 0 ? void 0 : input.thermometerConfig, input === null || input === void 0 ? void 0 : input.testEvent, input === null || input === void 0 ? void 0 : input.enableSelfCheckin, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.salesTaxAppliesTo, input === null || input === void 0 ? void 0 : input.salesTaxCoverageType, input === null || input === void 0 ? void 0 : input.externalID);\n }\n}\nclass CreateEventOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateEventSessionInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSessionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass CreateEventSessionOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSessionOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateEventSessionTicketConfigInput {\n constructor(organizationID, eventID, eventSessionID, ticketTypeID, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSessionTicketConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass CreateEventSessionTicketConfigOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSessionTicketConfigOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateEventSlideConfigInput {\n constructor(organizationID, eventID, slideType, detailsJSON) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.slideType = slideType !== null && slideType !== void 0 ? slideType : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSlideConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.slideType, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass CreateEventSlideConfigOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSlideConfigOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateEventSlideshowInput {\n constructor(organizationID, eventID, activeSlideURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.activeSlideURL = activeSlideURL !== null && activeSlideURL !== void 0 ? activeSlideURL : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSlideshowInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.activeSlideURL);\n }\n}\nclass CreateEventSlideshowOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateEventSlideshowOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateFixedPriceItemInput {\n constructor(organizationID, eventID, name, priceCents, valueCents, isTaxable, description, numPurchased, maxNumAvailable, numUnlimited, inPersonOnly, pickupLater, pickupTonight, isPickUpEventLevel, sortOrder) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.numPurchased = numPurchased !== null && numPurchased !== void 0 ? numPurchased : 0;\n this.maxNumAvailable = maxNumAvailable !== null && maxNumAvailable !== void 0 ? maxNumAvailable : 0;\n this.numUnlimited = numUnlimited !== null && numUnlimited !== void 0 ? numUnlimited : false;\n this.inPersonOnly = inPersonOnly !== null && inPersonOnly !== void 0 ? inPersonOnly : false;\n this.pickupLater = pickupLater !== null && pickupLater !== void 0 ? pickupLater : false;\n this.pickupTonight = pickupTonight !== null && pickupTonight !== void 0 ? pickupTonight : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n this.sortOrder = sortOrder !== null && sortOrder !== void 0 ? sortOrder : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateFixedPriceItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.numPurchased, input === null || input === void 0 ? void 0 : input.maxNumAvailable, input === null || input === void 0 ? void 0 : input.numUnlimited, input === null || input === void 0 ? void 0 : input.inPersonOnly, input === null || input === void 0 ? void 0 : input.pickupLater, input === null || input === void 0 ? void 0 : input.pickupTonight, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.sortOrder);\n }\n}\nclass CreateFixedPriceItemOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateFixedPriceItemOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateFixedPriceItemPhotoInput {\n constructor(organizationID, eventID, fixedPriceItemID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateFixedPriceItemPhotoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass CreateFixedPriceItemPhotoOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateFixedPriceItemPhotoOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateGuestInput {\n constructor(organizationID, eventID, userID, registrationID, bidderNumber, attendeeNumber, managingGuestID, firstName, lastName, email, mobilePhone, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, purchasedItemPrimaryUserID, purchasedItemPrimaryGuestID, address, city, state, postalCode, country, userCardID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : false;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : false;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : false;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : false;\n this.purchasedItemPrimaryUserID = purchasedItemPrimaryUserID !== null && purchasedItemPrimaryUserID !== void 0 ? purchasedItemPrimaryUserID : \"\";\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryUserID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass CreateGuestOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateGuestSessionInput {\n constructor(organizationID, eventID, eventSessionID, guestID, isCheckInWithManagingGuest, checkedInTime, tableAttendeeID, ticketID, initialTableName, initialTableNumber, totalProceedsAmountCents, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.tableAttendeeID = tableAttendeeID !== null && tableAttendeeID !== void 0 ? tableAttendeeID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.initialTableName = initialTableName !== null && initialTableName !== void 0 ? initialTableName : \"\";\n this.initialTableNumber = initialTableNumber !== null && initialTableNumber !== void 0 ? initialTableNumber : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n convertDates() {\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestSessionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.tableAttendeeID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.initialTableName, input === null || input === void 0 ? void 0 : input.initialTableNumber, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass CreateGuestSessionOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestSessionOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateGuestWithoutHookInput {\n constructor(organizationID, eventID, userID, registrationID, bidderNumber, attendeeNumber, managingGuestID, firstName, lastName, email, mobilePhone, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, purchasedItemPrimaryUserID, purchasedItemPrimaryGuestID, address, city, state, postalCode, country, userCardID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : false;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : false;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : false;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : false;\n this.purchasedItemPrimaryUserID = purchasedItemPrimaryUserID !== null && purchasedItemPrimaryUserID !== void 0 ? purchasedItemPrimaryUserID : \"\";\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestWithoutHookInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryUserID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass CreateGuestWithoutHookOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateGuestWithoutHookOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateImpactInput {\n constructor(organizationID, eventID, name, amountCents, descriptionMarkdown, totalPurchasesLimit, totalPurchasesCountDisplayThreshold, totalPurchasesAmountCentsDisplayThreshold, goalType, goalPurchasesCount, goalPurchasesCountDisplayThreshold, goalPurchasesAmountCents, goalPurchasesAmountCentsDisplayThreshold, goalMetEmailSubject, goalMetEmailBodyMarkdown, goalMetSMSBody, hideFromFlow, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.totalPurchasesLimit = totalPurchasesLimit !== null && totalPurchasesLimit !== void 0 ? totalPurchasesLimit : 0;\n this.totalPurchasesCountDisplayThreshold = totalPurchasesCountDisplayThreshold !== null && totalPurchasesCountDisplayThreshold !== void 0 ? totalPurchasesCountDisplayThreshold : 0;\n this.totalPurchasesAmountCentsDisplayThreshold = totalPurchasesAmountCentsDisplayThreshold !== null && totalPurchasesAmountCentsDisplayThreshold !== void 0 ? totalPurchasesAmountCentsDisplayThreshold : 0;\n this.goalType = goalType !== null && goalType !== void 0 ? goalType : \"\";\n this.goalPurchasesCount = goalPurchasesCount !== null && goalPurchasesCount !== void 0 ? goalPurchasesCount : 0;\n this.goalPurchasesCountDisplayThreshold = goalPurchasesCountDisplayThreshold !== null && goalPurchasesCountDisplayThreshold !== void 0 ? goalPurchasesCountDisplayThreshold : 0;\n this.goalPurchasesAmountCents = goalPurchasesAmountCents !== null && goalPurchasesAmountCents !== void 0 ? goalPurchasesAmountCents : 0;\n this.goalPurchasesAmountCentsDisplayThreshold = goalPurchasesAmountCentsDisplayThreshold !== null && goalPurchasesAmountCentsDisplayThreshold !== void 0 ? goalPurchasesAmountCentsDisplayThreshold : 0;\n this.goalMetEmailSubject = goalMetEmailSubject !== null && goalMetEmailSubject !== void 0 ? goalMetEmailSubject : \"\";\n this.goalMetEmailBodyMarkdown = goalMetEmailBodyMarkdown !== null && goalMetEmailBodyMarkdown !== void 0 ? goalMetEmailBodyMarkdown : \"\";\n this.goalMetSMSBody = goalMetSMSBody !== null && goalMetSMSBody !== void 0 ? goalMetSMSBody : \"\";\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : false;\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateImpactInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalPurchasesLimit, input === null || input === void 0 ? void 0 : input.totalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalType, input === null || input === void 0 ? void 0 : input.goalPurchasesCount, input === null || input === void 0 ? void 0 : input.goalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalMetEmailSubject, input === null || input === void 0 ? void 0 : input.goalMetEmailBodyMarkdown, input === null || input === void 0 ? void 0 : input.goalMetSMSBody, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass CreateImpactOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateImpactOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateImpactPhotoInput {\n constructor(organizationID, eventID, impactID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateImpactPhotoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass CreateImpactPhotoOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateImpactPhotoOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateInvitationInput {\n constructor(organizationID, eventID, externalID, firstName, lastName, email, mobilePhone, messageTemplateMarkdown, invitationEmailSubject) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.messageTemplateMarkdown = messageTemplateMarkdown !== null && messageTemplateMarkdown !== void 0 ? messageTemplateMarkdown : \"\";\n this.invitationEmailSubject = invitationEmailSubject !== null && invitationEmailSubject !== void 0 ? invitationEmailSubject : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateInvitationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.messageTemplateMarkdown, input === null || input === void 0 ? void 0 : input.invitationEmailSubject);\n }\n}\nclass CreateInvitationOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateInvitationOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateOrUpdateTicketOptionAnswer {\n constructor(ticketOptionID, ticketOptionAnswerID, ticketOptionPromptChoiceID, ticketOptionAnswer) {\n this.ticketOptionID = ticketOptionID !== null && ticketOptionID !== void 0 ? ticketOptionID : \"\";\n this.ticketOptionAnswerID = ticketOptionAnswerID !== null && ticketOptionAnswerID !== void 0 ? ticketOptionAnswerID : \"\";\n this.ticketOptionPromptChoiceID = ticketOptionPromptChoiceID !== null && ticketOptionPromptChoiceID !== void 0 ? ticketOptionPromptChoiceID : \"\";\n this.ticketOptionAnswer = ticketOptionAnswer !== null && ticketOptionAnswer !== void 0 ? ticketOptionAnswer : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateOrUpdateTicketOptionAnswer(input === null || input === void 0 ? void 0 : input.ticketOptionID, input === null || input === void 0 ? void 0 : input.ticketOptionAnswerID, input === null || input === void 0 ? void 0 : input.ticketOptionPromptChoiceID, input === null || input === void 0 ? void 0 : input.ticketOptionAnswer);\n }\n}\nclass CreateOverlayInput {\n constructor(organizationID, eventID, showID, sceneID, name, type, config) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.config = config !== null && config !== void 0 ? config : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateOverlayInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.config);\n }\n}\nclass CreateOverlayOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateOverlayOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreatePickupItemInput {\n constructor(organizationID, eventID, userID, guestID, transactionID, pickupTimeSlot, isPickedUp, isReadyPickUp, pickedUpByGuestID, pickupPreference, purchasedItemID, itemID, inventoryLotID, inventoryAllocationID, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : null;\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.inventoryLotID = inventoryLotID !== null && inventoryLotID !== void 0 ? inventoryLotID : \"\";\n this.inventoryAllocationID = inventoryAllocationID !== null && inventoryAllocationID !== void 0 ? inventoryAllocationID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.pickupTimeSlot !== undefined && this.pickupTimeSlot !== null) {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePickupItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.inventoryLotID, input === null || input === void 0 ? void 0 : input.inventoryAllocationID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass CreatePickupItemOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePickupItemOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreatePreEventQuestionConfigInput {\n constructor(organizationID, eventID, questionOnePrompt, questionOneActive, questionTwoPrompt, questionTwoActive, questionThreePrompt, questionThreeActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.questionOnePrompt = questionOnePrompt !== null && questionOnePrompt !== void 0 ? questionOnePrompt : \"\";\n this.questionOneActive = questionOneActive !== null && questionOneActive !== void 0 ? questionOneActive : false;\n this.questionTwoPrompt = questionTwoPrompt !== null && questionTwoPrompt !== void 0 ? questionTwoPrompt : \"\";\n this.questionTwoActive = questionTwoActive !== null && questionTwoActive !== void 0 ? questionTwoActive : false;\n this.questionThreePrompt = questionThreePrompt !== null && questionThreePrompt !== void 0 ? questionThreePrompt : \"\";\n this.questionThreeActive = questionThreeActive !== null && questionThreeActive !== void 0 ? questionThreeActive : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePreEventQuestionConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.questionOnePrompt, input === null || input === void 0 ? void 0 : input.questionOneActive, input === null || input === void 0 ? void 0 : input.questionTwoPrompt, input === null || input === void 0 ? void 0 : input.questionTwoActive, input === null || input === void 0 ? void 0 : input.questionThreePrompt, input === null || input === void 0 ? void 0 : input.questionThreeActive);\n }\n}\nclass CreatePreEventQuestionConfigOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePreEventQuestionConfigOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreatePurchasedItemInput {\n constructor(organizationID, eventID, firstName, lastName, userID, guestID, email, mobilePhone, amountCents, type, impactID, auctionID, lotID, ticketID, fixedPriceItemID, raffleDetails, payAfterEvent, purchaseID, transactionStatus, transactionID, refundID, itemDetails, isExternal, isAnonymous, overriddenByUserID, proxyUserID, proxyGuestID, paidByGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.raffleDetails = raffleDetails !== null && raffleDetails !== void 0 ? raffleDetails : new RafflePurchaseDetails();\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : new ItemPurchaseDetails();\n this.isExternal = isExternal !== null && isExternal !== void 0 ? isExternal : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.paidByGuestID = paidByGuestID !== null && paidByGuestID !== void 0 ? paidByGuestID : \"\";\n }\n fixClasses() {\n this.raffleDetails = RafflePurchaseDetails.fromObject(this.raffleDetails).fixClasses();\n this.itemDetails = ItemPurchaseDetails.fromObject(this.itemDetails).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new CreatePurchasedItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.raffleDetails, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.isExternal, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.paidByGuestID);\n }\n}\nclass CreatePurchasedItemOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePurchasedItemOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreatePurchasedItemSalesTaxInput {\n constructor(organizationID, eventID, userID, guestID, amountCents, salesTaxPercent, payAfterEvent, purchaseID, purchasedItemID, transactionStatus, transactionID, refundID, overriddenByUserID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePurchasedItemSalesTaxInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass CreatePurchasedItemSalesTaxOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePurchasedItemSalesTaxOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateRaffleInput$1 {\n constructor(organizationID, eventID, name, description) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRaffleInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description);\n }\n}\nclass CreateRaffleOutput$1 {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRaffleOutput$1(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateRegistrationInput {\n constructor(organizationID, eventID, firstName, lastName, email, mobilePhone, accessCode, wantEmailUpdates, wantSMSUpdates, passthroughInvitationID, greatfeatsParticipantID, detailsJSON) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.accessCode = accessCode !== null && accessCode !== void 0 ? accessCode : \"\";\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : false;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : false;\n this.passthroughInvitationID = passthroughInvitationID !== null && passthroughInvitationID !== void 0 ? passthroughInvitationID : \"\";\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRegistrationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.accessCode, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates, input === null || input === void 0 ? void 0 : input.passthroughInvitationID, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass CreateRegistrationOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRegistrationOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateSceneAndOverlayInput {\n constructor(organizationID, eventID, showID, name, auctionID, donationMomentID, inheritDefaultStream, plannedDurationMinutes, streamType, url, overlayType) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.donationMomentID = donationMomentID !== null && donationMomentID !== void 0 ? donationMomentID : \"\";\n this.inheritDefaultStream = inheritDefaultStream !== null && inheritDefaultStream !== void 0 ? inheritDefaultStream : false;\n this.plannedDurationMinutes = plannedDurationMinutes !== null && plannedDurationMinutes !== void 0 ? plannedDurationMinutes : 0;\n this.streamType = streamType !== null && streamType !== void 0 ? streamType : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.overlayType = overlayType !== null && overlayType !== void 0 ? overlayType : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateSceneAndOverlayInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.donationMomentID, input === null || input === void 0 ? void 0 : input.inheritDefaultStream, input === null || input === void 0 ? void 0 : input.plannedDurationMinutes, input === null || input === void 0 ? void 0 : input.streamType, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.overlayType);\n }\n}\nclass CreateSceneAndOverlayOutput {\n constructor(sceneID, overlayID) {\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateSceneAndOverlayOutput(input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.overlayID);\n }\n}\nclass CreateSceneInput {\n constructor(organizationID, eventID, showID, streamID, name, descriptionMarkdown, plannedDurationMinutes, type, defaultOverlayConfig, activeOverlayConfig, isCurtain, inheritDefaultStream, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.streamID = streamID !== null && streamID !== void 0 ? streamID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.plannedDurationMinutes = plannedDurationMinutes !== null && plannedDurationMinutes !== void 0 ? plannedDurationMinutes : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.isCurtain = isCurtain !== null && isCurtain !== void 0 ? isCurtain : false;\n this.inheritDefaultStream = inheritDefaultStream !== null && inheritDefaultStream !== void 0 ? inheritDefaultStream : false;\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new CreateSceneInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.streamID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.plannedDurationMinutes, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.isCurtain, input === null || input === void 0 ? void 0 : input.inheritDefaultStream, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass CreateSceneOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateSceneOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateShowInput {\n constructor(organizationID, eventID, name, descriptionMarkdown, defaultOverlayConfig, overrideOverlayConfig, activeOverlayConfig, defaultStreamType, defaultStreamID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.overrideOverlayConfig = overrideOverlayConfig !== null && overrideOverlayConfig !== void 0 ? overrideOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.defaultStreamType = defaultStreamType !== null && defaultStreamType !== void 0 ? defaultStreamType : \"\";\n this.defaultStreamID = defaultStreamID !== null && defaultStreamID !== void 0 ? defaultStreamID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.overrideOverlayConfig = this.overrideOverlayConfig ? this.overrideOverlayConfig.convertUnexpectedNulls() : this.overrideOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.overrideOverlayConfig = OverlayConfiguration.fromObject(this.overrideOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new CreateShowInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.overrideOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.defaultStreamType, input === null || input === void 0 ? void 0 : input.defaultStreamID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass CreateShowOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateShowOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateTicketTypeAndConfigInput {\n constructor(organizationID, eventID, eventSessionID, name, description, maxTickets, quantityPerGroup, priceCents, valueCents, active, attendanceType, ticketOptions) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.maxTickets = maxTickets !== null && maxTickets !== void 0 ? maxTickets : 0;\n this.quantityPerGroup = quantityPerGroup !== null && quantityPerGroup !== void 0 ? quantityPerGroup : 0;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.active = active !== null && active !== void 0 ? active : false;\n this.attendanceType = attendanceType !== null && attendanceType !== void 0 ? attendanceType : \"\";\n this.ticketOptions = ticketOptions !== null && ticketOptions !== void 0 ? ticketOptions : [];\n }\n convertUnexpectedNulls() {\n if (!this.ticketOptions) {\n this.ticketOptions = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateTicketTypeAndConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.maxTickets, input === null || input === void 0 ? void 0 : input.quantityPerGroup, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.active, input === null || input === void 0 ? void 0 : input.attendanceType, input === null || input === void 0 ? void 0 : input.ticketOptions);\n }\n}\nclass CreateTicketTypeAndConfigOutput {\n constructor(ticketTypeID, eventSessionTicketConfigID) {\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.eventSessionTicketConfigID = eventSessionTicketConfigID !== null && eventSessionTicketConfigID !== void 0 ? eventSessionTicketConfigID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateTicketTypeAndConfigOutput(input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.eventSessionTicketConfigID);\n }\n}\nclass CreateVirtualChairInput {\n constructor(organizationID, virtualEventID, virtualTableID, userEmail, userFirstName, userLastName, userID, channelName, channelARN) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.userEmail = userEmail !== null && userEmail !== void 0 ? userEmail : \"\";\n this.userFirstName = userFirstName !== null && userFirstName !== void 0 ? userFirstName : \"\";\n this.userLastName = userLastName !== null && userLastName !== void 0 ? userLastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateVirtualChairInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.userEmail, input === null || input === void 0 ? void 0 : input.userFirstName, input === null || input === void 0 ? void 0 : input.userLastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN);\n }\n}\nclass CreateVirtualChairOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateVirtualChairOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateVirtualTableInput {\n constructor(organizationID, virtualEventID, name, tableNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateVirtualTableInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.tableNumber);\n }\n}\nclass CreateVirtualTableOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateVirtualTableOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass DeleteChannelInput {\n constructor(organizationID, virtualEventID, virtualTableID, virtualChairID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.virtualChairID = virtualChairID !== null && virtualChairID !== void 0 ? virtualChairID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteChannelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.virtualChairID);\n }\n}\nclass DeleteChannelOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteChannelOutput();\n }\n}\nclass DeleteDonationMomentInput {\n constructor(donationMomentID, organizationID, eventID) {\n this.donationMomentID = donationMomentID !== null && donationMomentID !== void 0 ? donationMomentID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteDonationMomentInput(input === null || input === void 0 ? void 0 : input.donationMomentID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteDonationMomentOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteDonationMomentOutput();\n }\n}\nclass DeleteEventInput {\n constructor(eventID, organizationID, timezone) {\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventInput(input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone);\n }\n}\nclass DeleteEventOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventOutput();\n }\n}\nclass DeleteEventSessionInput {\n constructor(eventSessionID, organizationID, eventID) {\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSessionInput(input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteEventSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSessionOutput();\n }\n}\nclass DeleteEventSessionTicketConfigInput {\n constructor(eventSessionTicketConfigID, organizationID, eventID, eventSessionID) {\n this.eventSessionTicketConfigID = eventSessionTicketConfigID !== null && eventSessionTicketConfigID !== void 0 ? eventSessionTicketConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSessionTicketConfigInput(input === null || input === void 0 ? void 0 : input.eventSessionTicketConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass DeleteEventSessionTicketConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSessionTicketConfigOutput();\n }\n}\nclass DeleteEventSlideConfigInput {\n constructor(eventSlideConfigID, organizationID, eventID) {\n this.eventSlideConfigID = eventSlideConfigID !== null && eventSlideConfigID !== void 0 ? eventSlideConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSlideConfigInput(input === null || input === void 0 ? void 0 : input.eventSlideConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteEventSlideConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSlideConfigOutput();\n }\n}\nclass DeleteEventSlideshowInput {\n constructor(eventSlideshowID, organizationID, eventID) {\n this.eventSlideshowID = eventSlideshowID !== null && eventSlideshowID !== void 0 ? eventSlideshowID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSlideshowInput(input === null || input === void 0 ? void 0 : input.eventSlideshowID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteEventSlideshowOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteEventSlideshowOutput();\n }\n}\nclass DeleteFixedPriceItemInput {\n constructor(itemID, organizationID, eventID) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteFixedPriceItemInput(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteFixedPriceItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteFixedPriceItemOutput();\n }\n}\nclass DeleteFixedPriceItemPhotoInput {\n constructor(photoID, organizationID, eventID, fixedPriceItemID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteFixedPriceItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass DeleteFixedPriceItemPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteFixedPriceItemPhotoOutput();\n }\n}\nclass DeleteGuestInput {\n constructor(guestID, organizationID, eventID) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteGuestInput(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteGuestOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteGuestOutput();\n }\n}\nclass DeleteGuestSessionInput {\n constructor(guestSessionID, organizationID, eventID, eventSessionID) {\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteGuestSessionInput(input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass DeleteGuestSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteGuestSessionOutput();\n }\n}\nclass DeleteImpactInput {\n constructor(impactID, organizationID, eventID) {\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteImpactInput(input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteImpactOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteImpactOutput();\n }\n}\nclass DeleteImpactPhotoInput {\n constructor(photoID, organizationID, eventID, impactID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteImpactPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID);\n }\n}\nclass DeleteImpactPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteImpactPhotoOutput();\n }\n}\nclass DeleteInvitationInput {\n constructor(organizationID, eventID, invitationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.invitationID = invitationID !== null && invitationID !== void 0 ? invitationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteInvitationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.invitationID);\n }\n}\nclass DeleteInvitationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteInvitationOutput();\n }\n}\nclass DeleteLivestreamChatMessageInput {\n constructor(organizationID, eventID, livestreamChatChannelID, messageTimestamp) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.livestreamChatChannelID = livestreamChatChannelID !== null && livestreamChatChannelID !== void 0 ? livestreamChatChannelID : \"\";\n this.messageTimestamp = messageTimestamp !== null && messageTimestamp !== void 0 ? messageTimestamp : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteLivestreamChatMessageInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.livestreamChatChannelID, input === null || input === void 0 ? void 0 : input.messageTimestamp);\n }\n}\nclass DeleteLivestreamChatMessageOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteLivestreamChatMessageOutput();\n }\n}\nclass DeleteOverlayInput {\n constructor(overlayID, organizationID, eventID, showID, sceneID) {\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteOverlayInput(input === null || input === void 0 ? void 0 : input.overlayID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID);\n }\n}\nclass DeleteOverlayOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteOverlayOutput();\n }\n}\nclass DeletePickupItemInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePickupItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeletePickupItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePickupItemOutput();\n }\n}\nclass DeletePreEventQuestionConfigInput {\n constructor(preEventQuestionConfigID, organizationID, eventID) {\n this.preEventQuestionConfigID = preEventQuestionConfigID !== null && preEventQuestionConfigID !== void 0 ? preEventQuestionConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePreEventQuestionConfigInput(input === null || input === void 0 ? void 0 : input.preEventQuestionConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeletePreEventQuestionConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePreEventQuestionConfigOutput();\n }\n}\nclass DeletePurchasedItemInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchasedItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeletePurchasedItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchasedItemOutput();\n }\n}\nclass DeletePurchasedItemSalesTaxInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchasedItemSalesTaxInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeletePurchasedItemSalesTaxOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchasedItemSalesTaxOutput();\n }\n}\nclass DeleteRegistrationInput {\n constructor(registrationID, organizationID, eventID) {\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteRegistrationInput(input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteRegistrationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteRegistrationOutput();\n }\n}\nclass DeleteSceneInput {\n constructor(sceneID, organizationID, eventID, showID) {\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteSceneInput(input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID);\n }\n}\nclass DeleteSceneOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteSceneOutput();\n }\n}\nclass DeleteShowInput {\n constructor(showID, organizationID, eventID) {\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteShowInput(input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DeleteShowOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteShowOutput();\n }\n}\nclass DeleteTicketInput$1 {\n constructor(organizationID, eventID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass DeleteTicketOutput$1 {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketOutput$1();\n }\n}\nclass DeleteVirtualChairInput {\n constructor(id, organizationID, virtualEventID, virtualTableID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteVirtualChairInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID);\n }\n}\nclass DeleteVirtualChairOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteVirtualChairOutput();\n }\n}\nclass DeleteVirtualTableInput {\n constructor(id, organizationID, virtualEventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteVirtualTableInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass DeleteVirtualTableOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteVirtualTableOutput();\n }\n}\nclass DisableLivestreamChatInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DisableLivestreamChatInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass DisableLivestreamChatOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DisableLivestreamChatOutput();\n }\n}\nclass DisconnectRaffleInput {\n constructor(organizationID, eventID, raffleID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DisconnectRaffleInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.raffleID);\n }\n}\nclass DisconnectRaffleOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DisconnectRaffleOutput();\n }\n}\nclass DonateAndSelfRegisterInput {\n constructor(organizationID, eventID, firstName, lastName, mobilePhone, passthroughInvitationID, amountCents, cardName, expiration, cardType, cardLastFour, token, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.passthroughInvitationID = passthroughInvitationID !== null && passthroughInvitationID !== void 0 ? passthroughInvitationID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DonateAndSelfRegisterInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.passthroughInvitationID, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry);\n }\n}\nclass DonateAndSelfRegisterOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DonateAndSelfRegisterOutput();\n }\n}\nclass DonationMomentSummary {\n constructor(organizationID, eventID, id, name, type, donationLevelsAmountCents, currentDonationTierAmountCents, disableOnlineDonations, giveAtAnyLevelEnabled, giveAtAnyLevelActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.donationLevelsAmountCents = donationLevelsAmountCents !== null && donationLevelsAmountCents !== void 0 ? donationLevelsAmountCents : [];\n this.currentDonationTierAmountCents = currentDonationTierAmountCents !== null && currentDonationTierAmountCents !== void 0 ? currentDonationTierAmountCents : 0;\n this.disableOnlineDonations = disableOnlineDonations !== null && disableOnlineDonations !== void 0 ? disableOnlineDonations : false;\n this.giveAtAnyLevelEnabled = giveAtAnyLevelEnabled !== null && giveAtAnyLevelEnabled !== void 0 ? giveAtAnyLevelEnabled : false;\n this.giveAtAnyLevelActive = giveAtAnyLevelActive !== null && giveAtAnyLevelActive !== void 0 ? giveAtAnyLevelActive : false;\n }\n convertUnexpectedNulls() {\n if (!this.donationLevelsAmountCents) {\n this.donationLevelsAmountCents = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DonationMomentSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.donationLevelsAmountCents, input === null || input === void 0 ? void 0 : input.currentDonationTierAmountCents, input === null || input === void 0 ? void 0 : input.disableOnlineDonations, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelEnabled, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelActive);\n }\n}\nclass EnableLivestreamChatInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EnableLivestreamChatInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass EnableLivestreamChatOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EnableLivestreamChatOutput();\n }\n}\nclass EventSessionSummary {\n constructor(organizationID, eventID, id, tableImageURL, tableImageUploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.tableImageURL = tableImageURL !== null && tableImageURL !== void 0 ? tableImageURL : \"\";\n this.tableImageUploadToken = tableImageUploadToken !== null && tableImageUploadToken !== void 0 ? tableImageUploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EventSessionSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.tableImageURL, input === null || input === void 0 ? void 0 : input.tableImageUploadToken);\n }\n}\nclass EventSessionTicketConfigSummary {\n constructor(organizationID, eventID, eventSessionID, id, ticketTypeID, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EventSessionTicketConfigSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass EventSlideConfigSummary {\n constructor(organizationID, eventID, id, slideType) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.slideType = slideType !== null && slideType !== void 0 ? slideType : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EventSlideConfigSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.slideType);\n }\n}\nclass EventSlideshowSummary {\n constructor(organizationID, eventID, id, activeSlideURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.activeSlideURL = activeSlideURL !== null && activeSlideURL !== void 0 ? activeSlideURL : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EventSlideshowSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.activeSlideURL);\n }\n}\nclass EventSummary {\n constructor(organizationID, id, name, descriptionMarkdown, eventType, primaryDate, preEventScheduledNotificationID, preEventQuestionnaireNotificationID, primaryEndDate, timezone, shortURL, totalDonationsCount, totalDonationsAmountCents, totalAppealAmountCents, totalRegistrationsCount, goalTotalDonationsAmountCents, goalTotalDonationsAmountCentsMetOn, goalTotalDonationsSeedAmountCents, themePrimaryColor, themeSecondaryColor, bannerImageURL, logoImageURL, merchantAccountID, isCoverCostActive, coverCostPercent, coverCostCustomMessage, coverCostDefault, enableRaffles, enableFixedPrice, noticeEmailsSent, paymentsProcessed, isVirtualTableActive, isChatOn, livestreamChatChannelCount, showRecurringDonationManagement, recurringDonationPeriod, hostURL, hostShortenedURL, allowPickupLater, allowPickupTonight, isCheckoutOpen, thermometerConfig, totalDonationsProceedsAmountCents, totalOfflineDonationsAmountCents, totalLiveAuctionProceedsAmountCents, totalSilentAuctionProceedsAmountCents, totalFixedPriceProceedsAmountCents, totalTicketsProceedsAmountCents, totalRaffleProceedsAmountCents, totalSponsorAttachmentEventSalesProceedsAmountCents, totalMiscProceedsAmountCents, testEvent, enableSelfCheckin, eventDayToolShortURL, shareableSlideshowShortURL, salesTaxPercent, salesTaxAppliesTo, salesTaxCoverageType, customTags, externalID, enableBidderNumbers, enableAutomaticBidderNumbers, startingBidderNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.eventType = eventType !== null && eventType !== void 0 ? eventType : \"\";\n this.primaryDate = primaryDate !== null && primaryDate !== void 0 ? primaryDate : null;\n this.preEventScheduledNotificationID = preEventScheduledNotificationID !== null && preEventScheduledNotificationID !== void 0 ? preEventScheduledNotificationID : \"\";\n this.preEventQuestionnaireNotificationID = preEventQuestionnaireNotificationID !== null && preEventQuestionnaireNotificationID !== void 0 ? preEventQuestionnaireNotificationID : \"\";\n this.primaryEndDate = primaryEndDate !== null && primaryEndDate !== void 0 ? primaryEndDate : null;\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.shortURL = shortURL !== null && shortURL !== void 0 ? shortURL : \"\";\n this.totalDonationsCount = totalDonationsCount !== null && totalDonationsCount !== void 0 ? totalDonationsCount : 0;\n this.totalDonationsAmountCents = totalDonationsAmountCents !== null && totalDonationsAmountCents !== void 0 ? totalDonationsAmountCents : 0;\n this.totalAppealAmountCents = totalAppealAmountCents !== null && totalAppealAmountCents !== void 0 ? totalAppealAmountCents : 0;\n this.totalRegistrationsCount = totalRegistrationsCount !== null && totalRegistrationsCount !== void 0 ? totalRegistrationsCount : 0;\n this.goalTotalDonationsAmountCents = goalTotalDonationsAmountCents !== null && goalTotalDonationsAmountCents !== void 0 ? goalTotalDonationsAmountCents : 0;\n this.goalTotalDonationsAmountCentsMetOn = goalTotalDonationsAmountCentsMetOn !== null && goalTotalDonationsAmountCentsMetOn !== void 0 ? goalTotalDonationsAmountCentsMetOn : null;\n this.goalTotalDonationsSeedAmountCents = goalTotalDonationsSeedAmountCents !== null && goalTotalDonationsSeedAmountCents !== void 0 ? goalTotalDonationsSeedAmountCents : 0;\n this.themePrimaryColor = themePrimaryColor !== null && themePrimaryColor !== void 0 ? themePrimaryColor : \"\";\n this.themeSecondaryColor = themeSecondaryColor !== null && themeSecondaryColor !== void 0 ? themeSecondaryColor : \"\";\n this.bannerImageURL = bannerImageURL !== null && bannerImageURL !== void 0 ? bannerImageURL : \"\";\n this.logoImageURL = logoImageURL !== null && logoImageURL !== void 0 ? logoImageURL : \"\";\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n this.isCoverCostActive = isCoverCostActive !== null && isCoverCostActive !== void 0 ? isCoverCostActive : false;\n this.coverCostPercent = coverCostPercent !== null && coverCostPercent !== void 0 ? coverCostPercent : 0;\n this.coverCostCustomMessage = coverCostCustomMessage !== null && coverCostCustomMessage !== void 0 ? coverCostCustomMessage : \"\";\n this.coverCostDefault = coverCostDefault !== null && coverCostDefault !== void 0 ? coverCostDefault : false;\n this.enableRaffles = enableRaffles !== null && enableRaffles !== void 0 ? enableRaffles : false;\n this.enableFixedPrice = enableFixedPrice !== null && enableFixedPrice !== void 0 ? enableFixedPrice : false;\n this.noticeEmailsSent = noticeEmailsSent !== null && noticeEmailsSent !== void 0 ? noticeEmailsSent : false;\n this.paymentsProcessed = paymentsProcessed !== null && paymentsProcessed !== void 0 ? paymentsProcessed : false;\n this.isVirtualTableActive = isVirtualTableActive !== null && isVirtualTableActive !== void 0 ? isVirtualTableActive : false;\n this.isChatOn = isChatOn !== null && isChatOn !== void 0 ? isChatOn : false;\n this.livestreamChatChannelCount = livestreamChatChannelCount !== null && livestreamChatChannelCount !== void 0 ? livestreamChatChannelCount : 0;\n this.showRecurringDonationManagement = showRecurringDonationManagement !== null && showRecurringDonationManagement !== void 0 ? showRecurringDonationManagement : false;\n this.recurringDonationPeriod = recurringDonationPeriod !== null && recurringDonationPeriod !== void 0 ? recurringDonationPeriod : \"\";\n this.hostURL = hostURL !== null && hostURL !== void 0 ? hostURL : \"\";\n this.hostShortenedURL = hostShortenedURL !== null && hostShortenedURL !== void 0 ? hostShortenedURL : \"\";\n this.allowPickupLater = allowPickupLater !== null && allowPickupLater !== void 0 ? allowPickupLater : false;\n this.allowPickupTonight = allowPickupTonight !== null && allowPickupTonight !== void 0 ? allowPickupTonight : false;\n this.isCheckoutOpen = isCheckoutOpen !== null && isCheckoutOpen !== void 0 ? isCheckoutOpen : false;\n this.thermometerConfig = thermometerConfig !== null && thermometerConfig !== void 0 ? thermometerConfig : new ThermometerSetupConfig();\n this.totalDonationsProceedsAmountCents = totalDonationsProceedsAmountCents !== null && totalDonationsProceedsAmountCents !== void 0 ? totalDonationsProceedsAmountCents : 0;\n this.totalOfflineDonationsAmountCents = totalOfflineDonationsAmountCents !== null && totalOfflineDonationsAmountCents !== void 0 ? totalOfflineDonationsAmountCents : 0;\n this.totalLiveAuctionProceedsAmountCents = totalLiveAuctionProceedsAmountCents !== null && totalLiveAuctionProceedsAmountCents !== void 0 ? totalLiveAuctionProceedsAmountCents : 0;\n this.totalSilentAuctionProceedsAmountCents = totalSilentAuctionProceedsAmountCents !== null && totalSilentAuctionProceedsAmountCents !== void 0 ? totalSilentAuctionProceedsAmountCents : 0;\n this.totalFixedPriceProceedsAmountCents = totalFixedPriceProceedsAmountCents !== null && totalFixedPriceProceedsAmountCents !== void 0 ? totalFixedPriceProceedsAmountCents : 0;\n this.totalTicketsProceedsAmountCents = totalTicketsProceedsAmountCents !== null && totalTicketsProceedsAmountCents !== void 0 ? totalTicketsProceedsAmountCents : 0;\n this.totalRaffleProceedsAmountCents = totalRaffleProceedsAmountCents !== null && totalRaffleProceedsAmountCents !== void 0 ? totalRaffleProceedsAmountCents : 0;\n this.totalSponsorAttachmentEventSalesProceedsAmountCents = totalSponsorAttachmentEventSalesProceedsAmountCents !== null && totalSponsorAttachmentEventSalesProceedsAmountCents !== void 0 ? totalSponsorAttachmentEventSalesProceedsAmountCents : 0;\n this.totalMiscProceedsAmountCents = totalMiscProceedsAmountCents !== null && totalMiscProceedsAmountCents !== void 0 ? totalMiscProceedsAmountCents : 0;\n this.testEvent = testEvent !== null && testEvent !== void 0 ? testEvent : false;\n this.enableSelfCheckin = enableSelfCheckin !== null && enableSelfCheckin !== void 0 ? enableSelfCheckin : false;\n this.eventDayToolShortURL = eventDayToolShortURL !== null && eventDayToolShortURL !== void 0 ? eventDayToolShortURL : \"\";\n this.shareableSlideshowShortURL = shareableSlideshowShortURL !== null && shareableSlideshowShortURL !== void 0 ? shareableSlideshowShortURL : \"\";\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.salesTaxAppliesTo = salesTaxAppliesTo !== null && salesTaxAppliesTo !== void 0 ? salesTaxAppliesTo : \"\";\n this.salesTaxCoverageType = salesTaxCoverageType !== null && salesTaxCoverageType !== void 0 ? salesTaxCoverageType : \"\";\n this.customTags = customTags !== null && customTags !== void 0 ? customTags : [];\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n this.enableBidderNumbers = enableBidderNumbers !== null && enableBidderNumbers !== void 0 ? enableBidderNumbers : false;\n this.enableAutomaticBidderNumbers = enableAutomaticBidderNumbers !== null && enableAutomaticBidderNumbers !== void 0 ? enableAutomaticBidderNumbers : false;\n this.startingBidderNumber = startingBidderNumber !== null && startingBidderNumber !== void 0 ? startingBidderNumber : null;\n }\n convertDates() {\n if (this.primaryDate !== undefined && this.primaryDate !== null) {\n this.primaryDate = this.primaryDate ? new Date(this.primaryDate) : this.primaryDate;\n }\n if (this.primaryEndDate !== undefined && this.primaryEndDate !== null) {\n this.primaryEndDate = this.primaryEndDate ? new Date(this.primaryEndDate) : this.primaryEndDate;\n }\n if (this.goalTotalDonationsAmountCentsMetOn !== undefined && this.goalTotalDonationsAmountCentsMetOn !== null) {\n this.goalTotalDonationsAmountCentsMetOn = this.goalTotalDonationsAmountCentsMetOn ? new Date(this.goalTotalDonationsAmountCentsMetOn) : this.goalTotalDonationsAmountCentsMetOn;\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.customTags) {\n this.customTags = [];\n }\n return this;\n }\n fixClasses() {\n this.thermometerConfig = ThermometerSetupConfig.fromObject(this.thermometerConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new EventSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.eventType, input === null || input === void 0 ? void 0 : input.primaryDate, input === null || input === void 0 ? void 0 : input.preEventScheduledNotificationID, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireNotificationID, input === null || input === void 0 ? void 0 : input.primaryEndDate, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.shortURL, input === null || input === void 0 ? void 0 : input.totalDonationsCount, input === null || input === void 0 ? void 0 : input.totalDonationsAmountCents, input === null || input === void 0 ? void 0 : input.totalAppealAmountCents, input === null || input === void 0 ? void 0 : input.totalRegistrationsCount, input === null || input === void 0 ? void 0 : input.goalTotalDonationsAmountCents, input === null || input === void 0 ? void 0 : input.goalTotalDonationsAmountCentsMetOn, input === null || input === void 0 ? void 0 : input.goalTotalDonationsSeedAmountCents, input === null || input === void 0 ? void 0 : input.themePrimaryColor, input === null || input === void 0 ? void 0 : input.themeSecondaryColor, input === null || input === void 0 ? void 0 : input.bannerImageURL, input === null || input === void 0 ? void 0 : input.logoImageURL, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.isCoverCostActive, input === null || input === void 0 ? void 0 : input.coverCostPercent, input === null || input === void 0 ? void 0 : input.coverCostCustomMessage, input === null || input === void 0 ? void 0 : input.coverCostDefault, input === null || input === void 0 ? void 0 : input.enableRaffles, input === null || input === void 0 ? void 0 : input.enableFixedPrice, input === null || input === void 0 ? void 0 : input.noticeEmailsSent, input === null || input === void 0 ? void 0 : input.paymentsProcessed, input === null || input === void 0 ? void 0 : input.isVirtualTableActive, input === null || input === void 0 ? void 0 : input.isChatOn, input === null || input === void 0 ? void 0 : input.livestreamChatChannelCount, input === null || input === void 0 ? void 0 : input.showRecurringDonationManagement, input === null || input === void 0 ? void 0 : input.recurringDonationPeriod, input === null || input === void 0 ? void 0 : input.hostURL, input === null || input === void 0 ? void 0 : input.hostShortenedURL, input === null || input === void 0 ? void 0 : input.allowPickupLater, input === null || input === void 0 ? void 0 : input.allowPickupTonight, input === null || input === void 0 ? void 0 : input.isCheckoutOpen, input === null || input === void 0 ? void 0 : input.thermometerConfig, input === null || input === void 0 ? void 0 : input.totalDonationsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalOfflineDonationsAmountCents, input === null || input === void 0 ? void 0 : input.totalLiveAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSilentAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalFixedPriceProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalTicketsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalRaffleProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSponsorAttachmentEventSalesProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalMiscProceedsAmountCents, input === null || input === void 0 ? void 0 : input.testEvent, input === null || input === void 0 ? void 0 : input.enableSelfCheckin, input === null || input === void 0 ? void 0 : input.eventDayToolShortURL, input === null || input === void 0 ? void 0 : input.shareableSlideshowShortURL, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.salesTaxAppliesTo, input === null || input === void 0 ? void 0 : input.salesTaxCoverageType, input === null || input === void 0 ? void 0 : input.customTags, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.enableBidderNumbers, input === null || input === void 0 ? void 0 : input.enableAutomaticBidderNumbers, input === null || input === void 0 ? void 0 : input.startingBidderNumber);\n }\n}\nclass FetchPurchasedItemsForRefundIDsInput {\n constructor(organizationID, refundIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.refundIDs = refundIDs !== null && refundIDs !== void 0 ? refundIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.refundIDs) {\n this.refundIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new FetchPurchasedItemsForRefundIDsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.refundIDs);\n }\n}\nclass FetchPurchasedItemsForRefundIDsOutput {\n constructor(organizationID, items) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = RefundItemDetail.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new FetchPurchasedItemsForRefundIDsOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass FixedPriceItemPhotoSummary {\n constructor(organizationID, eventID, fixedPriceItemID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new FixedPriceItemPhotoSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass FixedPriceItemSummary {\n constructor(organizationID, eventID, id, name, priceCents, valueCents, isTaxable, description, numPurchased, maxNumAvailable, numUnlimited, inPersonOnly, pickupLater, pickupTonight, isPickUpEventLevel, sortOrder) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.numPurchased = numPurchased !== null && numPurchased !== void 0 ? numPurchased : 0;\n this.maxNumAvailable = maxNumAvailable !== null && maxNumAvailable !== void 0 ? maxNumAvailable : 0;\n this.numUnlimited = numUnlimited !== null && numUnlimited !== void 0 ? numUnlimited : false;\n this.inPersonOnly = inPersonOnly !== null && inPersonOnly !== void 0 ? inPersonOnly : false;\n this.pickupLater = pickupLater !== null && pickupLater !== void 0 ? pickupLater : false;\n this.pickupTonight = pickupTonight !== null && pickupTonight !== void 0 ? pickupTonight : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n this.sortOrder = sortOrder !== null && sortOrder !== void 0 ? sortOrder : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new FixedPriceItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.numPurchased, input === null || input === void 0 ? void 0 : input.maxNumAvailable, input === null || input === void 0 ? void 0 : input.numUnlimited, input === null || input === void 0 ? void 0 : input.inPersonOnly, input === null || input === void 0 ? void 0 : input.pickupLater, input === null || input === void 0 ? void 0 : input.pickupTonight, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.sortOrder);\n }\n}\nclass GetAppealLevelsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAppealLevelsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetAppealLevelsOutput {\n constructor(appealLevelsCents) {\n this.appealLevelsCents = appealLevelsCents !== null && appealLevelsCents !== void 0 ? appealLevelsCents : [];\n }\n convertUnexpectedNulls() {\n if (!this.appealLevelsCents) {\n this.appealLevelsCents = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAppealLevelsOutput(input === null || input === void 0 ? void 0 : input.appealLevelsCents);\n }\n}\nclass GetAttendeeExperienceInput {\n constructor(organizationID, eventID, guestID, guestSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n }\n getParams() {\n let params = new HttpParams();\n params = this.guestID ? params.set('guestID', this.guestID.toString()) : params;\n params = this.guestSessionID ? params.set('guestSessionID', this.guestSessionID.toString()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAttendeeExperienceInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.guestSessionID);\n }\n}\nclass GetAttendeeExperienceOutput {\n constructor(experience) {\n this.experience = experience !== null && experience !== void 0 ? experience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAttendeeExperienceOutput(input === null || input === void 0 ? void 0 : input.experience);\n }\n}\nclass GetChatUserInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetChatUserInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetChatUserOutput {\n constructor(organizationID, eventID, userID, pubnubAuthKey, livestreamChatChannelID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.pubnubAuthKey = pubnubAuthKey !== null && pubnubAuthKey !== void 0 ? pubnubAuthKey : \"\";\n this.livestreamChatChannelID = livestreamChatChannelID !== null && livestreamChatChannelID !== void 0 ? livestreamChatChannelID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetChatUserOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.pubnubAuthKey, input === null || input === void 0 ? void 0 : input.livestreamChatChannelID);\n }\n}\nclass GetConnectionResourcesForChannelInput {\n constructor(organizationID, virtualEventID, channelARN, channelRole) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n this.channelRole = channelRole !== null && channelRole !== void 0 ? channelRole : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetConnectionResourcesForChannelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.channelARN, input === null || input === void 0 ? void 0 : input.channelRole);\n }\n}\nclass GetConnectionResourcesForChannelOutput {\n constructor(awsRegion, wssEndpointURL, httpsEndpointURL, iceServerList) {\n this.awsRegion = awsRegion !== null && awsRegion !== void 0 ? awsRegion : \"\";\n this.wssEndpointURL = wssEndpointURL !== null && wssEndpointURL !== void 0 ? wssEndpointURL : \"\";\n this.httpsEndpointURL = httpsEndpointURL !== null && httpsEndpointURL !== void 0 ? httpsEndpointURL : \"\";\n this.iceServerList = iceServerList !== null && iceServerList !== void 0 ? iceServerList : [];\n }\n convertUnexpectedNulls() {\n if (!this.iceServerList) {\n this.iceServerList = [];\n }\n for (let i0 = 0; i0 < this.iceServerList.length; i0 += 1) {\n this.iceServerList[i0] = this.iceServerList[i0] ? this.iceServerList[i0].convertUnexpectedNulls() : this.iceServerList[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.iceServerList.length; i0 += 1) {\n this.iceServerList[i0] = IceServer.fromObject(this.iceServerList[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetConnectionResourcesForChannelOutput(input === null || input === void 0 ? void 0 : input.awsRegion, input === null || input === void 0 ? void 0 : input.wssEndpointURL, input === null || input === void 0 ? void 0 : input.httpsEndpointURL, input === null || input === void 0 ? void 0 : input.iceServerList);\n }\n}\nclass GetDetailsForPurchasedItem {\n constructor(organizationID, eventID, created, updated, amountCents, purchaseItemType, auctionID, lotID, inventoryAllocationID, itemID, fixedPriceItemID, transactionID, itemDetails, pickupPreference, isPickedUp, isReadyPickUp, fixedPriceItemName, fixedPriceItemDescription, fixedPriceItemPhotoURL, quantity) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.purchaseItemType = purchaseItemType !== null && purchaseItemType !== void 0 ? purchaseItemType : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.inventoryAllocationID = inventoryAllocationID !== null && inventoryAllocationID !== void 0 ? inventoryAllocationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n this.fixedPriceItemName = fixedPriceItemName !== null && fixedPriceItemName !== void 0 ? fixedPriceItemName : \"\";\n this.fixedPriceItemDescription = fixedPriceItemDescription !== null && fixedPriceItemDescription !== void 0 ? fixedPriceItemDescription : \"\";\n this.fixedPriceItemPhotoURL = fixedPriceItemPhotoURL !== null && fixedPriceItemPhotoURL !== void 0 ? fixedPriceItemPhotoURL : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetDetailsForPurchasedItem(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.purchaseItemType, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.inventoryAllocationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.fixedPriceItemName, input === null || input === void 0 ? void 0 : input.fixedPriceItemDescription, input === null || input === void 0 ? void 0 : input.fixedPriceItemPhotoURL, input === null || input === void 0 ? void 0 : input.quantity);\n }\n}\nclass GetDuringEventAnalyticsInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetDuringEventAnalyticsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass GetDuringEventAnalyticsOutput {\n constructor(highestRaisingTable, highestRaisingTableAmountCents, highestRaisingAttendee) {\n this.highestRaisingTable = highestRaisingTable !== null && highestRaisingTable !== void 0 ? highestRaisingTable : \"\";\n this.highestRaisingTableAmountCents = highestRaisingTableAmountCents !== null && highestRaisingTableAmountCents !== void 0 ? highestRaisingTableAmountCents : 0;\n this.highestRaisingAttendee = highestRaisingAttendee !== null && highestRaisingAttendee !== void 0 ? highestRaisingAttendee : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetDuringEventAnalyticsOutput(input === null || input === void 0 ? void 0 : input.highestRaisingTable, input === null || input === void 0 ? void 0 : input.highestRaisingTableAmountCents, input === null || input === void 0 ? void 0 : input.highestRaisingAttendee);\n }\n}\nclass GetEventNotificationTokenInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetEventNotificationTokenInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetEventNotificationTokenOutput {\n constructor(token, notificationWebsocketURL) {\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.notificationWebsocketURL = notificationWebsocketURL !== null && notificationWebsocketURL !== void 0 ? notificationWebsocketURL : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetEventNotificationTokenOutput(input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.notificationWebsocketURL);\n }\n}\nclass GetGuestMessagingRecipientsInput {\n constructor(organizationID, eventID, type, ticketTypeIDs, paging, includeEventURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.ticketTypeIDs = ticketTypeIDs !== null && ticketTypeIDs !== void 0 ? ticketTypeIDs : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n this.includeEventURL = includeEventURL !== null && includeEventURL !== void 0 ? includeEventURL : false;\n }\n getParams() {\n let params = new HttpParams();\n params = this.type ? params.set('type', this.type.toString()) : params;\n params = this.ticketTypeIDs ? params.set('ticketTypeIDs', this.ticketTypeIDs.toString()) : params;\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n params = this.includeEventURL ? params.set('includeEventURL', this.includeEventURL.toString()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestMessagingRecipientsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.ticketTypeIDs, input === null || input === void 0 ? void 0 : input.paging, input === null || input === void 0 ? void 0 : input.includeEventURL);\n }\n}\nclass GetGuestMessagingRecipientsOutput {\n constructor(recipients) {\n this.recipients = recipients !== null && recipients !== void 0 ? recipients : [];\n }\n convertUnexpectedNulls() {\n if (!this.recipients) {\n this.recipients = [];\n }\n for (let i0 = 0; i0 < this.recipients.length; i0 += 1) {\n this.recipients[i0] = this.recipients[i0] ? this.recipients[i0].convertUnexpectedNulls() : this.recipients[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.recipients.length; i0 += 1) {\n this.recipients[i0] = Recipient.fromObject(this.recipients[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetGuestMessagingRecipientsOutput(input === null || input === void 0 ? void 0 : input.recipients);\n }\n}\nclass GetGuestMobilePhoneNumbersCountInput {\n constructor(organizationID, eventID, type, ticketTypeIDs, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.ticketTypeIDs = ticketTypeIDs !== null && ticketTypeIDs !== void 0 ? ticketTypeIDs : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.type ? params.set('type', this.type.toString()) : params;\n params = this.ticketTypeIDs ? params.set('ticketTypeIDs', this.ticketTypeIDs.toString()) : params;\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestMobilePhoneNumbersCountInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.ticketTypeIDs, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass GetGuestMobilePhoneNumbersCountOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestMobilePhoneNumbersCountOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass GetGuestMobilePhoneNumbersInput {\n constructor(organizationID, eventID, type, ticketTypeIDs, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.ticketTypeIDs = ticketTypeIDs !== null && ticketTypeIDs !== void 0 ? ticketTypeIDs : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.type ? params.set('type', this.type.toString()) : params;\n params = this.ticketTypeIDs ? params.set('ticketTypeIDs', this.ticketTypeIDs.toString()) : params;\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestMobilePhoneNumbersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.ticketTypeIDs, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass GetGuestMobilePhoneNumbersOutput {\n constructor(mobilePhoneNumbers) {\n this.mobilePhoneNumbers = mobilePhoneNumbers !== null && mobilePhoneNumbers !== void 0 ? mobilePhoneNumbers : [];\n }\n convertUnexpectedNulls() {\n if (!this.mobilePhoneNumbers) {\n this.mobilePhoneNumbers = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.mobilePhoneNumbers.length; i0 += 1) {\n this.mobilePhoneNumbers[i0] = GuestMobilePhoneReportResult.fromObject(this.mobilePhoneNumbers[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetGuestMobilePhoneNumbersOutput(input === null || input === void 0 ? void 0 : input.mobilePhoneNumbers);\n }\n}\nclass GetGuestOrPrimaryBidderInput {\n constructor(organizationID, eventID, searchNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.searchNumber = searchNumber !== null && searchNumber !== void 0 ? searchNumber : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestOrPrimaryBidderInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.searchNumber);\n }\n}\nclass GetGuestOrPrimaryBidderOutput {\n constructor(guest) {\n this.guest = guest !== null && guest !== void 0 ? guest : new GuestSummary();\n }\n convertDates() {\n this.guest = this.guest ? this.guest.convertDates() : this.guest;\n return this;\n }\n fixClasses() {\n this.guest = GuestSummary.fromObject(this.guest).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new GetGuestOrPrimaryBidderOutput(input === null || input === void 0 ? void 0 : input.guest);\n }\n}\nclass GetGuestSessionSummaryByIDInput {\n constructor(organizationID, eventID, ticketID, guestSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n }\n getParams() {\n let params = new HttpParams();\n params = this.ticketID ? params.set('ticketID', this.ticketID.toString()) : params;\n params = this.guestSessionID ? params.set('guestSessionID', this.guestSessionID.toString()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSessionSummaryByIDInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.guestSessionID);\n }\n}\nclass GetGuestSessionSummaryByIDOutput {\n constructor(guestID, firstName, lastName, email, guestDisplayName, guestUserID, managingGuestID, isCheckInWithManagingGuest, tableName, tableNumber, bidderNumber, ticketID, ticketTypeID, ticketTypeName, ticketClaimedTime, ticketPurchaserFirstName, ticketPurchaserLastName, ticketPurchaserEmail, ticketManagerEmail, ticketManagerFirstName, ticketManagerLastName, ticketGroupID, checkedInTime, guestSessionID, totalProceedsAmountCents, guestMobilePhone, biddingAsGuestID, biddingAsFullName, biddingAsFirstName, biddingAsLastName, preEventQuestionnaireCompleteTime) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.guestDisplayName = guestDisplayName !== null && guestDisplayName !== void 0 ? guestDisplayName : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketClaimedTime = ticketClaimedTime !== null && ticketClaimedTime !== void 0 ? ticketClaimedTime : null;\n this.ticketPurchaserFirstName = ticketPurchaserFirstName !== null && ticketPurchaserFirstName !== void 0 ? ticketPurchaserFirstName : \"\";\n this.ticketPurchaserLastName = ticketPurchaserLastName !== null && ticketPurchaserLastName !== void 0 ? ticketPurchaserLastName : \"\";\n this.ticketPurchaserEmail = ticketPurchaserEmail !== null && ticketPurchaserEmail !== void 0 ? ticketPurchaserEmail : \"\";\n this.ticketManagerEmail = ticketManagerEmail !== null && ticketManagerEmail !== void 0 ? ticketManagerEmail : \"\";\n this.ticketManagerFirstName = ticketManagerFirstName !== null && ticketManagerFirstName !== void 0 ? ticketManagerFirstName : \"\";\n this.ticketManagerLastName = ticketManagerLastName !== null && ticketManagerLastName !== void 0 ? ticketManagerLastName : \"\";\n this.ticketGroupID = ticketGroupID !== null && ticketGroupID !== void 0 ? ticketGroupID : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.biddingAsFullName = biddingAsFullName !== null && biddingAsFullName !== void 0 ? biddingAsFullName : \"\";\n this.biddingAsFirstName = biddingAsFirstName !== null && biddingAsFirstName !== void 0 ? biddingAsFirstName : \"\";\n this.biddingAsLastName = biddingAsLastName !== null && biddingAsLastName !== void 0 ? biddingAsLastName : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n }\n convertDates() {\n if (this.ticketClaimedTime !== undefined && this.ticketClaimedTime !== null) {\n this.ticketClaimedTime = this.ticketClaimedTime ? new Date(this.ticketClaimedTime) : this.ticketClaimedTime;\n }\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSessionSummaryByIDOutput(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.guestDisplayName, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketClaimedTime, input === null || input === void 0 ? void 0 : input.ticketPurchaserFirstName, input === null || input === void 0 ? void 0 : input.ticketPurchaserLastName, input === null || input === void 0 ? void 0 : input.ticketPurchaserEmail, input === null || input === void 0 ? void 0 : input.ticketManagerEmail, input === null || input === void 0 ? void 0 : input.ticketManagerFirstName, input === null || input === void 0 ? void 0 : input.ticketManagerLastName, input === null || input === void 0 ? void 0 : input.ticketGroupID, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.biddingAsFullName, input === null || input === void 0 ? void 0 : input.biddingAsFirstName, input === null || input === void 0 ? void 0 : input.biddingAsLastName, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime);\n }\n}\nclass GetGuestSessionSummaryInput {\n constructor(organizationID, eventID, ticketTicketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketTicketID = ticketTicketID !== null && ticketTicketID !== void 0 ? ticketTicketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSessionSummaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketTicketID);\n }\n}\nclass GetGuestSessionSummaryOutput {\n constructor(eventSessionID, guestID, firstName, lastName, email, guestDisplayName, guestUserID, managingGuestID, isCheckInWithManagingGuest, tableName, tableNumber, bidderNumber, attendeeNumber, ticketID, ticketTypeID, ticketTypeName, ticketClaimedTime, ticketPurchaserFirstName, ticketPurchaserLastName, ticketPurchaserEmail, ticketManagerEmail, ticketManagerFirstName, ticketManagerLastName, ticketGroupID, checkedInTime, guestSessionID, totalProceedsAmountCents, guestMobilePhone, biddingAsGuestID, biddingAsFullName, biddingAsFirstName, biddingAsLastName, preEventQuestionnaireCompleteTime) {\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.guestDisplayName = guestDisplayName !== null && guestDisplayName !== void 0 ? guestDisplayName : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketClaimedTime = ticketClaimedTime !== null && ticketClaimedTime !== void 0 ? ticketClaimedTime : null;\n this.ticketPurchaserFirstName = ticketPurchaserFirstName !== null && ticketPurchaserFirstName !== void 0 ? ticketPurchaserFirstName : \"\";\n this.ticketPurchaserLastName = ticketPurchaserLastName !== null && ticketPurchaserLastName !== void 0 ? ticketPurchaserLastName : \"\";\n this.ticketPurchaserEmail = ticketPurchaserEmail !== null && ticketPurchaserEmail !== void 0 ? ticketPurchaserEmail : \"\";\n this.ticketManagerEmail = ticketManagerEmail !== null && ticketManagerEmail !== void 0 ? ticketManagerEmail : \"\";\n this.ticketManagerFirstName = ticketManagerFirstName !== null && ticketManagerFirstName !== void 0 ? ticketManagerFirstName : \"\";\n this.ticketManagerLastName = ticketManagerLastName !== null && ticketManagerLastName !== void 0 ? ticketManagerLastName : \"\";\n this.ticketGroupID = ticketGroupID !== null && ticketGroupID !== void 0 ? ticketGroupID : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.biddingAsFullName = biddingAsFullName !== null && biddingAsFullName !== void 0 ? biddingAsFullName : \"\";\n this.biddingAsFirstName = biddingAsFirstName !== null && biddingAsFirstName !== void 0 ? biddingAsFirstName : \"\";\n this.biddingAsLastName = biddingAsLastName !== null && biddingAsLastName !== void 0 ? biddingAsLastName : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n }\n convertDates() {\n if (this.ticketClaimedTime !== undefined && this.ticketClaimedTime !== null) {\n this.ticketClaimedTime = this.ticketClaimedTime ? new Date(this.ticketClaimedTime) : this.ticketClaimedTime;\n }\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSessionSummaryOutput(input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.guestDisplayName, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketClaimedTime, input === null || input === void 0 ? void 0 : input.ticketPurchaserFirstName, input === null || input === void 0 ? void 0 : input.ticketPurchaserLastName, input === null || input === void 0 ? void 0 : input.ticketPurchaserEmail, input === null || input === void 0 ? void 0 : input.ticketManagerEmail, input === null || input === void 0 ? void 0 : input.ticketManagerFirstName, input === null || input === void 0 ? void 0 : input.ticketManagerLastName, input === null || input === void 0 ? void 0 : input.ticketGroupID, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.biddingAsFullName, input === null || input === void 0 ? void 0 : input.biddingAsFirstName, input === null || input === void 0 ? void 0 : input.biddingAsLastName, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime);\n }\n}\nclass GetGuestSummaryInput {\n constructor(organizationID, eventID, ticketTicketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketTicketID = ticketTicketID !== null && ticketTicketID !== void 0 ? ticketTicketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSummaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketTicketID);\n }\n}\nclass GetGuestSummaryOutput {\n constructor(tableName, tableNumber, bidderNumber, ticketTypeName, checkedInTime) {\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n }\n convertDates() {\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetGuestSummaryOutput(input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.checkedInTime);\n }\n}\nclass GetMyCheckInStatusInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyCheckInStatusInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass GetMyCheckInStatusOutput {\n constructor(checkInStatus) {\n this.checkInStatus = checkInStatus !== null && checkInStatus !== void 0 ? checkInStatus : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyCheckInStatusOutput(input === null || input === void 0 ? void 0 : input.checkInStatus);\n }\n}\nclass GetMyExperienceTypeInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyExperienceTypeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetMyExperienceTypeOutput {\n constructor(experienceType) {\n this.experienceType = experienceType !== null && experienceType !== void 0 ? experienceType : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyExperienceTypeOutput(input === null || input === void 0 ? void 0 : input.experienceType);\n }\n}\nclass GetMyGuestDemographicsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestDemographicsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetMyGuestDemographicsOutput {\n constructor(orgID, eventID, guestID, userID, firstName, lastName, email, address, city, state, country, zip, mobilePhone) {\n this.orgID = orgID !== null && orgID !== void 0 ? orgID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.zip = zip !== null && zip !== void 0 ? zip : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestDemographicsOutput(input === null || input === void 0 ? void 0 : input.orgID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.zip, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass GetMyGuestDemographicsPublicInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestDemographicsPublicInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetMyGuestDemographicsPublicOutput {\n constructor(orgID, eventID, guestID, userID, firstName, lastName, email, address, city, state, country, zip, mobilePhone) {\n this.orgID = orgID !== null && orgID !== void 0 ? orgID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.zip = zip !== null && zip !== void 0 ? zip : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestDemographicsPublicOutput(input === null || input === void 0 ? void 0 : input.orgID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.zip, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass GetMyGuestSessionSummaryInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestSessionSummaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass GetMyGuestSessionSummaryOutput {\n constructor(eventSessionID, guestID, firstName, lastName, email, guestDisplayName, guestUserID, managingGuestID, isCheckInWithManagingGuest, tableName, tableNumber, bidderNumber, attendeeNumber, ticketID, ticketTypeID, ticketTypeName, ticketClaimedTime, ticketPurchaserFirstName, ticketPurchaserLastName, ticketPurchaserEmail, ticketManagerEmail, ticketManagerFirstName, ticketManagerLastName, ticketGroupID, checkedInTime, guestSessionID, totalProceedsAmountCents, guestMobilePhone, biddingAsGuestID, biddingAsFullName, biddingAsFirstName, biddingAsLastName, preEventQuestionnaireCompleteTime) {\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.guestDisplayName = guestDisplayName !== null && guestDisplayName !== void 0 ? guestDisplayName : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketClaimedTime = ticketClaimedTime !== null && ticketClaimedTime !== void 0 ? ticketClaimedTime : null;\n this.ticketPurchaserFirstName = ticketPurchaserFirstName !== null && ticketPurchaserFirstName !== void 0 ? ticketPurchaserFirstName : \"\";\n this.ticketPurchaserLastName = ticketPurchaserLastName !== null && ticketPurchaserLastName !== void 0 ? ticketPurchaserLastName : \"\";\n this.ticketPurchaserEmail = ticketPurchaserEmail !== null && ticketPurchaserEmail !== void 0 ? ticketPurchaserEmail : \"\";\n this.ticketManagerEmail = ticketManagerEmail !== null && ticketManagerEmail !== void 0 ? ticketManagerEmail : \"\";\n this.ticketManagerFirstName = ticketManagerFirstName !== null && ticketManagerFirstName !== void 0 ? ticketManagerFirstName : \"\";\n this.ticketManagerLastName = ticketManagerLastName !== null && ticketManagerLastName !== void 0 ? ticketManagerLastName : \"\";\n this.ticketGroupID = ticketGroupID !== null && ticketGroupID !== void 0 ? ticketGroupID : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.biddingAsFullName = biddingAsFullName !== null && biddingAsFullName !== void 0 ? biddingAsFullName : \"\";\n this.biddingAsFirstName = biddingAsFirstName !== null && biddingAsFirstName !== void 0 ? biddingAsFirstName : \"\";\n this.biddingAsLastName = biddingAsLastName !== null && biddingAsLastName !== void 0 ? biddingAsLastName : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n }\n convertDates() {\n if (this.ticketClaimedTime !== undefined && this.ticketClaimedTime !== null) {\n this.ticketClaimedTime = this.ticketClaimedTime ? new Date(this.ticketClaimedTime) : this.ticketClaimedTime;\n }\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMyGuestSessionSummaryOutput(input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.guestDisplayName, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketClaimedTime, input === null || input === void 0 ? void 0 : input.ticketPurchaserFirstName, input === null || input === void 0 ? void 0 : input.ticketPurchaserLastName, input === null || input === void 0 ? void 0 : input.ticketPurchaserEmail, input === null || input === void 0 ? void 0 : input.ticketManagerEmail, input === null || input === void 0 ? void 0 : input.ticketManagerFirstName, input === null || input === void 0 ? void 0 : input.ticketManagerLastName, input === null || input === void 0 ? void 0 : input.ticketGroupID, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.biddingAsFullName, input === null || input === void 0 ? void 0 : input.biddingAsFirstName, input === null || input === void 0 ? void 0 : input.biddingAsLastName, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime);\n }\n}\nclass GetOrgPickupItemOptionsInput {\n constructor(organizationID, eventID, fixedPricedItemIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPricedItemIDs = fixedPricedItemIDs !== null && fixedPricedItemIDs !== void 0 ? fixedPricedItemIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.fixedPricedItemIDs) {\n this.fixedPricedItemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetOrgPickupItemOptionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPricedItemIDs);\n }\n}\nclass GetOrgPickupItemOptionsOutput {\n constructor(itemOptions) {\n this.itemOptions = itemOptions !== null && itemOptions !== void 0 ? itemOptions : [];\n }\n convertUnexpectedNulls() {\n if (!this.itemOptions) {\n this.itemOptions = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.itemOptions.length; i0 += 1) {\n this.itemOptions[i0] = PickupItemOptionsOutput.fromObject(this.itemOptions[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetOrgPickupItemOptionsOutput(input === null || input === void 0 ? void 0 : input.itemOptions);\n }\n}\nclass GetPreEventAnalyticsInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPreEventAnalyticsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass GetPreEventAnalyticsOutput {\n constructor(attendeesSeatedCount, attendeesUnseatedCount) {\n this.attendeesSeatedCount = attendeesSeatedCount !== null && attendeesSeatedCount !== void 0 ? attendeesSeatedCount : 0;\n this.attendeesUnseatedCount = attendeesUnseatedCount !== null && attendeesUnseatedCount !== void 0 ? attendeesUnseatedCount : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPreEventAnalyticsOutput(input === null || input === void 0 ? void 0 : input.attendeesSeatedCount, input === null || input === void 0 ? void 0 : input.attendeesUnseatedCount);\n }\n}\nclass GetPrimaryBidderInput {\n constructor(organizationID, eventID, bidderNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPrimaryBidderInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.bidderNumber);\n }\n}\nclass GetPrimaryBidderOutput {\n constructor(primaryGuest) {\n this.primaryGuest = primaryGuest !== null && primaryGuest !== void 0 ? primaryGuest : new GuestSummary();\n }\n convertDates() {\n this.primaryGuest = this.primaryGuest ? this.primaryGuest.convertDates() : this.primaryGuest;\n return this;\n }\n fixClasses() {\n this.primaryGuest = GuestSummary.fromObject(this.primaryGuest).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new GetPrimaryBidderOutput(input === null || input === void 0 ? void 0 : input.primaryGuest);\n }\n}\nclass GetPurchasedItemsUserSummaryInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPurchasedItemsUserSummaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass GetPurchasedItemsUserSummaryOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GetDetailsForPurchasedItem.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetPurchasedItemsUserSummaryOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass GetSelectedPickupTimeSlotsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetSelectedPickupTimeSlotsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetSelectedPickupTimeSlotsOutput {\n constructor(selectedPickupTimeSlots) {\n this.selectedPickupTimeSlots = selectedPickupTimeSlots !== null && selectedPickupTimeSlots !== void 0 ? selectedPickupTimeSlots : [];\n }\n convertDates() {\n if (!this.selectedPickupTimeSlots) {\n this.selectedPickupTimeSlots = [];\n }\n for (let i0 = 0; i0 < this.selectedPickupTimeSlots.length; i0 += 1) {\n this.selectedPickupTimeSlots[i0] = this.selectedPickupTimeSlots[i0] ? this.selectedPickupTimeSlots[i0].convertDates() : this.selectedPickupTimeSlots[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.selectedPickupTimeSlots) {\n this.selectedPickupTimeSlots = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.selectedPickupTimeSlots.length; i0 += 1) {\n this.selectedPickupTimeSlots[i0] = PickupTimeSlot.fromObject(this.selectedPickupTimeSlots[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetSelectedPickupTimeSlotsOutput(input === null || input === void 0 ? void 0 : input.selectedPickupTimeSlots);\n }\n}\nclass GetSharedCartGuestListInput {\n constructor(organizationID, eventID, guestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetSharedCartGuestListInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass GetSharedCartGuestListOutput {\n constructor(guests) {\n this.guests = guests !== null && guests !== void 0 ? guests : [];\n }\n convertDates() {\n if (!this.guests) {\n this.guests = [];\n }\n for (let i0 = 0; i0 < this.guests.length; i0 += 1) {\n this.guests[i0] = this.guests[i0] ? this.guests[i0].convertDates() : this.guests[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.guests) {\n this.guests = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.guests.length; i0 += 1) {\n this.guests[i0] = GuestSummary.fromObject(this.guests[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetSharedCartGuestListOutput(input === null || input === void 0 ? void 0 : input.guests);\n }\n}\nclass GetTaxCentsForGuestPurchasedItemsInput {\n constructor(organizationID, eventID, itemIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetTaxCentsForGuestPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.itemIDs);\n }\n}\nclass GetTaxCentsForGuestPurchasedItemsOutput {\n constructor(itemIDs) {\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : {};\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = {};\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetTaxCentsForGuestPurchasedItemsOutput(input === null || input === void 0 ? void 0 : input.itemIDs);\n }\n}\nclass GetTaxCentsForPurchasedItemsInput {\n constructor(organizationID, eventID, itemIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetTaxCentsForPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.itemIDs);\n }\n}\nclass GetTaxCentsForPurchasedItemsOutput {\n constructor(itemIDs) {\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : {};\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = {};\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetTaxCentsForPurchasedItemsOutput(input === null || input === void 0 ? void 0 : input.itemIDs);\n }\n}\nclass GetUnprocessedItemsDataInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetUnprocessedItemsDataInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass GetUnprocessedItemsDataOutput {\n constructor(unprocessedCartCount, unprocessedPaymentsAmountCents) {\n this.unprocessedCartCount = unprocessedCartCount !== null && unprocessedCartCount !== void 0 ? unprocessedCartCount : 0;\n this.unprocessedPaymentsAmountCents = unprocessedPaymentsAmountCents !== null && unprocessedPaymentsAmountCents !== void 0 ? unprocessedPaymentsAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetUnprocessedItemsDataOutput(input === null || input === void 0 ? void 0 : input.unprocessedCartCount, input === null || input === void 0 ? void 0 : input.unprocessedPaymentsAmountCents);\n }\n}\nclass GreatfeatsParticipantDetails {\n constructor(id, name) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GreatfeatsParticipantDetails(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name);\n }\n}\nclass GuestCreditCardData {\n constructor(token, cardType, cardLastFour, expiration, cardName, payerStreet, payerCity, payerState, payerZip, payerCountry) {\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestCreditCardData(input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry);\n }\n}\nclass GuestCreditCardSummary {\n constructor(userCardID, guestID, firstName, lastName, cardLastFour, cardType, expiration) {\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestCreditCardSummary(input === null || input === void 0 ? void 0 : input.userCardID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.expiration);\n }\n}\nclass GuestMobilePhoneReportResult {\n constructor(guestID, mobilePhone) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestMobilePhoneReportResult(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass GuestSessionSummary {\n constructor(organizationID, eventID, eventSessionID, id, guestID, isCheckInWithManagingGuest, checkedInTime, tableAttendeeID, ticketID, initialTableName, initialTableNumber, totalProceedsAmountCents, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.tableAttendeeID = tableAttendeeID !== null && tableAttendeeID !== void 0 ? tableAttendeeID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.initialTableName = initialTableName !== null && initialTableName !== void 0 ? initialTableName : \"\";\n this.initialTableNumber = initialTableNumber !== null && initialTableNumber !== void 0 ? initialTableNumber : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n convertDates() {\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestSessionSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.tableAttendeeID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.initialTableName, input === null || input === void 0 ? void 0 : input.initialTableNumber, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass GuestSummary {\n constructor(organizationID, eventID, id, userID, registrationID, bidderNumber, attendeeNumber, managingGuestID, firstName, lastName, email, mobilePhone, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, biddingAsGuestID, purchasedItemPrimaryUserID, purchasedItemPrimaryGuestID, address, city, state, postalCode, country, userCardID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : false;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : false;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : false;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : false;\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.purchasedItemPrimaryUserID = purchasedItemPrimaryUserID !== null && purchasedItemPrimaryUserID !== void 0 ? purchasedItemPrimaryUserID : \"\";\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryUserID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass GuestToUpdate {\n constructor(firstName, lastName, email, mobilePhone, ticketID, managingGuestID) {\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : null;\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GuestToUpdate(input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.managingGuestID);\n }\n}\nclass HasAssignedTicketForTicketManagerTokenEmailInput {\n constructor(organizationID, eventID, eventSessionID, ticketManagerToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.ticketManagerToken = ticketManagerToken !== null && ticketManagerToken !== void 0 ? ticketManagerToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new HasAssignedTicketForTicketManagerTokenEmailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.ticketManagerToken);\n }\n}\nclass HasAssignedTicketForTicketManagerTokenEmailOutput {\n constructor(hasAssignedTicketForTicketManagerTokenEmail) {\n this.hasAssignedTicketForTicketManagerTokenEmail = hasAssignedTicketForTicketManagerTokenEmail !== null && hasAssignedTicketForTicketManagerTokenEmail !== void 0 ? hasAssignedTicketForTicketManagerTokenEmail : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new HasAssignedTicketForTicketManagerTokenEmailOutput(input === null || input === void 0 ? void 0 : input.hasAssignedTicketForTicketManagerTokenEmail);\n }\n}\nclass IceServer {\n constructor(userName, password, timeToLive, uris) {\n this.userName = userName !== null && userName !== void 0 ? userName : \"\";\n this.password = password !== null && password !== void 0 ? password : \"\";\n this.timeToLive = timeToLive !== null && timeToLive !== void 0 ? timeToLive : 0;\n this.uris = uris !== null && uris !== void 0 ? uris : [];\n }\n convertUnexpectedNulls() {\n if (!this.uris) {\n this.uris = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IceServer(input === null || input === void 0 ? void 0 : input.userName, input === null || input === void 0 ? void 0 : input.password, input === null || input === void 0 ? void 0 : input.timeToLive, input === null || input === void 0 ? void 0 : input.uris);\n }\n}\nclass ImpactPhotoSummary {\n constructor(organizationID, eventID, impactID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ImpactPhotoSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass ImpactSummary {\n constructor(organizationID, eventID, id, name, amountCents, descriptionMarkdown, totalPurchasesLimit, totalPurchasesCountDisplayThreshold, totalPurchasesAmountCentsDisplayThreshold, totalPurchasesCount, totalPurchasesAmountCents, goalType, goalPurchasesCount, goalPurchasesCountDisplayThreshold, goalPurchasesCountMetOn, goalPurchasesAmountCents, goalPurchasesAmountCentsDisplayThreshold, goalPurchasesAmountCentsMetOn, goalMetMessageSentOn, goalMetEmailSubject, goalMetEmailBodyMarkdown, goalMetSMSBody, hideFromFlow, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.totalPurchasesLimit = totalPurchasesLimit !== null && totalPurchasesLimit !== void 0 ? totalPurchasesLimit : 0;\n this.totalPurchasesCountDisplayThreshold = totalPurchasesCountDisplayThreshold !== null && totalPurchasesCountDisplayThreshold !== void 0 ? totalPurchasesCountDisplayThreshold : 0;\n this.totalPurchasesAmountCentsDisplayThreshold = totalPurchasesAmountCentsDisplayThreshold !== null && totalPurchasesAmountCentsDisplayThreshold !== void 0 ? totalPurchasesAmountCentsDisplayThreshold : 0;\n this.totalPurchasesCount = totalPurchasesCount !== null && totalPurchasesCount !== void 0 ? totalPurchasesCount : 0;\n this.totalPurchasesAmountCents = totalPurchasesAmountCents !== null && totalPurchasesAmountCents !== void 0 ? totalPurchasesAmountCents : 0;\n this.goalType = goalType !== null && goalType !== void 0 ? goalType : \"\";\n this.goalPurchasesCount = goalPurchasesCount !== null && goalPurchasesCount !== void 0 ? goalPurchasesCount : 0;\n this.goalPurchasesCountDisplayThreshold = goalPurchasesCountDisplayThreshold !== null && goalPurchasesCountDisplayThreshold !== void 0 ? goalPurchasesCountDisplayThreshold : 0;\n this.goalPurchasesCountMetOn = goalPurchasesCountMetOn !== null && goalPurchasesCountMetOn !== void 0 ? goalPurchasesCountMetOn : null;\n this.goalPurchasesAmountCents = goalPurchasesAmountCents !== null && goalPurchasesAmountCents !== void 0 ? goalPurchasesAmountCents : 0;\n this.goalPurchasesAmountCentsDisplayThreshold = goalPurchasesAmountCentsDisplayThreshold !== null && goalPurchasesAmountCentsDisplayThreshold !== void 0 ? goalPurchasesAmountCentsDisplayThreshold : 0;\n this.goalPurchasesAmountCentsMetOn = goalPurchasesAmountCentsMetOn !== null && goalPurchasesAmountCentsMetOn !== void 0 ? goalPurchasesAmountCentsMetOn : null;\n this.goalMetMessageSentOn = goalMetMessageSentOn !== null && goalMetMessageSentOn !== void 0 ? goalMetMessageSentOn : null;\n this.goalMetEmailSubject = goalMetEmailSubject !== null && goalMetEmailSubject !== void 0 ? goalMetEmailSubject : \"\";\n this.goalMetEmailBodyMarkdown = goalMetEmailBodyMarkdown !== null && goalMetEmailBodyMarkdown !== void 0 ? goalMetEmailBodyMarkdown : \"\";\n this.goalMetSMSBody = goalMetSMSBody !== null && goalMetSMSBody !== void 0 ? goalMetSMSBody : \"\";\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : false;\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.goalPurchasesCountMetOn !== undefined && this.goalPurchasesCountMetOn !== null) {\n this.goalPurchasesCountMetOn = this.goalPurchasesCountMetOn ? new Date(this.goalPurchasesCountMetOn) : this.goalPurchasesCountMetOn;\n }\n if (this.goalPurchasesAmountCentsMetOn !== undefined && this.goalPurchasesAmountCentsMetOn !== null) {\n this.goalPurchasesAmountCentsMetOn = this.goalPurchasesAmountCentsMetOn ? new Date(this.goalPurchasesAmountCentsMetOn) : this.goalPurchasesAmountCentsMetOn;\n }\n if (this.goalMetMessageSentOn !== undefined && this.goalMetMessageSentOn !== null) {\n this.goalMetMessageSentOn = this.goalMetMessageSentOn ? new Date(this.goalMetMessageSentOn) : this.goalMetMessageSentOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ImpactSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalPurchasesLimit, input === null || input === void 0 ? void 0 : input.totalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesCount, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalType, input === null || input === void 0 ? void 0 : input.goalPurchasesCount, input === null || input === void 0 ? void 0 : input.goalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesCountMetOn, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsMetOn, input === null || input === void 0 ? void 0 : input.goalMetMessageSentOn, input === null || input === void 0 ? void 0 : input.goalMetEmailSubject, input === null || input === void 0 ? void 0 : input.goalMetEmailBodyMarkdown, input === null || input === void 0 ? void 0 : input.goalMetSMSBody, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass InitiateRecurringDonationInput {\n constructor(organizationID, eventID, firstName, lastName, email, mobilePhone, amountCents, cardName, expiration, cardType, cardLastFour, token, coverFee, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry, fakeTransactionResult, isAnonymous) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new InitiateRecurringDonationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.fakeTransactionResult, input === null || input === void 0 ? void 0 : input.isAnonymous);\n }\n}\nclass InitiateRecurringDonationOutput {\n constructor(organizationID, purchaseID, paymentID, donationID, recurringDonationGroup, recurringDonationID, recurringDonationItemID, purchasedItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.donationID = donationID !== null && donationID !== void 0 ? donationID : \"\";\n this.recurringDonationGroup = recurringDonationGroup !== null && recurringDonationGroup !== void 0 ? recurringDonationGroup : \"\";\n this.recurringDonationID = recurringDonationID !== null && recurringDonationID !== void 0 ? recurringDonationID : \"\";\n this.recurringDonationItemID = recurringDonationItemID !== null && recurringDonationItemID !== void 0 ? recurringDonationItemID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new InitiateRecurringDonationOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.donationID, input === null || input === void 0 ? void 0 : input.recurringDonationGroup, input === null || input === void 0 ? void 0 : input.recurringDonationID, input === null || input === void 0 ? void 0 : input.recurringDonationItemID, input === null || input === void 0 ? void 0 : input.purchasedItemID);\n }\n}\nclass InventoryItemPhotoUpdatedInput {\n constructor(eventID, auctionID, lotID) {\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new InventoryItemPhotoUpdatedInput(input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass InvitationSummary {\n constructor(organizationID, eventID, id, firstName, lastName, email, mobilePhone, sentEmail, sentSMS, registrationID, emailOpened) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.sentEmail = sentEmail !== null && sentEmail !== void 0 ? sentEmail : null;\n this.sentSMS = sentSMS !== null && sentSMS !== void 0 ? sentSMS : null;\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.emailOpened = emailOpened !== null && emailOpened !== void 0 ? emailOpened : false;\n }\n convertDates() {\n if (this.sentEmail !== undefined && this.sentEmail !== null) {\n this.sentEmail = this.sentEmail ? new Date(this.sentEmail) : this.sentEmail;\n }\n if (this.sentSMS !== undefined && this.sentSMS !== null) {\n this.sentSMS = this.sentSMS ? new Date(this.sentSMS) : this.sentSMS;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new InvitationSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.sentEmail, input === null || input === void 0 ? void 0 : input.sentSMS, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.emailOpened);\n }\n}\nclass IsRegistrationCompedInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IsRegistrationCompedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass IsRegistrationCompedOutput {\n constructor(comped) {\n this.comped = comped !== null && comped !== void 0 ? comped : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IsRegistrationCompedOutput(input === null || input === void 0 ? void 0 : input.comped);\n }\n}\nclass IsTicketManagerTokenEmailRegisteredInput {\n constructor(organizationID, eventID, ticketManagerToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketManagerToken = ticketManagerToken !== null && ticketManagerToken !== void 0 ? ticketManagerToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IsTicketManagerTokenEmailRegisteredInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketManagerToken);\n }\n}\nclass IsTicketManagerTokenEmailRegisteredOutput {\n constructor(isTicketManagerTokenEmailRegistered) {\n this.isTicketManagerTokenEmailRegistered = isTicketManagerTokenEmailRegistered !== null && isTicketManagerTokenEmailRegistered !== void 0 ? isTicketManagerTokenEmailRegistered : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IsTicketManagerTokenEmailRegisteredOutput(input === null || input === void 0 ? void 0 : input.isTicketManagerTokenEmailRegistered);\n }\n}\nclass ItemforPaidSummary {\n constructor(item, purchasedItemID, paymentID, cardLastFour, paymentMethod, amountCents, coveredCostAmountCents, salesTaxAmountCents, paymentType, paymentTypeOtherNotes, checkNumber) {\n this.item = item !== null && item !== void 0 ? item : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.paymentMethod = paymentMethod !== null && paymentMethod !== void 0 ? paymentMethod : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.coveredCostAmountCents = coveredCostAmountCents !== null && coveredCostAmountCents !== void 0 ? coveredCostAmountCents : 0;\n this.salesTaxAmountCents = salesTaxAmountCents !== null && salesTaxAmountCents !== void 0 ? salesTaxAmountCents : 0;\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.paymentTypeOtherNotes = paymentTypeOtherNotes !== null && paymentTypeOtherNotes !== void 0 ? paymentTypeOtherNotes : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ItemforPaidSummary(input === null || input === void 0 ? void 0 : input.item, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.paymentMethod, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.coveredCostAmountCents, input === null || input === void 0 ? void 0 : input.salesTaxAmountCents, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.paymentTypeOtherNotes, input === null || input === void 0 ? void 0 : input.checkNumber);\n }\n}\nclass ItemforPendingSummary {\n constructor(transactionID, paymentID, created, totalAmountCents, totalCoveredCostAmountCents, totalSalesTaxAmountCents, purchaseDetails) {\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.totalAmountCents = totalAmountCents !== null && totalAmountCents !== void 0 ? totalAmountCents : 0;\n this.totalCoveredCostAmountCents = totalCoveredCostAmountCents !== null && totalCoveredCostAmountCents !== void 0 ? totalCoveredCostAmountCents : 0;\n this.totalSalesTaxAmountCents = totalSalesTaxAmountCents !== null && totalSalesTaxAmountCents !== void 0 ? totalSalesTaxAmountCents : 0;\n this.purchaseDetails = purchaseDetails !== null && purchaseDetails !== void 0 ? purchaseDetails : [];\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.purchaseDetails) {\n this.purchaseDetails = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.purchaseDetails.length; i0 += 1) {\n this.purchaseDetails[i0] = ItemforPaidSummary.fromObject(this.purchaseDetails[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ItemforPendingSummary(input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.totalAmountCents, input === null || input === void 0 ? void 0 : input.totalCoveredCostAmountCents, input === null || input === void 0 ? void 0 : input.totalSalesTaxAmountCents, input === null || input === void 0 ? void 0 : input.purchaseDetails);\n }\n}\nclass ItemPurchaseDetails {\n constructor(emojiSelected, isAnonymous, itemName, quantity, auctionType, fromSpotterTool, sponsorAttachmentEventSaleID, greatfeatsParticipant) {\n this.emojiSelected = emojiSelected !== null && emojiSelected !== void 0 ? emojiSelected : \"\";\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.itemName = itemName !== null && itemName !== void 0 ? itemName : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.fromSpotterTool = fromSpotterTool !== null && fromSpotterTool !== void 0 ? fromSpotterTool : false;\n this.sponsorAttachmentEventSaleID = sponsorAttachmentEventSaleID !== null && sponsorAttachmentEventSaleID !== void 0 ? sponsorAttachmentEventSaleID : \"\";\n this.greatfeatsParticipant = greatfeatsParticipant !== null && greatfeatsParticipant !== void 0 ? greatfeatsParticipant : new GreatfeatsParticipantDetails();\n }\n fixClasses() {\n this.greatfeatsParticipant = GreatfeatsParticipantDetails.fromObject(this.greatfeatsParticipant).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ItemPurchaseDetails(input === null || input === void 0 ? void 0 : input.emojiSelected, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.itemName, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.fromSpotterTool, input === null || input === void 0 ? void 0 : input.sponsorAttachmentEventSaleID, input === null || input === void 0 ? void 0 : input.greatfeatsParticipant);\n }\n}\nclass ListAttendeesByGroupInput {\n constructor(organizationID, eventID, groupID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.groupID = groupID !== null && groupID !== void 0 ? groupID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAttendeesByGroupInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.groupID);\n }\n}\nclass ListAttendeesByGroupOutput {\n constructor(attendeesByGroup) {\n this.attendeesByGroup = attendeesByGroup !== null && attendeesByGroup !== void 0 ? attendeesByGroup : [];\n }\n convertDates() {\n if (!this.attendeesByGroup) {\n this.attendeesByGroup = [];\n }\n for (let i0 = 0; i0 < this.attendeesByGroup.length; i0 += 1) {\n this.attendeesByGroup[i0] = this.attendeesByGroup[i0] ? this.attendeesByGroup[i0].convertDates() : this.attendeesByGroup[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.attendeesByGroup) {\n this.attendeesByGroup = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.attendeesByGroup.length; i0 += 1) {\n this.attendeesByGroup[i0] = Attendee.fromObject(this.attendeesByGroup[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListAttendeesByGroupOutput(input === null || input === void 0 ? void 0 : input.attendeesByGroup);\n }\n}\nclass ListAvailableCreditCardsInput {\n constructor(organizationID, eventID, guestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAvailableCreditCardsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass ListAvailableCreditCardsOutput {\n constructor(items) {\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GuestCreditCardSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListAvailableCreditCardsOutput(input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass ListDonationMomentsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListDonationMomentsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListDonationMomentsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = DonationMomentSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListDonationMomentsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListDonationMomentsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListDonationMomentsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSessionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionTicketConfigsInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionTicketConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionTicketConfigsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSessionTicketConfigSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionTicketConfigsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSessionTicketConfigsToCSVInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSessionTicketConfigsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventsInput {\n constructor(organizationID, timezone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideConfigsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideConfigsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSlideConfigSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideConfigsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideConfigsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideConfigsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideshowsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideshowsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideshowsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSlideshowSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideshowsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventSlideshowsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventSlideshowsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListEventsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListEventsToCSVInput {\n constructor(organizationID, timezone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListEventsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemPhotosInput {\n constructor(organizationID, eventID, fixedPriceItemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemPhotosOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = FixedPriceItemPhotoSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemPhotosOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemPhotosToCSVInput {\n constructor(organizationID, eventID, fixedPriceItemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemPhotosToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = FixedPriceItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListFixedPriceItemsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListFixedPriceItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionsInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GuestSessionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionsToCSVInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionSummariesForTicketsInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionSummariesForTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass ListGuestSessionSummariesForTicketsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ListGuestSessionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionSummariesForTicketsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionSummariesInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionSummariesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionSummariesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ListGuestSessionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionSummariesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestSessionSummary {\n constructor(guestSessionID, eventSessionID, guestID, firstName, lastName, email, guestDisplayName, guestUserID, managingGuestID, isCheckInWithManagingGuest, bidderNumber, biddingAsGuestID, ticketID, ticketTypeName, ticketTypeID, ticketClaimedTime, ticketCreatedTime, ticketPurchaserFullName, ticketPurchaserFirstName, ticketPurchaserLastName, ticketPurchaserEmail, ticketManagerEmail, ticketManagerFirstName, ticketManagerLastName, ticketGroupID, checkedInTime, guestMobilePhone, sponsorAttachmentID, sponsorName, preEventQuestionnaireCompleteTime, attendeeExperience) {\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.guestDisplayName = guestDisplayName !== null && guestDisplayName !== void 0 ? guestDisplayName : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketClaimedTime = ticketClaimedTime !== null && ticketClaimedTime !== void 0 ? ticketClaimedTime : null;\n this.ticketCreatedTime = ticketCreatedTime !== null && ticketCreatedTime !== void 0 ? ticketCreatedTime : null;\n this.ticketPurchaserFullName = ticketPurchaserFullName !== null && ticketPurchaserFullName !== void 0 ? ticketPurchaserFullName : \"\";\n this.ticketPurchaserFirstName = ticketPurchaserFirstName !== null && ticketPurchaserFirstName !== void 0 ? ticketPurchaserFirstName : \"\";\n this.ticketPurchaserLastName = ticketPurchaserLastName !== null && ticketPurchaserLastName !== void 0 ? ticketPurchaserLastName : \"\";\n this.ticketPurchaserEmail = ticketPurchaserEmail !== null && ticketPurchaserEmail !== void 0 ? ticketPurchaserEmail : \"\";\n this.ticketManagerEmail = ticketManagerEmail !== null && ticketManagerEmail !== void 0 ? ticketManagerEmail : \"\";\n this.ticketManagerFirstName = ticketManagerFirstName !== null && ticketManagerFirstName !== void 0 ? ticketManagerFirstName : \"\";\n this.ticketManagerLastName = ticketManagerLastName !== null && ticketManagerLastName !== void 0 ? ticketManagerLastName : \"\";\n this.ticketGroupID = ticketGroupID !== null && ticketGroupID !== void 0 ? ticketGroupID : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.sponsorAttachmentID = sponsorAttachmentID !== null && sponsorAttachmentID !== void 0 ? sponsorAttachmentID : \"\";\n this.sponsorName = sponsorName !== null && sponsorName !== void 0 ? sponsorName : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n convertDates() {\n if (this.ticketClaimedTime !== undefined && this.ticketClaimedTime !== null) {\n this.ticketClaimedTime = this.ticketClaimedTime ? new Date(this.ticketClaimedTime) : this.ticketClaimedTime;\n }\n if (this.ticketCreatedTime !== undefined && this.ticketCreatedTime !== null) {\n this.ticketCreatedTime = this.ticketCreatedTime ? new Date(this.ticketCreatedTime) : this.ticketCreatedTime;\n }\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestSessionSummary(input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.guestDisplayName, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketClaimedTime, input === null || input === void 0 ? void 0 : input.ticketCreatedTime, input === null || input === void 0 ? void 0 : input.ticketPurchaserFullName, input === null || input === void 0 ? void 0 : input.ticketPurchaserFirstName, input === null || input === void 0 ? void 0 : input.ticketPurchaserLastName, input === null || input === void 0 ? void 0 : input.ticketPurchaserEmail, input === null || input === void 0 ? void 0 : input.ticketManagerEmail, input === null || input === void 0 ? void 0 : input.ticketManagerFirstName, input === null || input === void 0 ? void 0 : input.ticketManagerLastName, input === null || input === void 0 ? void 0 : input.ticketGroupID, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.sponsorAttachmentID, input === null || input === void 0 ? void 0 : input.sponsorName, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass ListGuestsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GuestSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListGuestsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListGuestsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListGuestsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactPhotosInput {\n constructor(organizationID, eventID, impactID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListImpactPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactPhotosOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ImpactPhotoSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListImpactPhotosOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactPhotosToCSVInput {\n constructor(organizationID, eventID, impactID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListImpactPhotosToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListImpactsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ImpactSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListImpactsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListImpactsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListImpactsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListInvitationsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListInvitationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListInvitationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = InvitationSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListInvitationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsForGuestInput {\n constructor(organizationID, eventID, userID, guestID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.userID ? params.set('userID', this.userID.toString()) : params;\n params = this.guestID ? params.set('guestID', this.guestID.toString()) : params;\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemsForGuestInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsForGuestOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PurchasedItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListItemsForGuestOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsForUserInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemsForUserInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsForUserOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PurchasedItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListItemsForUserOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsForUserRefundInput {\n constructor(organizationID, eventID, userID, guestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemsForUserRefundInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass ListItemsForUserRefundOutput {\n constructor(paid, pending) {\n this.paid = paid !== null && paid !== void 0 ? paid : [];\n this.pending = pending !== null && pending !== void 0 ? pending : [];\n }\n convertDates() {\n if (!this.pending) {\n this.pending = [];\n }\n for (let i0 = 0; i0 < this.pending.length; i0 += 1) {\n this.pending[i0] = this.pending[i0] ? this.pending[i0].convertDates() : this.pending[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.paid) {\n this.paid = [];\n }\n if (!this.pending) {\n this.pending = [];\n }\n for (let i0 = 0; i0 < this.pending.length; i0 += 1) {\n this.pending[i0] = this.pending[i0] ? this.pending[i0].convertUnexpectedNulls() : this.pending[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.paid.length; i0 += 1) {\n this.paid[i0] = ItemforPaidSummary.fromObject(this.paid[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.pending.length; i0 += 1) {\n this.pending[i0] = ItemforPendingSummary.fromObject(this.pending[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListItemsForUserRefundOutput(input === null || input === void 0 ? void 0 : input.paid, input === null || input === void 0 ? void 0 : input.pending);\n }\n}\nclass ListMyAvailableCreditCardsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListMyAvailableCreditCardsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ListMyAvailableCreditCardsOutput {\n constructor(items) {\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GuestCreditCardSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListMyAvailableCreditCardsOutput(input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass ListMyGuestSessionSummariesInput {\n constructor(organizationID, eventID, eventSessionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListMyGuestSessionSummariesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListMyGuestSessionSummariesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ListGuestSessionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListMyGuestSessionSummariesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListMyIncompleteGuestSessionIDsInput {\n constructor(organizationID, eventID, eventSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListMyIncompleteGuestSessionIDsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass ListMyIncompleteGuestSessionIDsOutput {\n constructor(incompleteGuestSessionIDs) {\n this.incompleteGuestSessionIDs = incompleteGuestSessionIDs !== null && incompleteGuestSessionIDs !== void 0 ? incompleteGuestSessionIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.incompleteGuestSessionIDs) {\n this.incompleteGuestSessionIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListMyIncompleteGuestSessionIDsOutput(input === null || input === void 0 ? void 0 : input.incompleteGuestSessionIDs);\n }\n}\nclass ListMyTicketsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListMyTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListMyTicketsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = TicketSummary$1.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListMyTicketsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListOverlaysInput {\n constructor(organizationID, eventID, showID, sceneID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListOverlaysInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListOverlaysOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = OverlaySummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListOverlaysOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListOverlaysToCSVInput {\n constructor(organizationID, eventID, showID, sceneID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListOverlaysToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPickupItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPickupItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPickupItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PickupItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListPickupItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPickupItemsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPickupItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPreEventQuestionConfigsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPreEventQuestionConfigsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPreEventQuestionConfigsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PreEventQuestionConfigSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListPreEventQuestionConfigsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPreEventQuestionConfigsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPreEventQuestionConfigsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemSalesTaxesInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemSalesTaxesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemSalesTaxesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PurchasedItemSalesTaxSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemSalesTaxesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemSalesTaxesToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemSalesTaxesToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PurchasedItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchasedItemsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPurchasedItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRafflesInput$1 {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListRafflesInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRafflesOutput$1 {\n constructor(raffles, paging) {\n this.raffles = raffles !== null && raffles !== void 0 ? raffles : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.raffles) {\n this.raffles = [];\n }\n for (let i0 = 0; i0 < this.raffles.length; i0 += 1) {\n this.raffles[i0] = this.raffles[i0] ? this.raffles[i0].convertDates() : this.raffles[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.raffles) {\n this.raffles = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.raffles.length; i0 += 1) {\n this.raffles[i0] = RaffleSummary$1.fromObject(this.raffles[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListRafflesOutput$1(input === null || input === void 0 ? void 0 : input.raffles, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRegistrationsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListRegistrationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRegistrationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = RegistrationSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListRegistrationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRegistrationsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListRegistrationsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListScenesInput {\n constructor(organizationID, eventID, showID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListScenesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListScenesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = SceneSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListScenesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListScenesToCSVInput {\n constructor(organizationID, eventID, showID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListScenesToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListShowsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListShowsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListShowsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ShowSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListShowsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListShowsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListShowsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListSpotterToolDonationsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListSpotterToolDonationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ListSpotterToolDonationsOutput {\n constructor(items) {\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = SpotterToolDonationSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListSpotterToolDonationsOutput(input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass ListVirtualChairsInput {\n constructor(organizationID, virtualEventID, virtualTableID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListVirtualChairsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListVirtualChairsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = VirtualChairSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListVirtualChairsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListVirtualChairsToCSVInput {\n constructor(organizationID, virtualEventID, virtualTableID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListVirtualChairsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListVirtualTablesInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListVirtualTablesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListVirtualTablesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = VirtualTableSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListVirtualTablesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListVirtualTablesToCSVInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListVirtualTablesToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass LotListWithWinnerInput {\n constructor(organizationID, eventID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotListWithWinnerInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass LotListWithWinnerOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = LotSummaryWithWinner.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new LotListWithWinnerOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass LotSummaryWithWinner {\n constructor(organizationID, auctionID, id, lotNumber, lotOrder, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isBought, isBiddingPaused, openTime, closeTime, winningBidID, paidByPurchaseID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL, winner) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.isBiddingPaused = isBiddingPaused !== null && isBiddingPaused !== void 0 ? isBiddingPaused : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n this.winner = winner !== null && winner !== void 0 ? winner : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotSummaryWithWinner(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.isBiddingPaused, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL, input === null || input === void 0 ? void 0 : input.winner);\n }\n}\nclass MySupporterPurchasedItemsDetailsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new MySupporterPurchasedItemsDetailsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass MySupporterPurchasedItemsDetailsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSupporterPurchasedItemDetailSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new MySupporterPurchasedItemsDetailsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass NoOrgListEventsInput {\n constructor(organizationID, timezone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new NoOrgListEventsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass NoOrgListEventsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = EventSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new NoOrgListEventsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass NotifyLotUpdatedInput {\n constructor(organizationID, eventID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new NotifyLotUpdatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass NotifyLotUpdatedOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new NotifyLotUpdatedOutput();\n }\n}\nclass OpenBiddingInput {\n constructor(organizationID, eventID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenBiddingInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass OpenBiddingOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenBiddingOutput();\n }\n}\nclass OpenCheckoutNotificationInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenCheckoutNotificationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass OpenCheckoutNotificationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenCheckoutNotificationOutput();\n }\n}\nclass OpenLotAndAssignWinnerInput {\n constructor(organizationID, eventID, auctionID, lotID, auctionType, bidderID, bidderNumber, bidTime, bidAmountCents, guestID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenLotAndAssignWinnerInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass OpenLotAndAssignWinnerOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OpenLotAndAssignWinnerOutput();\n }\n}\nclass OverlayConfiguration {\n constructor(showNone, overlayIDs) {\n this.showNone = showNone !== null && showNone !== void 0 ? showNone : false;\n this.overlayIDs = overlayIDs !== null && overlayIDs !== void 0 ? overlayIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.overlayIDs) {\n this.overlayIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OverlayConfiguration(input === null || input === void 0 ? void 0 : input.showNone, input === null || input === void 0 ? void 0 : input.overlayIDs);\n }\n}\nclass OverlaySummary {\n constructor(organizationID, eventID, showID, sceneID, id, name, type) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new OverlaySummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type);\n }\n}\nclass PauseBiddingInput {\n constructor(organizationID, eventID, auctionID, lotID, isBiddingPaused) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.isBiddingPaused = isBiddingPaused !== null && isBiddingPaused !== void 0 ? isBiddingPaused : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PauseBiddingInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.isBiddingPaused);\n }\n}\nclass PauseBiddingOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PauseBiddingOutput();\n }\n}\nclass PayForAttendeeItemsInput {\n constructor(organizationID, eventID, attendeeUserID, guestID, firstName, lastName, email, mobilePhone, itemIDs, paymentTotalAmountCents, cardID, cardHolderGuestID, paymentType, paymentTypeOtherNotes, checkNumber, cardName, expiration, cardType, cardLastFour, token, saveCardOnFile, coverFee, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry, fakeTransactionResult) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n this.paymentTotalAmountCents = paymentTotalAmountCents !== null && paymentTotalAmountCents !== void 0 ? paymentTotalAmountCents : 0;\n this.cardID = cardID !== null && cardID !== void 0 ? cardID : \"\";\n this.cardHolderGuestID = cardHolderGuestID !== null && cardHolderGuestID !== void 0 ? cardHolderGuestID : \"\";\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.paymentTypeOtherNotes = paymentTypeOtherNotes !== null && paymentTypeOtherNotes !== void 0 ? paymentTypeOtherNotes : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.saveCardOnFile = saveCardOnFile !== null && saveCardOnFile !== void 0 ? saveCardOnFile : false;\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PayForAttendeeItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.attendeeUserID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.itemIDs, input === null || input === void 0 ? void 0 : input.paymentTotalAmountCents, input === null || input === void 0 ? void 0 : input.cardID, input === null || input === void 0 ? void 0 : input.cardHolderGuestID, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.paymentTypeOtherNotes, input === null || input === void 0 ? void 0 : input.checkNumber, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.saveCardOnFile, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.fakeTransactionResult);\n }\n}\nclass PayForAttendeeItemsOutput {\n constructor(transactionID) {\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PayForAttendeeItemsOutput(input === null || input === void 0 ? void 0 : input.transactionID);\n }\n}\nclass PayForItemsInput {\n constructor(organizationID, eventID, guestID, firstName, lastName, email, mobilePhone, itemIDs, cardID, cardName, expiration, cardType, cardLastFour, token, saveCardOnFile, coverFee, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry, fakeTransactionResult, paymentType, attendeeUserID, submittedByUserID, paymentTypeOtherNotes, checkNumber, cardHolderGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n this.cardID = cardID !== null && cardID !== void 0 ? cardID : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.saveCardOnFile = saveCardOnFile !== null && saveCardOnFile !== void 0 ? saveCardOnFile : false;\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n this.submittedByUserID = submittedByUserID !== null && submittedByUserID !== void 0 ? submittedByUserID : \"\";\n this.paymentTypeOtherNotes = paymentTypeOtherNotes !== null && paymentTypeOtherNotes !== void 0 ? paymentTypeOtherNotes : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n this.cardHolderGuestID = cardHolderGuestID !== null && cardHolderGuestID !== void 0 ? cardHolderGuestID : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PayForItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.itemIDs, input === null || input === void 0 ? void 0 : input.cardID, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.saveCardOnFile, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.fakeTransactionResult, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.attendeeUserID, input === null || input === void 0 ? void 0 : input.submittedByUserID, input === null || input === void 0 ? void 0 : input.paymentTypeOtherNotes, input === null || input === void 0 ? void 0 : input.checkNumber, input === null || input === void 0 ? void 0 : input.cardHolderGuestID);\n }\n}\nclass PayForItemsOutput {\n constructor(transactionID) {\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PayForItemsOutput(input === null || input === void 0 ? void 0 : input.transactionID);\n }\n}\nclass PickupItemOptionsOutput {\n constructor(itemID, isPickupTonight, isPickupLater) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.isPickupTonight = isPickupTonight !== null && isPickupTonight !== void 0 ? isPickupTonight : false;\n this.isPickupLater = isPickupLater !== null && isPickupLater !== void 0 ? isPickupLater : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PickupItemOptionsOutput(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.isPickupTonight, input === null || input === void 0 ? void 0 : input.isPickupLater);\n }\n}\nclass PickupItems {\n constructor(fixedPriceItemID, pickupPreference, pickupTimeSlot, itemID, lotID, allocationID) {\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : null;\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.allocationID = allocationID !== null && allocationID !== void 0 ? allocationID : \"\";\n }\n convertDates() {\n if (this.pickupTimeSlot !== undefined && this.pickupTimeSlot !== null) {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PickupItems(input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.allocationID);\n }\n}\nclass PickupItemSummary {\n constructor(organizationID, eventID, id, userID, guestID, transactionID, pickupTimeSlot, isPickedUp, isReadyPickUp, pickedUpByGuestID, pickupPreference, purchasedItemID, itemID, inventoryLotID, inventoryAllocationID, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : null;\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.inventoryLotID = inventoryLotID !== null && inventoryLotID !== void 0 ? inventoryLotID : \"\";\n this.inventoryAllocationID = inventoryAllocationID !== null && inventoryAllocationID !== void 0 ? inventoryAllocationID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.pickupTimeSlot !== undefined && this.pickupTimeSlot !== null) {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PickupItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.inventoryLotID, input === null || input === void 0 ? void 0 : input.inventoryAllocationID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass PickupTimeSlot {\n constructor(pickupTimeSlot, selectedPickupTimeSlotCount) {\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : new Date();\n this.selectedPickupTimeSlotCount = selectedPickupTimeSlotCount !== null && selectedPickupTimeSlotCount !== void 0 ? selectedPickupTimeSlotCount : 0;\n }\n convertDates() {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PickupTimeSlot(input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.selectedPickupTimeSlotCount);\n }\n}\nclass PlaceBidInput {\n constructor(organizationID, eventID, auctionID, lotID, auctionType, bidderID, bidderNumber, bidTime, bidAmountCents, guestID, userID, floorBid) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.floorBid = floorBid !== null && floorBid !== void 0 ? floorBid : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PlaceBidInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.floorBid);\n }\n}\nclass PlaceBidOutput {\n constructor(bidID, bidderUserID, topBidID, topBidderGuestID, topBidderUserID, topBidAmountCents, floorBid) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.bidderUserID = bidderUserID !== null && bidderUserID !== void 0 ? bidderUserID : \"\";\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidderGuestID = topBidderGuestID !== null && topBidderGuestID !== void 0 ? topBidderGuestID : \"\";\n this.topBidderUserID = topBidderUserID !== null && topBidderUserID !== void 0 ? topBidderUserID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.floorBid = floorBid !== null && floorBid !== void 0 ? floorBid : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PlaceBidOutput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.bidderUserID, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidderGuestID, input === null || input === void 0 ? void 0 : input.topBidderUserID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.floorBid);\n }\n}\nclass PreEventQuestionConfigSummary {\n constructor(organizationID, eventID, id, questionOnePrompt, questionOneActive, questionTwoPrompt, questionTwoActive, questionThreePrompt, questionThreeActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.questionOnePrompt = questionOnePrompt !== null && questionOnePrompt !== void 0 ? questionOnePrompt : \"\";\n this.questionOneActive = questionOneActive !== null && questionOneActive !== void 0 ? questionOneActive : false;\n this.questionTwoPrompt = questionTwoPrompt !== null && questionTwoPrompt !== void 0 ? questionTwoPrompt : \"\";\n this.questionTwoActive = questionTwoActive !== null && questionTwoActive !== void 0 ? questionTwoActive : false;\n this.questionThreePrompt = questionThreePrompt !== null && questionThreePrompt !== void 0 ? questionThreePrompt : \"\";\n this.questionThreeActive = questionThreeActive !== null && questionThreeActive !== void 0 ? questionThreeActive : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PreEventQuestionConfigSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.questionOnePrompt, input === null || input === void 0 ? void 0 : input.questionOneActive, input === null || input === void 0 ? void 0 : input.questionTwoPrompt, input === null || input === void 0 ? void 0 : input.questionTwoActive, input === null || input === void 0 ? void 0 : input.questionThreePrompt, input === null || input === void 0 ? void 0 : input.questionThreeActive);\n }\n}\nclass PurchasedItemSalesTaxSummary {\n constructor(organizationID, eventID, id, created, userID, guestID, amountCents, salesTaxPercent, payAfterEvent, purchaseID, purchasedItemID, transactionStatus, transactionID, refundID, overriddenByUserID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PurchasedItemSalesTaxSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass PurchasedItemSummary {\n constructor(organizationID, eventID, id, created, firstName, lastName, userID, guestID, email, mobilePhone, amountCents, type, impactID, auctionID, lotID, ticketID, fixedPriceItemID, raffleDetails, payAfterEvent, purchaseID, transactionStatus, transactionID, refundID, itemDetails, isExternal, isAnonymous, overriddenByUserID, proxyUserID, proxyGuestID, paidByGuestID, purchasedByDisplayName, paidByDisplayName) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.raffleDetails = raffleDetails !== null && raffleDetails !== void 0 ? raffleDetails : new RafflePurchaseDetails();\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : new ItemPurchaseDetails();\n this.isExternal = isExternal !== null && isExternal !== void 0 ? isExternal : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.paidByGuestID = paidByGuestID !== null && paidByGuestID !== void 0 ? paidByGuestID : \"\";\n this.purchasedByDisplayName = purchasedByDisplayName !== null && purchasedByDisplayName !== void 0 ? purchasedByDisplayName : \"\";\n this.paidByDisplayName = paidByDisplayName !== null && paidByDisplayName !== void 0 ? paidByDisplayName : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n this.raffleDetails = RafflePurchaseDetails.fromObject(this.raffleDetails).fixClasses();\n this.itemDetails = ItemPurchaseDetails.fromObject(this.itemDetails).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new PurchasedItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.raffleDetails, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.isExternal, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.paidByGuestID, input === null || input === void 0 ? void 0 : input.purchasedByDisplayName, input === null || input === void 0 ? void 0 : input.paidByDisplayName);\n }\n}\nclass RafflePurchaseDetails {\n constructor(raffleID, purchaseLevelID, quantityTickets, raffleName, batchID) {\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.quantityTickets = quantityTickets !== null && quantityTickets !== void 0 ? quantityTickets : 0;\n this.raffleName = raffleName !== null && raffleName !== void 0 ? raffleName : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RafflePurchaseDetails(input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.quantityTickets, input === null || input === void 0 ? void 0 : input.raffleName, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass RaffleSummary$1 {\n constructor(organizationID, id, name, description, startDate, endDate, hasSoldOut, maxTicketsCount, totalTicketsCount, totalTicketsAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.startDate = startDate !== null && startDate !== void 0 ? startDate : null;\n this.endDate = endDate !== null && endDate !== void 0 ? endDate : null;\n this.hasSoldOut = hasSoldOut !== null && hasSoldOut !== void 0 ? hasSoldOut : false;\n this.maxTicketsCount = maxTicketsCount !== null && maxTicketsCount !== void 0 ? maxTicketsCount : 0;\n this.totalTicketsCount = totalTicketsCount !== null && totalTicketsCount !== void 0 ? totalTicketsCount : 0;\n this.totalTicketsAmountCents = totalTicketsAmountCents !== null && totalTicketsAmountCents !== void 0 ? totalTicketsAmountCents : 0;\n }\n convertDates() {\n if (this.startDate !== undefined && this.startDate !== null) {\n this.startDate = this.startDate ? new Date(this.startDate) : this.startDate;\n }\n if (this.endDate !== undefined && this.endDate !== null) {\n this.endDate = this.endDate ? new Date(this.endDate) : this.endDate;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RaffleSummary$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.startDate, input === null || input === void 0 ? void 0 : input.endDate, input === null || input === void 0 ? void 0 : input.hasSoldOut, input === null || input === void 0 ? void 0 : input.maxTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsAmountCents);\n }\n}\nclass RaiseVirtualEventProcessPendingPurchasedItemsInput {\n constructor(organizationID, eventID, fakeTransactionResult) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RaiseVirtualEventProcessPendingPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fakeTransactionResult);\n }\n}\nclass RaiseVirtualEventProcessPendingPurchasedItemsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RaiseVirtualEventProcessPendingPurchasedItemsOutput();\n }\n}\nclass ReadDefaultInvitationTemplateInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadDefaultInvitationTemplateInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadDefaultInvitationTemplateOutput {\n constructor(templateMarkdown) {\n this.templateMarkdown = templateMarkdown !== null && templateMarkdown !== void 0 ? templateMarkdown : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadDefaultInvitationTemplateOutput(input === null || input === void 0 ? void 0 : input.templateMarkdown);\n }\n}\nclass ReadDonationMomentInput {\n constructor(donationMomentID, organizationID, eventID) {\n this.donationMomentID = donationMomentID !== null && donationMomentID !== void 0 ? donationMomentID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadDonationMomentInput(input === null || input === void 0 ? void 0 : input.donationMomentID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadDonationMomentOutput {\n constructor(organizationID, eventID, id, name, type, donationLevelsAmountCents, currentDonationTierAmountCents, disableOnlineDonations, giveAtAnyLevelEnabled, giveAtAnyLevelActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.donationLevelsAmountCents = donationLevelsAmountCents !== null && donationLevelsAmountCents !== void 0 ? donationLevelsAmountCents : [];\n this.currentDonationTierAmountCents = currentDonationTierAmountCents !== null && currentDonationTierAmountCents !== void 0 ? currentDonationTierAmountCents : 0;\n this.disableOnlineDonations = disableOnlineDonations !== null && disableOnlineDonations !== void 0 ? disableOnlineDonations : false;\n this.giveAtAnyLevelEnabled = giveAtAnyLevelEnabled !== null && giveAtAnyLevelEnabled !== void 0 ? giveAtAnyLevelEnabled : false;\n this.giveAtAnyLevelActive = giveAtAnyLevelActive !== null && giveAtAnyLevelActive !== void 0 ? giveAtAnyLevelActive : false;\n }\n convertUnexpectedNulls() {\n if (!this.donationLevelsAmountCents) {\n this.donationLevelsAmountCents = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadDonationMomentOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.donationLevelsAmountCents, input === null || input === void 0 ? void 0 : input.currentDonationTierAmountCents, input === null || input === void 0 ? void 0 : input.disableOnlineDonations, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelEnabled, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelActive);\n }\n}\nclass ReadEventInput {\n constructor(eventID, organizationID, timezone) {\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventInput(input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.timezone);\n }\n}\nclass ReadEventOutput {\n constructor(organizationID, id, name, descriptionMarkdown, eventType, impactBlurb, registrationBlurb, primaryDate, preEventScheduledNotificationID, preEventQuestionnaireNotificationID, primaryEndDate, timezone, storyMarkdown, shortURL, currencyCode, totalDonationsCount, totalDonationsAmountCents, totalAppealAmountCents, totalRegistrationsCount, goalTotalDonationsAmountCents, goalTotalDonationsAmountCentsMetOn, goalTotalDonationsSeedAmountCents, goalTrackerImageURL, goalTrackerImageUploadToken, donationSuggestedAmountsCents, donationSuggestedAmountsShow, themePrimaryColor, themeSecondaryColor, bannerImageURL, bannerImageUploadToken, logoImageURL, logoImageUploadToken, registrationThankYouMessageMarkdown, registrationConfirmationMessageMarkdown, donationThankYouMessageMarkdown, contactName, contactPhone, contactEmail, merchantAccountID, showBillingAddress, requireBillingAddress, isCoverCostActive, coverCostPercent, coverCostCustomMessage, coverCostDefault, tags, impactOrderIDs, fixedPriceOrderIDs, activeRaffleID, enableRaffles, enableFixedPrice, messageTemplateMarkdown, invitationEmailSubject, showSilentAuction, showSilentAuctionCountdown, activeSilentAuctionID, noticeEmailsSent, showThermometer, showStory, showLiveAuctionPreview, showRaffle, showGreatfeatsParticipantsLeaderboard, greatfeatsParticipantsLeaderboardTabTitle, greatfeatsParticipantsLeaderboardMessageMarkdown, storyTabTitle, liveAuctionPreviewTabTitle, silentAuctionTabTitle, raffleTabTitle, paymentsProcessed, checkoutMessageMarkdown, isVirtualTableActive, isChatOn, livestreamChatChannelCount, requireDonationDuringRegistration, requireDonationCompEmails, showSocialAuth, showPhoneNumber, requirePhoneNumber, showAddress, requireAddress, enableTicketing, ticketTypeOrderIDs, ticketOptionOrderIDs, showGame, gameTabTitle, greatfeatsChallengeAccessKey, showRecurringDonationManagement, recurringDonationPeriod, recurringDonationSuggestedAmountsCents, receiptMessageMarkdown, eventEndMessageMarkdown, receiptTaxMessage, hostURL, hostShortenedURL, donationTabTitle, fixedPriceItemTabTitle, supportSectionHeaderTitle, checkoutNotificationMessageMarkdown, readyPickupNotificationMessageMarkdown, pickupLaterNotificationMessageMarkdown, allowPickupLater, allowPickupTonight, isPickupWindowScheduled, pickupOpenTime, pickupCloseTime, isCheckoutOpen, thermometerConfig, totalDonationsProceedsAmountCents, totalOfflineDonationsAmountCents, totalLiveAuctionProceedsAmountCents, totalSilentAuctionProceedsAmountCents, totalFixedPriceProceedsAmountCents, totalTicketsProceedsAmountCents, totalRaffleProceedsAmountCents, totalSponsorAttachmentEventSalesProceedsAmountCents, totalMiscProceedsAmountCents, thermometerProceeds, testEvent, enableSelfCheckin, eventDayToolShortURL, shareableSlideshowShortURL, salesTaxPercent, salesTaxAppliesTo, salesTaxCoverageType, customTags, externalID, enableBidderNumbers, enableAutomaticBidderNumbers, startingBidderNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.eventType = eventType !== null && eventType !== void 0 ? eventType : \"\";\n this.impactBlurb = impactBlurb !== null && impactBlurb !== void 0 ? impactBlurb : \"\";\n this.registrationBlurb = registrationBlurb !== null && registrationBlurb !== void 0 ? registrationBlurb : \"\";\n this.primaryDate = primaryDate !== null && primaryDate !== void 0 ? primaryDate : null;\n this.preEventScheduledNotificationID = preEventScheduledNotificationID !== null && preEventScheduledNotificationID !== void 0 ? preEventScheduledNotificationID : \"\";\n this.preEventQuestionnaireNotificationID = preEventQuestionnaireNotificationID !== null && preEventQuestionnaireNotificationID !== void 0 ? preEventQuestionnaireNotificationID : \"\";\n this.primaryEndDate = primaryEndDate !== null && primaryEndDate !== void 0 ? primaryEndDate : null;\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : \"\";\n this.storyMarkdown = storyMarkdown !== null && storyMarkdown !== void 0 ? storyMarkdown : \"\";\n this.shortURL = shortURL !== null && shortURL !== void 0 ? shortURL : \"\";\n this.currencyCode = currencyCode !== null && currencyCode !== void 0 ? currencyCode : \"\";\n this.totalDonationsCount = totalDonationsCount !== null && totalDonationsCount !== void 0 ? totalDonationsCount : 0;\n this.totalDonationsAmountCents = totalDonationsAmountCents !== null && totalDonationsAmountCents !== void 0 ? totalDonationsAmountCents : 0;\n this.totalAppealAmountCents = totalAppealAmountCents !== null && totalAppealAmountCents !== void 0 ? totalAppealAmountCents : 0;\n this.totalRegistrationsCount = totalRegistrationsCount !== null && totalRegistrationsCount !== void 0 ? totalRegistrationsCount : 0;\n this.goalTotalDonationsAmountCents = goalTotalDonationsAmountCents !== null && goalTotalDonationsAmountCents !== void 0 ? goalTotalDonationsAmountCents : 0;\n this.goalTotalDonationsAmountCentsMetOn = goalTotalDonationsAmountCentsMetOn !== null && goalTotalDonationsAmountCentsMetOn !== void 0 ? goalTotalDonationsAmountCentsMetOn : null;\n this.goalTotalDonationsSeedAmountCents = goalTotalDonationsSeedAmountCents !== null && goalTotalDonationsSeedAmountCents !== void 0 ? goalTotalDonationsSeedAmountCents : 0;\n this.goalTrackerImageURL = goalTrackerImageURL !== null && goalTrackerImageURL !== void 0 ? goalTrackerImageURL : \"\";\n this.goalTrackerImageUploadToken = goalTrackerImageUploadToken !== null && goalTrackerImageUploadToken !== void 0 ? goalTrackerImageUploadToken : \"\";\n this.donationSuggestedAmountsCents = donationSuggestedAmountsCents !== null && donationSuggestedAmountsCents !== void 0 ? donationSuggestedAmountsCents : [];\n this.donationSuggestedAmountsShow = donationSuggestedAmountsShow !== null && donationSuggestedAmountsShow !== void 0 ? donationSuggestedAmountsShow : false;\n this.themePrimaryColor = themePrimaryColor !== null && themePrimaryColor !== void 0 ? themePrimaryColor : \"\";\n this.themeSecondaryColor = themeSecondaryColor !== null && themeSecondaryColor !== void 0 ? themeSecondaryColor : \"\";\n this.bannerImageURL = bannerImageURL !== null && bannerImageURL !== void 0 ? bannerImageURL : \"\";\n this.bannerImageUploadToken = bannerImageUploadToken !== null && bannerImageUploadToken !== void 0 ? bannerImageUploadToken : \"\";\n this.logoImageURL = logoImageURL !== null && logoImageURL !== void 0 ? logoImageURL : \"\";\n this.logoImageUploadToken = logoImageUploadToken !== null && logoImageUploadToken !== void 0 ? logoImageUploadToken : \"\";\n this.registrationThankYouMessageMarkdown = registrationThankYouMessageMarkdown !== null && registrationThankYouMessageMarkdown !== void 0 ? registrationThankYouMessageMarkdown : \"\";\n this.registrationConfirmationMessageMarkdown = registrationConfirmationMessageMarkdown !== null && registrationConfirmationMessageMarkdown !== void 0 ? registrationConfirmationMessageMarkdown : \"\";\n this.donationThankYouMessageMarkdown = donationThankYouMessageMarkdown !== null && donationThankYouMessageMarkdown !== void 0 ? donationThankYouMessageMarkdown : \"\";\n this.contactName = contactName !== null && contactName !== void 0 ? contactName : \"\";\n this.contactPhone = contactPhone !== null && contactPhone !== void 0 ? contactPhone : \"\";\n this.contactEmail = contactEmail !== null && contactEmail !== void 0 ? contactEmail : \"\";\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n this.showBillingAddress = showBillingAddress !== null && showBillingAddress !== void 0 ? showBillingAddress : false;\n this.requireBillingAddress = requireBillingAddress !== null && requireBillingAddress !== void 0 ? requireBillingAddress : false;\n this.isCoverCostActive = isCoverCostActive !== null && isCoverCostActive !== void 0 ? isCoverCostActive : false;\n this.coverCostPercent = coverCostPercent !== null && coverCostPercent !== void 0 ? coverCostPercent : 0;\n this.coverCostCustomMessage = coverCostCustomMessage !== null && coverCostCustomMessage !== void 0 ? coverCostCustomMessage : \"\";\n this.coverCostDefault = coverCostDefault !== null && coverCostDefault !== void 0 ? coverCostDefault : false;\n this.tags = tags !== null && tags !== void 0 ? tags : [];\n this.impactOrderIDs = impactOrderIDs !== null && impactOrderIDs !== void 0 ? impactOrderIDs : [];\n this.fixedPriceOrderIDs = fixedPriceOrderIDs !== null && fixedPriceOrderIDs !== void 0 ? fixedPriceOrderIDs : [];\n this.activeRaffleID = activeRaffleID !== null && activeRaffleID !== void 0 ? activeRaffleID : \"\";\n this.enableRaffles = enableRaffles !== null && enableRaffles !== void 0 ? enableRaffles : false;\n this.enableFixedPrice = enableFixedPrice !== null && enableFixedPrice !== void 0 ? enableFixedPrice : false;\n this.messageTemplateMarkdown = messageTemplateMarkdown !== null && messageTemplateMarkdown !== void 0 ? messageTemplateMarkdown : \"\";\n this.invitationEmailSubject = invitationEmailSubject !== null && invitationEmailSubject !== void 0 ? invitationEmailSubject : \"\";\n this.showSilentAuction = showSilentAuction !== null && showSilentAuction !== void 0 ? showSilentAuction : false;\n this.showSilentAuctionCountdown = showSilentAuctionCountdown !== null && showSilentAuctionCountdown !== void 0 ? showSilentAuctionCountdown : false;\n this.activeSilentAuctionID = activeSilentAuctionID !== null && activeSilentAuctionID !== void 0 ? activeSilentAuctionID : \"\";\n this.noticeEmailsSent = noticeEmailsSent !== null && noticeEmailsSent !== void 0 ? noticeEmailsSent : false;\n this.showThermometer = showThermometer !== null && showThermometer !== void 0 ? showThermometer : false;\n this.showStory = showStory !== null && showStory !== void 0 ? showStory : false;\n this.showLiveAuctionPreview = showLiveAuctionPreview !== null && showLiveAuctionPreview !== void 0 ? showLiveAuctionPreview : false;\n this.showRaffle = showRaffle !== null && showRaffle !== void 0 ? showRaffle : false;\n this.showGreatfeatsParticipantsLeaderboard = showGreatfeatsParticipantsLeaderboard !== null && showGreatfeatsParticipantsLeaderboard !== void 0 ? showGreatfeatsParticipantsLeaderboard : false;\n this.greatfeatsParticipantsLeaderboardTabTitle = greatfeatsParticipantsLeaderboardTabTitle !== null && greatfeatsParticipantsLeaderboardTabTitle !== void 0 ? greatfeatsParticipantsLeaderboardTabTitle : \"\";\n this.greatfeatsParticipantsLeaderboardMessageMarkdown = greatfeatsParticipantsLeaderboardMessageMarkdown !== null && greatfeatsParticipantsLeaderboardMessageMarkdown !== void 0 ? greatfeatsParticipantsLeaderboardMessageMarkdown : \"\";\n this.storyTabTitle = storyTabTitle !== null && storyTabTitle !== void 0 ? storyTabTitle : \"\";\n this.liveAuctionPreviewTabTitle = liveAuctionPreviewTabTitle !== null && liveAuctionPreviewTabTitle !== void 0 ? liveAuctionPreviewTabTitle : \"\";\n this.silentAuctionTabTitle = silentAuctionTabTitle !== null && silentAuctionTabTitle !== void 0 ? silentAuctionTabTitle : \"\";\n this.raffleTabTitle = raffleTabTitle !== null && raffleTabTitle !== void 0 ? raffleTabTitle : \"\";\n this.paymentsProcessed = paymentsProcessed !== null && paymentsProcessed !== void 0 ? paymentsProcessed : false;\n this.checkoutMessageMarkdown = checkoutMessageMarkdown !== null && checkoutMessageMarkdown !== void 0 ? checkoutMessageMarkdown : \"\";\n this.isVirtualTableActive = isVirtualTableActive !== null && isVirtualTableActive !== void 0 ? isVirtualTableActive : false;\n this.isChatOn = isChatOn !== null && isChatOn !== void 0 ? isChatOn : false;\n this.livestreamChatChannelCount = livestreamChatChannelCount !== null && livestreamChatChannelCount !== void 0 ? livestreamChatChannelCount : 0;\n this.requireDonationDuringRegistration = requireDonationDuringRegistration !== null && requireDonationDuringRegistration !== void 0 ? requireDonationDuringRegistration : false;\n this.requireDonationCompEmails = requireDonationCompEmails !== null && requireDonationCompEmails !== void 0 ? requireDonationCompEmails : [];\n this.showSocialAuth = showSocialAuth !== null && showSocialAuth !== void 0 ? showSocialAuth : false;\n this.showPhoneNumber = showPhoneNumber !== null && showPhoneNumber !== void 0 ? showPhoneNumber : false;\n this.requirePhoneNumber = requirePhoneNumber !== null && requirePhoneNumber !== void 0 ? requirePhoneNumber : false;\n this.showAddress = showAddress !== null && showAddress !== void 0 ? showAddress : false;\n this.requireAddress = requireAddress !== null && requireAddress !== void 0 ? requireAddress : false;\n this.enableTicketing = enableTicketing !== null && enableTicketing !== void 0 ? enableTicketing : false;\n this.ticketTypeOrderIDs = ticketTypeOrderIDs !== null && ticketTypeOrderIDs !== void 0 ? ticketTypeOrderIDs : [];\n this.ticketOptionOrderIDs = ticketOptionOrderIDs !== null && ticketOptionOrderIDs !== void 0 ? ticketOptionOrderIDs : [];\n this.showGame = showGame !== null && showGame !== void 0 ? showGame : false;\n this.gameTabTitle = gameTabTitle !== null && gameTabTitle !== void 0 ? gameTabTitle : \"\";\n this.greatfeatsChallengeAccessKey = greatfeatsChallengeAccessKey !== null && greatfeatsChallengeAccessKey !== void 0 ? greatfeatsChallengeAccessKey : \"\";\n this.showRecurringDonationManagement = showRecurringDonationManagement !== null && showRecurringDonationManagement !== void 0 ? showRecurringDonationManagement : false;\n this.recurringDonationPeriod = recurringDonationPeriod !== null && recurringDonationPeriod !== void 0 ? recurringDonationPeriod : \"\";\n this.recurringDonationSuggestedAmountsCents = recurringDonationSuggestedAmountsCents !== null && recurringDonationSuggestedAmountsCents !== void 0 ? recurringDonationSuggestedAmountsCents : [];\n this.receiptMessageMarkdown = receiptMessageMarkdown !== null && receiptMessageMarkdown !== void 0 ? receiptMessageMarkdown : \"\";\n this.eventEndMessageMarkdown = eventEndMessageMarkdown !== null && eventEndMessageMarkdown !== void 0 ? eventEndMessageMarkdown : \"\";\n this.receiptTaxMessage = receiptTaxMessage !== null && receiptTaxMessage !== void 0 ? receiptTaxMessage : \"\";\n this.hostURL = hostURL !== null && hostURL !== void 0 ? hostURL : \"\";\n this.hostShortenedURL = hostShortenedURL !== null && hostShortenedURL !== void 0 ? hostShortenedURL : \"\";\n this.donationTabTitle = donationTabTitle !== null && donationTabTitle !== void 0 ? donationTabTitle : \"\";\n this.fixedPriceItemTabTitle = fixedPriceItemTabTitle !== null && fixedPriceItemTabTitle !== void 0 ? fixedPriceItemTabTitle : \"\";\n this.supportSectionHeaderTitle = supportSectionHeaderTitle !== null && supportSectionHeaderTitle !== void 0 ? supportSectionHeaderTitle : \"\";\n this.checkoutNotificationMessageMarkdown = checkoutNotificationMessageMarkdown !== null && checkoutNotificationMessageMarkdown !== void 0 ? checkoutNotificationMessageMarkdown : \"\";\n this.readyPickupNotificationMessageMarkdown = readyPickupNotificationMessageMarkdown !== null && readyPickupNotificationMessageMarkdown !== void 0 ? readyPickupNotificationMessageMarkdown : \"\";\n this.pickupLaterNotificationMessageMarkdown = pickupLaterNotificationMessageMarkdown !== null && pickupLaterNotificationMessageMarkdown !== void 0 ? pickupLaterNotificationMessageMarkdown : \"\";\n this.allowPickupLater = allowPickupLater !== null && allowPickupLater !== void 0 ? allowPickupLater : false;\n this.allowPickupTonight = allowPickupTonight !== null && allowPickupTonight !== void 0 ? allowPickupTonight : false;\n this.isPickupWindowScheduled = isPickupWindowScheduled !== null && isPickupWindowScheduled !== void 0 ? isPickupWindowScheduled : false;\n this.pickupOpenTime = pickupOpenTime !== null && pickupOpenTime !== void 0 ? pickupOpenTime : null;\n this.pickupCloseTime = pickupCloseTime !== null && pickupCloseTime !== void 0 ? pickupCloseTime : null;\n this.isCheckoutOpen = isCheckoutOpen !== null && isCheckoutOpen !== void 0 ? isCheckoutOpen : false;\n this.thermometerConfig = thermometerConfig !== null && thermometerConfig !== void 0 ? thermometerConfig : new ThermometerSetupConfig();\n this.totalDonationsProceedsAmountCents = totalDonationsProceedsAmountCents !== null && totalDonationsProceedsAmountCents !== void 0 ? totalDonationsProceedsAmountCents : 0;\n this.totalOfflineDonationsAmountCents = totalOfflineDonationsAmountCents !== null && totalOfflineDonationsAmountCents !== void 0 ? totalOfflineDonationsAmountCents : 0;\n this.totalLiveAuctionProceedsAmountCents = totalLiveAuctionProceedsAmountCents !== null && totalLiveAuctionProceedsAmountCents !== void 0 ? totalLiveAuctionProceedsAmountCents : 0;\n this.totalSilentAuctionProceedsAmountCents = totalSilentAuctionProceedsAmountCents !== null && totalSilentAuctionProceedsAmountCents !== void 0 ? totalSilentAuctionProceedsAmountCents : 0;\n this.totalFixedPriceProceedsAmountCents = totalFixedPriceProceedsAmountCents !== null && totalFixedPriceProceedsAmountCents !== void 0 ? totalFixedPriceProceedsAmountCents : 0;\n this.totalTicketsProceedsAmountCents = totalTicketsProceedsAmountCents !== null && totalTicketsProceedsAmountCents !== void 0 ? totalTicketsProceedsAmountCents : 0;\n this.totalRaffleProceedsAmountCents = totalRaffleProceedsAmountCents !== null && totalRaffleProceedsAmountCents !== void 0 ? totalRaffleProceedsAmountCents : 0;\n this.totalSponsorAttachmentEventSalesProceedsAmountCents = totalSponsorAttachmentEventSalesProceedsAmountCents !== null && totalSponsorAttachmentEventSalesProceedsAmountCents !== void 0 ? totalSponsorAttachmentEventSalesProceedsAmountCents : 0;\n this.totalMiscProceedsAmountCents = totalMiscProceedsAmountCents !== null && totalMiscProceedsAmountCents !== void 0 ? totalMiscProceedsAmountCents : 0;\n this.thermometerProceeds = thermometerProceeds !== null && thermometerProceeds !== void 0 ? thermometerProceeds : 0;\n this.testEvent = testEvent !== null && testEvent !== void 0 ? testEvent : false;\n this.enableSelfCheckin = enableSelfCheckin !== null && enableSelfCheckin !== void 0 ? enableSelfCheckin : false;\n this.eventDayToolShortURL = eventDayToolShortURL !== null && eventDayToolShortURL !== void 0 ? eventDayToolShortURL : \"\";\n this.shareableSlideshowShortURL = shareableSlideshowShortURL !== null && shareableSlideshowShortURL !== void 0 ? shareableSlideshowShortURL : \"\";\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.salesTaxAppliesTo = salesTaxAppliesTo !== null && salesTaxAppliesTo !== void 0 ? salesTaxAppliesTo : \"\";\n this.salesTaxCoverageType = salesTaxCoverageType !== null && salesTaxCoverageType !== void 0 ? salesTaxCoverageType : \"\";\n this.customTags = customTags !== null && customTags !== void 0 ? customTags : [];\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n this.enableBidderNumbers = enableBidderNumbers !== null && enableBidderNumbers !== void 0 ? enableBidderNumbers : false;\n this.enableAutomaticBidderNumbers = enableAutomaticBidderNumbers !== null && enableAutomaticBidderNumbers !== void 0 ? enableAutomaticBidderNumbers : false;\n this.startingBidderNumber = startingBidderNumber !== null && startingBidderNumber !== void 0 ? startingBidderNumber : null;\n }\n convertDates() {\n if (this.primaryDate !== undefined && this.primaryDate !== null) {\n this.primaryDate = this.primaryDate ? new Date(this.primaryDate) : this.primaryDate;\n }\n if (this.primaryEndDate !== undefined && this.primaryEndDate !== null) {\n this.primaryEndDate = this.primaryEndDate ? new Date(this.primaryEndDate) : this.primaryEndDate;\n }\n if (this.goalTotalDonationsAmountCentsMetOn !== undefined && this.goalTotalDonationsAmountCentsMetOn !== null) {\n this.goalTotalDonationsAmountCentsMetOn = this.goalTotalDonationsAmountCentsMetOn ? new Date(this.goalTotalDonationsAmountCentsMetOn) : this.goalTotalDonationsAmountCentsMetOn;\n }\n if (this.pickupOpenTime !== undefined && this.pickupOpenTime !== null) {\n this.pickupOpenTime = this.pickupOpenTime ? new Date(this.pickupOpenTime) : this.pickupOpenTime;\n }\n if (this.pickupCloseTime !== undefined && this.pickupCloseTime !== null) {\n this.pickupCloseTime = this.pickupCloseTime ? new Date(this.pickupCloseTime) : this.pickupCloseTime;\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.donationSuggestedAmountsCents) {\n this.donationSuggestedAmountsCents = [];\n }\n if (!this.tags) {\n this.tags = [];\n }\n if (!this.impactOrderIDs) {\n this.impactOrderIDs = [];\n }\n if (!this.fixedPriceOrderIDs) {\n this.fixedPriceOrderIDs = [];\n }\n if (!this.requireDonationCompEmails) {\n this.requireDonationCompEmails = [];\n }\n if (!this.ticketTypeOrderIDs) {\n this.ticketTypeOrderIDs = [];\n }\n if (!this.ticketOptionOrderIDs) {\n this.ticketOptionOrderIDs = [];\n }\n if (!this.recurringDonationSuggestedAmountsCents) {\n this.recurringDonationSuggestedAmountsCents = [];\n }\n if (!this.customTags) {\n this.customTags = [];\n }\n return this;\n }\n fixClasses() {\n this.thermometerConfig = ThermometerSetupConfig.fromObject(this.thermometerConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadEventOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.eventType, input === null || input === void 0 ? void 0 : input.impactBlurb, input === null || input === void 0 ? void 0 : input.registrationBlurb, input === null || input === void 0 ? void 0 : input.primaryDate, input === null || input === void 0 ? void 0 : input.preEventScheduledNotificationID, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireNotificationID, input === null || input === void 0 ? void 0 : input.primaryEndDate, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.storyMarkdown, input === null || input === void 0 ? void 0 : input.shortURL, input === null || input === void 0 ? void 0 : input.currencyCode, input === null || input === void 0 ? void 0 : input.totalDonationsCount, input === null || input === void 0 ? void 0 : input.totalDonationsAmountCents, input === null || input === void 0 ? void 0 : input.totalAppealAmountCents, input === null || input === void 0 ? void 0 : input.totalRegistrationsCount, input === null || input === void 0 ? void 0 : input.goalTotalDonationsAmountCents, input === null || input === void 0 ? void 0 : input.goalTotalDonationsAmountCentsMetOn, input === null || input === void 0 ? void 0 : input.goalTotalDonationsSeedAmountCents, input === null || input === void 0 ? void 0 : input.goalTrackerImageURL, input === null || input === void 0 ? void 0 : input.goalTrackerImageUploadToken, input === null || input === void 0 ? void 0 : input.donationSuggestedAmountsCents, input === null || input === void 0 ? void 0 : input.donationSuggestedAmountsShow, input === null || input === void 0 ? void 0 : input.themePrimaryColor, input === null || input === void 0 ? void 0 : input.themeSecondaryColor, input === null || input === void 0 ? void 0 : input.bannerImageURL, input === null || input === void 0 ? void 0 : input.bannerImageUploadToken, input === null || input === void 0 ? void 0 : input.logoImageURL, input === null || input === void 0 ? void 0 : input.logoImageUploadToken, input === null || input === void 0 ? void 0 : input.registrationThankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.registrationConfirmationMessageMarkdown, input === null || input === void 0 ? void 0 : input.donationThankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.contactName, input === null || input === void 0 ? void 0 : input.contactPhone, input === null || input === void 0 ? void 0 : input.contactEmail, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.showBillingAddress, input === null || input === void 0 ? void 0 : input.requireBillingAddress, input === null || input === void 0 ? void 0 : input.isCoverCostActive, input === null || input === void 0 ? void 0 : input.coverCostPercent, input === null || input === void 0 ? void 0 : input.coverCostCustomMessage, input === null || input === void 0 ? void 0 : input.coverCostDefault, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.impactOrderIDs, input === null || input === void 0 ? void 0 : input.fixedPriceOrderIDs, input === null || input === void 0 ? void 0 : input.activeRaffleID, input === null || input === void 0 ? void 0 : input.enableRaffles, input === null || input === void 0 ? void 0 : input.enableFixedPrice, input === null || input === void 0 ? void 0 : input.messageTemplateMarkdown, input === null || input === void 0 ? void 0 : input.invitationEmailSubject, input === null || input === void 0 ? void 0 : input.showSilentAuction, input === null || input === void 0 ? void 0 : input.showSilentAuctionCountdown, input === null || input === void 0 ? void 0 : input.activeSilentAuctionID, input === null || input === void 0 ? void 0 : input.noticeEmailsSent, input === null || input === void 0 ? void 0 : input.showThermometer, input === null || input === void 0 ? void 0 : input.showStory, input === null || input === void 0 ? void 0 : input.showLiveAuctionPreview, input === null || input === void 0 ? void 0 : input.showRaffle, input === null || input === void 0 ? void 0 : input.showGreatfeatsParticipantsLeaderboard, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantsLeaderboardTabTitle, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantsLeaderboardMessageMarkdown, input === null || input === void 0 ? void 0 : input.storyTabTitle, input === null || input === void 0 ? void 0 : input.liveAuctionPreviewTabTitle, input === null || input === void 0 ? void 0 : input.silentAuctionTabTitle, input === null || input === void 0 ? void 0 : input.raffleTabTitle, input === null || input === void 0 ? void 0 : input.paymentsProcessed, input === null || input === void 0 ? void 0 : input.checkoutMessageMarkdown, input === null || input === void 0 ? void 0 : input.isVirtualTableActive, input === null || input === void 0 ? void 0 : input.isChatOn, input === null || input === void 0 ? void 0 : input.livestreamChatChannelCount, input === null || input === void 0 ? void 0 : input.requireDonationDuringRegistration, input === null || input === void 0 ? void 0 : input.requireDonationCompEmails, input === null || input === void 0 ? void 0 : input.showSocialAuth, input === null || input === void 0 ? void 0 : input.showPhoneNumber, input === null || input === void 0 ? void 0 : input.requirePhoneNumber, input === null || input === void 0 ? void 0 : input.showAddress, input === null || input === void 0 ? void 0 : input.requireAddress, input === null || input === void 0 ? void 0 : input.enableTicketing, input === null || input === void 0 ? void 0 : input.ticketTypeOrderIDs, input === null || input === void 0 ? void 0 : input.ticketOptionOrderIDs, input === null || input === void 0 ? void 0 : input.showGame, input === null || input === void 0 ? void 0 : input.gameTabTitle, input === null || input === void 0 ? void 0 : input.greatfeatsChallengeAccessKey, input === null || input === void 0 ? void 0 : input.showRecurringDonationManagement, input === null || input === void 0 ? void 0 : input.recurringDonationPeriod, input === null || input === void 0 ? void 0 : input.recurringDonationSuggestedAmountsCents, input === null || input === void 0 ? void 0 : input.receiptMessageMarkdown, input === null || input === void 0 ? void 0 : input.eventEndMessageMarkdown, input === null || input === void 0 ? void 0 : input.receiptTaxMessage, input === null || input === void 0 ? void 0 : input.hostURL, input === null || input === void 0 ? void 0 : input.hostShortenedURL, input === null || input === void 0 ? void 0 : input.donationTabTitle, input === null || input === void 0 ? void 0 : input.fixedPriceItemTabTitle, input === null || input === void 0 ? void 0 : input.supportSectionHeaderTitle, input === null || input === void 0 ? void 0 : input.checkoutNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.readyPickupNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.pickupLaterNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.allowPickupLater, input === null || input === void 0 ? void 0 : input.allowPickupTonight, input === null || input === void 0 ? void 0 : input.isPickupWindowScheduled, input === null || input === void 0 ? void 0 : input.pickupOpenTime, input === null || input === void 0 ? void 0 : input.pickupCloseTime, input === null || input === void 0 ? void 0 : input.isCheckoutOpen, input === null || input === void 0 ? void 0 : input.thermometerConfig, input === null || input === void 0 ? void 0 : input.totalDonationsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalOfflineDonationsAmountCents, input === null || input === void 0 ? void 0 : input.totalLiveAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSilentAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalFixedPriceProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalTicketsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalRaffleProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSponsorAttachmentEventSalesProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalMiscProceedsAmountCents, input === null || input === void 0 ? void 0 : input.thermometerProceeds, input === null || input === void 0 ? void 0 : input.testEvent, input === null || input === void 0 ? void 0 : input.enableSelfCheckin, input === null || input === void 0 ? void 0 : input.eventDayToolShortURL, input === null || input === void 0 ? void 0 : input.shareableSlideshowShortURL, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.salesTaxAppliesTo, input === null || input === void 0 ? void 0 : input.salesTaxCoverageType, input === null || input === void 0 ? void 0 : input.customTags, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.enableBidderNumbers, input === null || input === void 0 ? void 0 : input.enableAutomaticBidderNumbers, input === null || input === void 0 ? void 0 : input.startingBidderNumber);\n }\n}\nclass ReadEventSessionInput {\n constructor(eventSessionID, organizationID, eventID) {\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSessionInput(input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadEventSessionOutput {\n constructor(organizationID, eventID, id, tableImageURL, tableImageUploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.tableImageURL = tableImageURL !== null && tableImageURL !== void 0 ? tableImageURL : \"\";\n this.tableImageUploadToken = tableImageUploadToken !== null && tableImageUploadToken !== void 0 ? tableImageUploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSessionOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.tableImageURL, input === null || input === void 0 ? void 0 : input.tableImageUploadToken);\n }\n}\nclass ReadEventSessionTicketConfigInput {\n constructor(eventSessionTicketConfigID, organizationID, eventID, eventSessionID) {\n this.eventSessionTicketConfigID = eventSessionTicketConfigID !== null && eventSessionTicketConfigID !== void 0 ? eventSessionTicketConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSessionTicketConfigInput(input === null || input === void 0 ? void 0 : input.eventSessionTicketConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass ReadEventSessionTicketConfigOutput {\n constructor(organizationID, eventID, eventSessionID, id, ticketTypeID, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSessionTicketConfigOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass ReadEventShowControlInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventShowControlInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadEventShowControlOutput {\n constructor(organizationID, eventID, activeShowID, activeSceneID, activeSceneChanged, secondsSinceSceneChange, activeSceneType, activeSceneURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.activeShowID = activeShowID !== null && activeShowID !== void 0 ? activeShowID : \"\";\n this.activeSceneID = activeSceneID !== null && activeSceneID !== void 0 ? activeSceneID : \"\";\n this.activeSceneChanged = activeSceneChanged !== null && activeSceneChanged !== void 0 ? activeSceneChanged : null;\n this.secondsSinceSceneChange = secondsSinceSceneChange !== null && secondsSinceSceneChange !== void 0 ? secondsSinceSceneChange : 0;\n this.activeSceneType = activeSceneType !== null && activeSceneType !== void 0 ? activeSceneType : \"\";\n this.activeSceneURL = activeSceneURL !== null && activeSceneURL !== void 0 ? activeSceneURL : \"\";\n }\n convertDates() {\n if (this.activeSceneChanged !== undefined && this.activeSceneChanged !== null) {\n this.activeSceneChanged = this.activeSceneChanged ? new Date(this.activeSceneChanged) : this.activeSceneChanged;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventShowControlOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.activeShowID, input === null || input === void 0 ? void 0 : input.activeSceneID, input === null || input === void 0 ? void 0 : input.activeSceneChanged, input === null || input === void 0 ? void 0 : input.secondsSinceSceneChange, input === null || input === void 0 ? void 0 : input.activeSceneType, input === null || input === void 0 ? void 0 : input.activeSceneURL);\n }\n}\nclass ReadEventSlideConfigInput {\n constructor(eventSlideConfigID, organizationID, eventID) {\n this.eventSlideConfigID = eventSlideConfigID !== null && eventSlideConfigID !== void 0 ? eventSlideConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSlideConfigInput(input === null || input === void 0 ? void 0 : input.eventSlideConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadEventSlideConfigOutput {\n constructor(organizationID, eventID, id, slideType, detailsJSON) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.slideType = slideType !== null && slideType !== void 0 ? slideType : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSlideConfigOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.slideType, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass ReadEventSlideshowInput {\n constructor(eventSlideshowID, organizationID, eventID) {\n this.eventSlideshowID = eventSlideshowID !== null && eventSlideshowID !== void 0 ? eventSlideshowID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSlideshowInput(input === null || input === void 0 ? void 0 : input.eventSlideshowID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadEventSlideshowOutput {\n constructor(organizationID, eventID, id, activeSlideURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.activeSlideURL = activeSlideURL !== null && activeSlideURL !== void 0 ? activeSlideURL : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadEventSlideshowOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.activeSlideURL);\n }\n}\nclass ReadFixedPriceItemInput {\n constructor(itemID, organizationID, eventID) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadFixedPriceItemInput(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadFixedPriceItemOutput {\n constructor(organizationID, eventID, id, name, priceCents, valueCents, isTaxable, description, numPurchased, maxNumAvailable, numUnlimited, inPersonOnly, pickupLater, pickupTonight, isPickUpEventLevel, sortOrder) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.numPurchased = numPurchased !== null && numPurchased !== void 0 ? numPurchased : 0;\n this.maxNumAvailable = maxNumAvailable !== null && maxNumAvailable !== void 0 ? maxNumAvailable : 0;\n this.numUnlimited = numUnlimited !== null && numUnlimited !== void 0 ? numUnlimited : false;\n this.inPersonOnly = inPersonOnly !== null && inPersonOnly !== void 0 ? inPersonOnly : false;\n this.pickupLater = pickupLater !== null && pickupLater !== void 0 ? pickupLater : false;\n this.pickupTonight = pickupTonight !== null && pickupTonight !== void 0 ? pickupTonight : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n this.sortOrder = sortOrder !== null && sortOrder !== void 0 ? sortOrder : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadFixedPriceItemOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.numPurchased, input === null || input === void 0 ? void 0 : input.maxNumAvailable, input === null || input === void 0 ? void 0 : input.numUnlimited, input === null || input === void 0 ? void 0 : input.inPersonOnly, input === null || input === void 0 ? void 0 : input.pickupLater, input === null || input === void 0 ? void 0 : input.pickupTonight, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.sortOrder);\n }\n}\nclass ReadFixedPriceItemPhotoInput {\n constructor(photoID, organizationID, eventID, fixedPriceItemID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadFixedPriceItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass ReadFixedPriceItemPhotoOutput {\n constructor(organizationID, eventID, fixedPriceItemID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadFixedPriceItemPhotoOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass ReadGuestInput {\n constructor(guestID, organizationID, eventID) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadGuestInput(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadGuestOutput {\n constructor(organizationID, eventID, id, userID, registrationID, bidderNumber, attendeeNumber, managingGuestID, firstName, lastName, email, mobilePhone, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, biddingAsGuestID, purchasedItemPrimaryUserID, purchasedItemPrimaryGuestID, address, city, state, postalCode, country, userCardID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : false;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : false;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : false;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : false;\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.purchasedItemPrimaryUserID = purchasedItemPrimaryUserID !== null && purchasedItemPrimaryUserID !== void 0 ? purchasedItemPrimaryUserID : \"\";\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadGuestOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryUserID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass ReadGuestSessionInput {\n constructor(guestSessionID, organizationID, eventID, eventSessionID) {\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadGuestSessionInput(input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID);\n }\n}\nclass ReadGuestSessionOutput {\n constructor(organizationID, eventID, eventSessionID, id, guestID, isCheckInWithManagingGuest, checkedInTime, tableAttendeeID, ticketID, initialTableName, initialTableNumber, totalProceedsAmountCents, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : false;\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.tableAttendeeID = tableAttendeeID !== null && tableAttendeeID !== void 0 ? tableAttendeeID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.initialTableName = initialTableName !== null && initialTableName !== void 0 ? initialTableName : \"\";\n this.initialTableNumber = initialTableNumber !== null && initialTableNumber !== void 0 ? initialTableNumber : \"\";\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n convertDates() {\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadGuestSessionOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.tableAttendeeID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.initialTableName, input === null || input === void 0 ? void 0 : input.initialTableNumber, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass ReadImpactInput {\n constructor(impactID, organizationID, eventID) {\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadImpactInput(input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadImpactOutput {\n constructor(organizationID, eventID, id, name, amountCents, descriptionMarkdown, totalPurchasesLimit, totalPurchasesCountDisplayThreshold, totalPurchasesAmountCentsDisplayThreshold, totalPurchasesCount, totalPurchasesAmountCents, goalType, goalPurchasesCount, goalPurchasesCountDisplayThreshold, goalPurchasesCountMetOn, goalPurchasesAmountCents, goalPurchasesAmountCentsDisplayThreshold, goalPurchasesAmountCentsMetOn, goalMetMessageSentOn, goalMetEmailSubject, goalMetEmailBodyMarkdown, goalMetSMSBody, hideFromFlow, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.totalPurchasesLimit = totalPurchasesLimit !== null && totalPurchasesLimit !== void 0 ? totalPurchasesLimit : 0;\n this.totalPurchasesCountDisplayThreshold = totalPurchasesCountDisplayThreshold !== null && totalPurchasesCountDisplayThreshold !== void 0 ? totalPurchasesCountDisplayThreshold : 0;\n this.totalPurchasesAmountCentsDisplayThreshold = totalPurchasesAmountCentsDisplayThreshold !== null && totalPurchasesAmountCentsDisplayThreshold !== void 0 ? totalPurchasesAmountCentsDisplayThreshold : 0;\n this.totalPurchasesCount = totalPurchasesCount !== null && totalPurchasesCount !== void 0 ? totalPurchasesCount : 0;\n this.totalPurchasesAmountCents = totalPurchasesAmountCents !== null && totalPurchasesAmountCents !== void 0 ? totalPurchasesAmountCents : 0;\n this.goalType = goalType !== null && goalType !== void 0 ? goalType : \"\";\n this.goalPurchasesCount = goalPurchasesCount !== null && goalPurchasesCount !== void 0 ? goalPurchasesCount : 0;\n this.goalPurchasesCountDisplayThreshold = goalPurchasesCountDisplayThreshold !== null && goalPurchasesCountDisplayThreshold !== void 0 ? goalPurchasesCountDisplayThreshold : 0;\n this.goalPurchasesCountMetOn = goalPurchasesCountMetOn !== null && goalPurchasesCountMetOn !== void 0 ? goalPurchasesCountMetOn : null;\n this.goalPurchasesAmountCents = goalPurchasesAmountCents !== null && goalPurchasesAmountCents !== void 0 ? goalPurchasesAmountCents : 0;\n this.goalPurchasesAmountCentsDisplayThreshold = goalPurchasesAmountCentsDisplayThreshold !== null && goalPurchasesAmountCentsDisplayThreshold !== void 0 ? goalPurchasesAmountCentsDisplayThreshold : 0;\n this.goalPurchasesAmountCentsMetOn = goalPurchasesAmountCentsMetOn !== null && goalPurchasesAmountCentsMetOn !== void 0 ? goalPurchasesAmountCentsMetOn : null;\n this.goalMetMessageSentOn = goalMetMessageSentOn !== null && goalMetMessageSentOn !== void 0 ? goalMetMessageSentOn : null;\n this.goalMetEmailSubject = goalMetEmailSubject !== null && goalMetEmailSubject !== void 0 ? goalMetEmailSubject : \"\";\n this.goalMetEmailBodyMarkdown = goalMetEmailBodyMarkdown !== null && goalMetEmailBodyMarkdown !== void 0 ? goalMetEmailBodyMarkdown : \"\";\n this.goalMetSMSBody = goalMetSMSBody !== null && goalMetSMSBody !== void 0 ? goalMetSMSBody : \"\";\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : false;\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.goalPurchasesCountMetOn !== undefined && this.goalPurchasesCountMetOn !== null) {\n this.goalPurchasesCountMetOn = this.goalPurchasesCountMetOn ? new Date(this.goalPurchasesCountMetOn) : this.goalPurchasesCountMetOn;\n }\n if (this.goalPurchasesAmountCentsMetOn !== undefined && this.goalPurchasesAmountCentsMetOn !== null) {\n this.goalPurchasesAmountCentsMetOn = this.goalPurchasesAmountCentsMetOn ? new Date(this.goalPurchasesAmountCentsMetOn) : this.goalPurchasesAmountCentsMetOn;\n }\n if (this.goalMetMessageSentOn !== undefined && this.goalMetMessageSentOn !== null) {\n this.goalMetMessageSentOn = this.goalMetMessageSentOn ? new Date(this.goalMetMessageSentOn) : this.goalMetMessageSentOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadImpactOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalPurchasesLimit, input === null || input === void 0 ? void 0 : input.totalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesCount, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalType, input === null || input === void 0 ? void 0 : input.goalPurchasesCount, input === null || input === void 0 ? void 0 : input.goalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesCountMetOn, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsMetOn, input === null || input === void 0 ? void 0 : input.goalMetMessageSentOn, input === null || input === void 0 ? void 0 : input.goalMetEmailSubject, input === null || input === void 0 ? void 0 : input.goalMetEmailBodyMarkdown, input === null || input === void 0 ? void 0 : input.goalMetSMSBody, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass ReadImpactPhotoInput {\n constructor(photoID, organizationID, eventID, impactID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadImpactPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID);\n }\n}\nclass ReadImpactPhotoOutput {\n constructor(organizationID, eventID, impactID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadImpactPhotoOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass ReadInvitationInput {\n constructor(organizationID, eventID, invitationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.invitationID = invitationID !== null && invitationID !== void 0 ? invitationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadInvitationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.invitationID);\n }\n}\nclass ReadInvitationOutput {\n constructor(organizationID, eventID, id, externalID, firstName, lastName, email, mobilePhone, sentEmail, sentSMS, registrationID, messageTemplateMarkdown, invitationEmailSubject, emailOpened) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.sentEmail = sentEmail !== null && sentEmail !== void 0 ? sentEmail : null;\n this.sentSMS = sentSMS !== null && sentSMS !== void 0 ? sentSMS : null;\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.messageTemplateMarkdown = messageTemplateMarkdown !== null && messageTemplateMarkdown !== void 0 ? messageTemplateMarkdown : \"\";\n this.invitationEmailSubject = invitationEmailSubject !== null && invitationEmailSubject !== void 0 ? invitationEmailSubject : \"\";\n this.emailOpened = emailOpened !== null && emailOpened !== void 0 ? emailOpened : false;\n }\n convertDates() {\n if (this.sentEmail !== undefined && this.sentEmail !== null) {\n this.sentEmail = this.sentEmail ? new Date(this.sentEmail) : this.sentEmail;\n }\n if (this.sentSMS !== undefined && this.sentSMS !== null) {\n this.sentSMS = this.sentSMS ? new Date(this.sentSMS) : this.sentSMS;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadInvitationOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.sentEmail, input === null || input === void 0 ? void 0 : input.sentSMS, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.messageTemplateMarkdown, input === null || input === void 0 ? void 0 : input.invitationEmailSubject, input === null || input === void 0 ? void 0 : input.emailOpened);\n }\n}\nclass ReadMyRegistrationInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyRegistrationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadMyRegistrationOutput {\n constructor(found, organizationID, eventID, registrationID, userID, firstName, lastName, email, mobilePhone, wantEmailUpdates, wantSMSUpdates, paidStatus, passthroughInvitationID, greatfeatsParticipantID, detailsJSON, biddingAsUserID, biddingAsFirstName, biddingAsLastName) {\n this.found = found !== null && found !== void 0 ? found : false;\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : false;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : false;\n this.paidStatus = paidStatus !== null && paidStatus !== void 0 ? paidStatus : \"\";\n this.passthroughInvitationID = passthroughInvitationID !== null && passthroughInvitationID !== void 0 ? passthroughInvitationID : \"\";\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n this.biddingAsUserID = biddingAsUserID !== null && biddingAsUserID !== void 0 ? biddingAsUserID : \"\";\n this.biddingAsFirstName = biddingAsFirstName !== null && biddingAsFirstName !== void 0 ? biddingAsFirstName : \"\";\n this.biddingAsLastName = biddingAsLastName !== null && biddingAsLastName !== void 0 ? biddingAsLastName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyRegistrationOutput(input === null || input === void 0 ? void 0 : input.found, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates, input === null || input === void 0 ? void 0 : input.paidStatus, input === null || input === void 0 ? void 0 : input.passthroughInvitationID, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.detailsJSON, input === null || input === void 0 ? void 0 : input.biddingAsUserID, input === null || input === void 0 ? void 0 : input.biddingAsFirstName, input === null || input === void 0 ? void 0 : input.biddingAsLastName);\n }\n}\nclass ReadMyTicketInput {\n constructor(organizationID, eventID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass ReadMyTicketOptionAnswersInput {\n constructor(organizationID, eventID, ticketID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyTicketOptionAnswersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ReadMyTicketOptionAnswersOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewTicketOptionAnswersForTicketSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ReadMyTicketOptionAnswersOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ReadMyTicketOutput {\n constructor(readTicketOutput) {\n this.readTicketOutput = readTicketOutput !== null && readTicketOutput !== void 0 ? readTicketOutput : new ReadTicketOutput$1();\n }\n convertDates() {\n this.readTicketOutput = this.readTicketOutput ? this.readTicketOutput.convertDates() : this.readTicketOutput;\n return this;\n }\n fixClasses() {\n this.readTicketOutput = ReadTicketOutput$1.fromObject(this.readTicketOutput).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadMyTicketOutput(input === null || input === void 0 ? void 0 : input.readTicketOutput);\n }\n}\nclass ReadMyVirtualChairInput {\n constructor(organizationID, virtualEventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyVirtualChairInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass ReadMyVirtualChairOutput {\n constructor(organizationID, virtualEventID, virtualTableID, id, userEmail, userFirstName, userLastName, userID, channelName, channelARN, created, updated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userEmail = userEmail !== null && userEmail !== void 0 ? userEmail : \"\";\n this.userFirstName = userFirstName !== null && userFirstName !== void 0 ? userFirstName : \"\";\n this.userLastName = userLastName !== null && userLastName !== void 0 ? userLastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyVirtualChairOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userEmail, input === null || input === void 0 ? void 0 : input.userFirstName, input === null || input === void 0 ? void 0 : input.userLastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\nclass ReadMyVirtualTableInput {\n constructor(organizationID, virtualEventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadMyVirtualTableInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass ReadMyVirtualTableOutput {\n constructor(virtualTable) {\n this.virtualTable = virtualTable !== null && virtualTable !== void 0 ? virtualTable : new Table();\n }\n convertUnexpectedNulls() {\n this.virtualTable = this.virtualTable ? this.virtualTable.convertUnexpectedNulls() : this.virtualTable;\n return this;\n }\n fixClasses() {\n this.virtualTable = Table.fromObject(this.virtualTable).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadMyVirtualTableOutput(input === null || input === void 0 ? void 0 : input.virtualTable);\n }\n}\nclass ReadOverlayInput {\n constructor(overlayID, organizationID, eventID, showID, sceneID) {\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadOverlayInput(input === null || input === void 0 ? void 0 : input.overlayID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID);\n }\n}\nclass ReadOverlayOutput {\n constructor(organizationID, eventID, showID, sceneID, id, name, type, config) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.config = config !== null && config !== void 0 ? config : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadOverlayOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.config);\n }\n}\nclass ReadPeerUserInfoInput {\n constructor(organizationID, eventID, peerUserID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.peerUserID = peerUserID !== null && peerUserID !== void 0 ? peerUserID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPeerUserInfoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.peerUserID);\n }\n}\nclass ReadPeerUserInfoOutput {\n constructor(firstName, lastName) {\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPeerUserInfoOutput(input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName);\n }\n}\nclass ReadPickupItemInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPickupItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadPickupItemOutput {\n constructor(organizationID, eventID, id, userID, guestID, transactionID, pickupTimeSlot, isPickedUp, isReadyPickUp, pickedUpByGuestID, pickupPreference, purchasedItemID, itemID, inventoryLotID, inventoryAllocationID, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : null;\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.inventoryLotID = inventoryLotID !== null && inventoryLotID !== void 0 ? inventoryLotID : \"\";\n this.inventoryAllocationID = inventoryAllocationID !== null && inventoryAllocationID !== void 0 ? inventoryAllocationID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.pickupTimeSlot !== undefined && this.pickupTimeSlot !== null) {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPickupItemOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.inventoryLotID, input === null || input === void 0 ? void 0 : input.inventoryAllocationID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass ReadPreEventQuestionConfigInput {\n constructor(preEventQuestionConfigID, organizationID, eventID) {\n this.preEventQuestionConfigID = preEventQuestionConfigID !== null && preEventQuestionConfigID !== void 0 ? preEventQuestionConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPreEventQuestionConfigInput(input === null || input === void 0 ? void 0 : input.preEventQuestionConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadPreEventQuestionConfigOutput {\n constructor(organizationID, eventID, id, questionOnePrompt, questionOneActive, questionTwoPrompt, questionTwoActive, questionThreePrompt, questionThreeActive) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.questionOnePrompt = questionOnePrompt !== null && questionOnePrompt !== void 0 ? questionOnePrompt : \"\";\n this.questionOneActive = questionOneActive !== null && questionOneActive !== void 0 ? questionOneActive : false;\n this.questionTwoPrompt = questionTwoPrompt !== null && questionTwoPrompt !== void 0 ? questionTwoPrompt : \"\";\n this.questionTwoActive = questionTwoActive !== null && questionTwoActive !== void 0 ? questionTwoActive : false;\n this.questionThreePrompt = questionThreePrompt !== null && questionThreePrompt !== void 0 ? questionThreePrompt : \"\";\n this.questionThreeActive = questionThreeActive !== null && questionThreeActive !== void 0 ? questionThreeActive : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPreEventQuestionConfigOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.questionOnePrompt, input === null || input === void 0 ? void 0 : input.questionOneActive, input === null || input === void 0 ? void 0 : input.questionTwoPrompt, input === null || input === void 0 ? void 0 : input.questionTwoActive, input === null || input === void 0 ? void 0 : input.questionThreePrompt, input === null || input === void 0 ? void 0 : input.questionThreeActive);\n }\n}\nclass ReadPurchasedItemInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPurchasedItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadPurchasedItemOutput {\n constructor(organizationID, eventID, id, firstName, lastName, userID, guestID, email, mobilePhone, amountCents, type, impactID, auctionID, lotID, ticketID, fixedPriceItemID, raffleDetails, payAfterEvent, purchaseID, transactionStatus, transactionID, refundID, itemDetails, isExternal, isAnonymous, overriddenByUserID, proxyUserID, proxyGuestID, paidByGuestID, purchasedByDisplayName, paidByDisplayName) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.raffleDetails = raffleDetails !== null && raffleDetails !== void 0 ? raffleDetails : new RafflePurchaseDetails();\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : new ItemPurchaseDetails();\n this.isExternal = isExternal !== null && isExternal !== void 0 ? isExternal : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.paidByGuestID = paidByGuestID !== null && paidByGuestID !== void 0 ? paidByGuestID : \"\";\n this.purchasedByDisplayName = purchasedByDisplayName !== null && purchasedByDisplayName !== void 0 ? purchasedByDisplayName : \"\";\n this.paidByDisplayName = paidByDisplayName !== null && paidByDisplayName !== void 0 ? paidByDisplayName : \"\";\n }\n fixClasses() {\n this.raffleDetails = RafflePurchaseDetails.fromObject(this.raffleDetails).fixClasses();\n this.itemDetails = ItemPurchaseDetails.fromObject(this.itemDetails).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadPurchasedItemOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.raffleDetails, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.isExternal, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.paidByGuestID, input === null || input === void 0 ? void 0 : input.purchasedByDisplayName, input === null || input === void 0 ? void 0 : input.paidByDisplayName);\n }\n}\nclass ReadPurchasedItemSalesTaxInput {\n constructor(id, organizationID, eventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPurchasedItemSalesTaxInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadPurchasedItemSalesTaxOutput {\n constructor(organizationID, eventID, id, userID, guestID, amountCents, salesTaxPercent, payAfterEvent, purchaseID, purchasedItemID, transactionStatus, transactionID, refundID, overriddenByUserID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.overriddenByUserID = overriddenByUserID !== null && overriddenByUserID !== void 0 ? overriddenByUserID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPurchasedItemSalesTaxOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.overriddenByUserID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass ReadRecentAppealItemsInput {\n constructor(organizationID, eventID, useAnonymous) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.useAnonymous = useAnonymous !== null && useAnonymous !== void 0 ? useAnonymous : \"\";\n }\n getParams() {\n let params = new HttpParams();\n params = this.useAnonymous ? params.set('useAnonymous', this.useAnonymous.toString()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadRecentAppealItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.useAnonymous);\n }\n}\nclass ReadRecentAppealItemsOutput {\n constructor(organizationID, eventID, recentDonors) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.recentDonors = recentDonors !== null && recentDonors !== void 0 ? recentDonors : [];\n }\n convertUnexpectedNulls() {\n if (!this.recentDonors) {\n this.recentDonors = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.recentDonors.length; i0 += 1) {\n this.recentDonors[i0] = AppealRecentDonor.fromObject(this.recentDonors[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ReadRecentAppealItemsOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.recentDonors);\n }\n}\nclass ReadRegistrationInput {\n constructor(registrationID, organizationID, eventID) {\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadRegistrationInput(input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadRegistrationOutput {\n constructor(organizationID, eventID, id, firstName, lastName, email, mobilePhone, userID, accessCode, wantEmailUpdates, wantSMSUpdates, passthroughInvitationID, paidStatus, greatfeatsParticipantID, detailsJSON) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.accessCode = accessCode !== null && accessCode !== void 0 ? accessCode : \"\";\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : false;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : false;\n this.passthroughInvitationID = passthroughInvitationID !== null && passthroughInvitationID !== void 0 ? passthroughInvitationID : \"\";\n this.paidStatus = paidStatus !== null && paidStatus !== void 0 ? paidStatus : \"\";\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadRegistrationOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.accessCode, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates, input === null || input === void 0 ? void 0 : input.passthroughInvitationID, input === null || input === void 0 ? void 0 : input.paidStatus, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass ReadSceneInput {\n constructor(sceneID, organizationID, eventID, showID) {\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadSceneInput(input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID);\n }\n}\nclass ReadSceneOutput {\n constructor(organizationID, eventID, showID, id, streamID, name, descriptionMarkdown, plannedDurationMinutes, estimatedDurationSeconds, type, thumbnailURL, defaultOverlayConfig, activeOverlayConfig, isCurtain, inheritDefaultStream, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.streamID = streamID !== null && streamID !== void 0 ? streamID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.plannedDurationMinutes = plannedDurationMinutes !== null && plannedDurationMinutes !== void 0 ? plannedDurationMinutes : 0;\n this.estimatedDurationSeconds = estimatedDurationSeconds !== null && estimatedDurationSeconds !== void 0 ? estimatedDurationSeconds : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.thumbnailURL = thumbnailURL !== null && thumbnailURL !== void 0 ? thumbnailURL : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.isCurtain = isCurtain !== null && isCurtain !== void 0 ? isCurtain : false;\n this.inheritDefaultStream = inheritDefaultStream !== null && inheritDefaultStream !== void 0 ? inheritDefaultStream : false;\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadSceneOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.streamID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.plannedDurationMinutes, input === null || input === void 0 ? void 0 : input.estimatedDurationSeconds, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.thumbnailURL, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.isCurtain, input === null || input === void 0 ? void 0 : input.inheritDefaultStream, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass ReadShowInput {\n constructor(showID, organizationID, eventID) {\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadShowInput(input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ReadShowOutput {\n constructor(organizationID, eventID, id, name, descriptionMarkdown, sceneOrderIDs, totalDurationMinutes, activeSceneID, primaryFlowID, defaultOverlayConfig, overrideOverlayConfig, activeOverlayConfig, defaultStreamType, defaultStreamID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.sceneOrderIDs = sceneOrderIDs !== null && sceneOrderIDs !== void 0 ? sceneOrderIDs : [];\n this.totalDurationMinutes = totalDurationMinutes !== null && totalDurationMinutes !== void 0 ? totalDurationMinutes : 0;\n this.activeSceneID = activeSceneID !== null && activeSceneID !== void 0 ? activeSceneID : \"\";\n this.primaryFlowID = primaryFlowID !== null && primaryFlowID !== void 0 ? primaryFlowID : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.overrideOverlayConfig = overrideOverlayConfig !== null && overrideOverlayConfig !== void 0 ? overrideOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.defaultStreamType = defaultStreamType !== null && defaultStreamType !== void 0 ? defaultStreamType : \"\";\n this.defaultStreamID = defaultStreamID !== null && defaultStreamID !== void 0 ? defaultStreamID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.sceneOrderIDs) {\n this.sceneOrderIDs = [];\n }\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.overrideOverlayConfig = this.overrideOverlayConfig ? this.overrideOverlayConfig.convertUnexpectedNulls() : this.overrideOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.overrideOverlayConfig = OverlayConfiguration.fromObject(this.overrideOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ReadShowOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.sceneOrderIDs, input === null || input === void 0 ? void 0 : input.totalDurationMinutes, input === null || input === void 0 ? void 0 : input.activeSceneID, input === null || input === void 0 ? void 0 : input.primaryFlowID, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.overrideOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.defaultStreamType, input === null || input === void 0 ? void 0 : input.defaultStreamID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass ReadTagsInput {\n constructor(organizationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadTagsInput(input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ReadTagsOutput {\n constructor(tags) {\n this.tags = tags !== null && tags !== void 0 ? tags : [];\n }\n convertUnexpectedNulls() {\n if (!this.tags) {\n this.tags = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadTagsOutput(input === null || input === void 0 ? void 0 : input.tags);\n }\n}\nclass ReadTicketOutput$1 {\n constructor(organizationID, id, source, ticketTypeID, groupID, purchaserUserID, purchaserFirstName, purchaserLastName, purchaserEmail, attendeeUserID, attendeeFirstName, attendeeLastName, attendeeEmail, attendeeMobilePhone, priceCents, valueCents, comped, managerFirstName, managerLastName, managerEmail, checkInTime, claimedTime, preEventQuestionnaireCompleteTime, isLocked, promoCodeUsedID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.groupID = groupID !== null && groupID !== void 0 ? groupID : \"\";\n this.purchaserUserID = purchaserUserID !== null && purchaserUserID !== void 0 ? purchaserUserID : \"\";\n this.purchaserFirstName = purchaserFirstName !== null && purchaserFirstName !== void 0 ? purchaserFirstName : \"\";\n this.purchaserLastName = purchaserLastName !== null && purchaserLastName !== void 0 ? purchaserLastName : \"\";\n this.purchaserEmail = purchaserEmail !== null && purchaserEmail !== void 0 ? purchaserEmail : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : \"\";\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : \"\";\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : \"\";\n this.attendeeMobilePhone = attendeeMobilePhone !== null && attendeeMobilePhone !== void 0 ? attendeeMobilePhone : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.comped = comped !== null && comped !== void 0 ? comped : false;\n this.managerFirstName = managerFirstName !== null && managerFirstName !== void 0 ? managerFirstName : \"\";\n this.managerLastName = managerLastName !== null && managerLastName !== void 0 ? managerLastName : \"\";\n this.managerEmail = managerEmail !== null && managerEmail !== void 0 ? managerEmail : \"\";\n this.checkInTime = checkInTime !== null && checkInTime !== void 0 ? checkInTime : null;\n this.claimedTime = claimedTime !== null && claimedTime !== void 0 ? claimedTime : null;\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.isLocked = isLocked !== null && isLocked !== void 0 ? isLocked : false;\n this.promoCodeUsedID = promoCodeUsedID !== null && promoCodeUsedID !== void 0 ? promoCodeUsedID : \"\";\n }\n convertDates() {\n if (this.checkInTime !== undefined && this.checkInTime !== null) {\n this.checkInTime = this.checkInTime ? new Date(this.checkInTime) : this.checkInTime;\n }\n if (this.claimedTime !== undefined && this.claimedTime !== null) {\n this.claimedTime = this.claimedTime ? new Date(this.claimedTime) : this.claimedTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadTicketOutput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.groupID, input === null || input === void 0 ? void 0 : input.purchaserUserID, input === null || input === void 0 ? void 0 : input.purchaserFirstName, input === null || input === void 0 ? void 0 : input.purchaserLastName, input === null || input === void 0 ? void 0 : input.purchaserEmail, input === null || input === void 0 ? void 0 : input.attendeeUserID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.attendeeMobilePhone, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.comped, input === null || input === void 0 ? void 0 : input.managerFirstName, input === null || input === void 0 ? void 0 : input.managerLastName, input === null || input === void 0 ? void 0 : input.managerEmail, input === null || input === void 0 ? void 0 : input.checkInTime, input === null || input === void 0 ? void 0 : input.claimedTime, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.isLocked, input === null || input === void 0 ? void 0 : input.promoCodeUsedID);\n }\n}\nclass ReadVirtualChairInput {\n constructor(id, organizationID, virtualEventID, virtualTableID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadVirtualChairInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID);\n }\n}\nclass ReadVirtualChairOutput {\n constructor(organizationID, virtualEventID, virtualTableID, id, userEmail, userFirstName, userLastName, userID, channelName, channelARN, created, updated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userEmail = userEmail !== null && userEmail !== void 0 ? userEmail : \"\";\n this.userFirstName = userFirstName !== null && userFirstName !== void 0 ? userFirstName : \"\";\n this.userLastName = userLastName !== null && userLastName !== void 0 ? userLastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadVirtualChairOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userEmail, input === null || input === void 0 ? void 0 : input.userFirstName, input === null || input === void 0 ? void 0 : input.userLastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\nclass ReadVirtualTableInput {\n constructor(id, organizationID, virtualEventID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadVirtualTableInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass ReadVirtualTableOutput {\n constructor(organizationID, virtualEventID, id, name, tableNumber, created, updated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : 0;\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadVirtualTableOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\nclass Recipient {\n constructor(emails, smsPhoneNumbers, data) {\n this.emails = emails !== null && emails !== void 0 ? emails : [];\n this.smsPhoneNumbers = smsPhoneNumbers !== null && smsPhoneNumbers !== void 0 ? smsPhoneNumbers : [];\n this.data = data !== null && data !== void 0 ? data : {};\n }\n convertUnexpectedNulls() {\n if (!this.emails) {\n this.emails = [];\n }\n if (!this.smsPhoneNumbers) {\n this.smsPhoneNumbers = [];\n }\n if (!this.data) {\n this.data = {};\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Recipient(input === null || input === void 0 ? void 0 : input.emails, input === null || input === void 0 ? void 0 : input.smsPhoneNumbers, input === null || input === void 0 ? void 0 : input.data);\n }\n}\nclass RefundItemDetail {\n constructor(type, name, quantity, amountCents, valueCents, refundID) {\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RefundItemDetail(input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.refundID);\n }\n}\nclass RefundPayment {\n constructor(paymentID, refundID, refundType, status) {\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.refundType = refundType !== null && refundType !== void 0 ? refundType : \"\";\n this.status = status !== null && status !== void 0 ? status : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RefundPayment(input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.refundType, input === null || input === void 0 ? void 0 : input.status);\n }\n}\nclass RefundPaymentInput {\n constructor(organizationID, eventID, purchasedItemIDs, paymentIDs, reasonForRefund, includeCoveredCost) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.purchasedItemIDs = purchasedItemIDs !== null && purchasedItemIDs !== void 0 ? purchasedItemIDs : [];\n this.paymentIDs = paymentIDs !== null && paymentIDs !== void 0 ? paymentIDs : [];\n this.reasonForRefund = reasonForRefund !== null && reasonForRefund !== void 0 ? reasonForRefund : \"\";\n this.includeCoveredCost = includeCoveredCost !== null && includeCoveredCost !== void 0 ? includeCoveredCost : false;\n }\n convertUnexpectedNulls() {\n if (!this.purchasedItemIDs) {\n this.purchasedItemIDs = [];\n }\n if (!this.paymentIDs) {\n this.paymentIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RefundPaymentInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.purchasedItemIDs, input === null || input === void 0 ? void 0 : input.paymentIDs, input === null || input === void 0 ? void 0 : input.reasonForRefund, input === null || input === void 0 ? void 0 : input.includeCoveredCost);\n }\n}\nclass RefundPaymentOutput {\n constructor(refundPayments) {\n this.refundPayments = refundPayments !== null && refundPayments !== void 0 ? refundPayments : [];\n }\n convertUnexpectedNulls() {\n if (!this.refundPayments) {\n this.refundPayments = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.refundPayments.length; i0 += 1) {\n this.refundPayments[i0] = RefundPayment.fromObject(this.refundPayments[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new RefundPaymentOutput(input === null || input === void 0 ? void 0 : input.refundPayments);\n }\n}\nclass RegistrationFreePayForItemsInput {\n constructor(organizationID, eventID, guestID, firstName, lastName, email, mobilePhone, itemIDs, cardID, cardHolderGuestID, cardName, expiration, cardType, cardLastFour, token, saveCardOnFile, coverFee, payerName, payerStreet, payerCity, payerState, payerZip, payerCountry, fakeTransactionResult, paymentType, attendeeUserID, submittedByUserID, paymentTypeOtherNotes, checkNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n this.cardID = cardID !== null && cardID !== void 0 ? cardID : \"\";\n this.cardHolderGuestID = cardHolderGuestID !== null && cardHolderGuestID !== void 0 ? cardHolderGuestID : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.saveCardOnFile = saveCardOnFile !== null && saveCardOnFile !== void 0 ? saveCardOnFile : false;\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n this.submittedByUserID = submittedByUserID !== null && submittedByUserID !== void 0 ? submittedByUserID : \"\";\n this.paymentTypeOtherNotes = paymentTypeOtherNotes !== null && paymentTypeOtherNotes !== void 0 ? paymentTypeOtherNotes : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RegistrationFreePayForItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.itemIDs, input === null || input === void 0 ? void 0 : input.cardID, input === null || input === void 0 ? void 0 : input.cardHolderGuestID, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.saveCardOnFile, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.fakeTransactionResult, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.attendeeUserID, input === null || input === void 0 ? void 0 : input.submittedByUserID, input === null || input === void 0 ? void 0 : input.paymentTypeOtherNotes, input === null || input === void 0 ? void 0 : input.checkNumber);\n }\n}\nclass RegistrationFreePayForItemsOutput {\n constructor(transactionID) {\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RegistrationFreePayForItemsOutput(input === null || input === void 0 ? void 0 : input.transactionID);\n }\n}\nclass RegistrationSummary {\n constructor(organizationID, eventID, id, firstName, lastName, email, mobilePhone, userID, accessCode, wantEmailUpdates, wantSMSUpdates, paidStatus) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.accessCode = accessCode !== null && accessCode !== void 0 ? accessCode : \"\";\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : false;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : false;\n this.paidStatus = paidStatus !== null && paidStatus !== void 0 ? paidStatus : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RegistrationSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.accessCode, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates, input === null || input === void 0 ? void 0 : input.paidStatus);\n }\n}\nclass RemoveProxyGuestInput {\n constructor(organizationID, eventID, guestID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RemoveProxyGuestInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass RemoveProxyGuestOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RemoveProxyGuestOutput();\n }\n}\nclass RemoveProxyLinkInput {\n constructor(organizationID, eventID, guestID, purchasedItemIDsToReassign) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.purchasedItemIDsToReassign = purchasedItemIDsToReassign !== null && purchasedItemIDsToReassign !== void 0 ? purchasedItemIDsToReassign : [];\n }\n convertUnexpectedNulls() {\n if (!this.purchasedItemIDsToReassign) {\n this.purchasedItemIDsToReassign = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RemoveProxyLinkInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.purchasedItemIDsToReassign);\n }\n}\nclass RemoveProxyLinkOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RemoveProxyLinkOutput();\n }\n}\nclass RescindHighestBidInput {\n constructor(organizationID, eventID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RescindHighestBidInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass RescindHighestBidOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RescindHighestBidOutput();\n }\n}\nclass RescindPurchasedItemInput {\n constructor(organizationID, eventID, purchasedItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RescindPurchasedItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.purchasedItemID);\n }\n}\nclass RescindPurchasedItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RescindPurchasedItemOutput();\n }\n}\nclass ResetMyTicketInput {\n constructor(organizationID, eventID, ticketID, editTicketKey) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.editTicketKey = editTicketKey !== null && editTicketKey !== void 0 ? editTicketKey : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResetMyTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.editTicketKey);\n }\n}\nclass ResetMyTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResetMyTicketOutput();\n }\n}\nclass ResetTicketInput {\n constructor(organizationID, eventID, ticketID, editTicketKey) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.editTicketKey = editTicketKey !== null && editTicketKey !== void 0 ? editTicketKey : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResetTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.editTicketKey);\n }\n}\nclass ResetTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResetTicketOutput();\n }\n}\nclass SaveGuestCardOnFileInput {\n constructor(organizationID, eventID, guestID, creditCardData) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.creditCardData = creditCardData !== null && creditCardData !== void 0 ? creditCardData : null;\n }\n fixClasses() {\n if (this.creditCardData !== null) {\n this.creditCardData = GuestCreditCardData.fromObject(this.creditCardData).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new SaveGuestCardOnFileInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.creditCardData);\n }\n}\nclass SaveGuestCardOnFileOutput {\n constructor(userCardID) {\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SaveGuestCardOnFileOutput(input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass SceneSummary {\n constructor(organizationID, eventID, showID, id, streamID, name, descriptionMarkdown, plannedDurationMinutes, estimatedDurationSeconds, type, thumbnailURL, defaultOverlayConfig, activeOverlayConfig, isCurtain, inheritDefaultStream, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.streamID = streamID !== null && streamID !== void 0 ? streamID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.plannedDurationMinutes = plannedDurationMinutes !== null && plannedDurationMinutes !== void 0 ? plannedDurationMinutes : 0;\n this.estimatedDurationSeconds = estimatedDurationSeconds !== null && estimatedDurationSeconds !== void 0 ? estimatedDurationSeconds : 0;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.thumbnailURL = thumbnailURL !== null && thumbnailURL !== void 0 ? thumbnailURL : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.isCurtain = isCurtain !== null && isCurtain !== void 0 ? isCurtain : false;\n this.inheritDefaultStream = inheritDefaultStream !== null && inheritDefaultStream !== void 0 ? inheritDefaultStream : false;\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new SceneSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.streamID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.plannedDurationMinutes, input === null || input === void 0 ? void 0 : input.estimatedDurationSeconds, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.thumbnailURL, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.isCurtain, input === null || input === void 0 ? void 0 : input.inheritDefaultStream, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass SearchGuestsInput {\n constructor(organizationID, eventID, paging, query, reportVersion) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n this.query = query !== null && query !== void 0 ? query : \"\";\n this.reportVersion = reportVersion !== null && reportVersion !== void 0 ? reportVersion : \"\";\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n params = this.query ? params.set('query', this.query.toString()) : params;\n params = this.reportVersion ? params.set('reportVersion', this.reportVersion.toString()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SearchGuestsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging, input === null || input === void 0 ? void 0 : input.query, input === null || input === void 0 ? void 0 : input.reportVersion);\n }\n}\nclass SearchGuestsOutput {\n constructor(guests, paging) {\n this.guests = guests !== null && guests !== void 0 ? guests : [];\n this.paging = paging !== null && paging !== void 0 ? paging : null;\n }\n convertUnexpectedNulls() {\n if (!this.guests) {\n this.guests = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.guests.length; i0 += 1) {\n this.guests[i0] = SearchGuestsSummary.fromObject(this.guests[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new SearchGuestsOutput(input === null || input === void 0 ? void 0 : input.guests, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass SearchGuestsSummary {\n constructor(guestID, guestSessionID, eventSessionID, ticketID, guestUserID, guestFirstName, guestLastName, managingGuestID, isCheckinWithManagingGuest, managingGuestFirstName, managingGuestLastName, managingGuestEmail, guestEmail, guestMobilePhone, guestBidderNumber, guestAttendeeNumber, checkedInTime, tableName, tableNumber, sponsorAttachmentID, sponsorName, ticketTypeID, ticketTypeName, ticketClaimedTime, ticketCreatedTime, guestStatus, displayName, compedTicket, ticketGroupID, ticketPurchaserFirstName, ticketPurchaserLastName, ticketPurchaserFullName, ticketPurchaserUserID, ticketPurchaserEmail, ticketManagerFirstName, ticketManagerLastName, ticketManagerFullName, ticketManagerEmail, biddingAsGuestID, biddingAsFullName, biddingAsFirstName, biddingAsLastName, preEventQuestionnaireCompleteTime, attendeeExperience, hasUserCard, hasUserAccount) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.guestFirstName = guestFirstName !== null && guestFirstName !== void 0 ? guestFirstName : \"\";\n this.guestLastName = guestLastName !== null && guestLastName !== void 0 ? guestLastName : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.isCheckinWithManagingGuest = isCheckinWithManagingGuest !== null && isCheckinWithManagingGuest !== void 0 ? isCheckinWithManagingGuest : 0;\n this.managingGuestFirstName = managingGuestFirstName !== null && managingGuestFirstName !== void 0 ? managingGuestFirstName : \"\";\n this.managingGuestLastName = managingGuestLastName !== null && managingGuestLastName !== void 0 ? managingGuestLastName : \"\";\n this.managingGuestEmail = managingGuestEmail !== null && managingGuestEmail !== void 0 ? managingGuestEmail : \"\";\n this.guestEmail = guestEmail !== null && guestEmail !== void 0 ? guestEmail : \"\";\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.guestBidderNumber = guestBidderNumber !== null && guestBidderNumber !== void 0 ? guestBidderNumber : 0;\n this.guestAttendeeNumber = guestAttendeeNumber !== null && guestAttendeeNumber !== void 0 ? guestAttendeeNumber : \"\";\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.tableName = tableName !== null && tableName !== void 0 ? tableName : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : \"\";\n this.sponsorAttachmentID = sponsorAttachmentID !== null && sponsorAttachmentID !== void 0 ? sponsorAttachmentID : \"\";\n this.sponsorName = sponsorName !== null && sponsorName !== void 0 ? sponsorName : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketClaimedTime = ticketClaimedTime !== null && ticketClaimedTime !== void 0 ? ticketClaimedTime : null;\n this.ticketCreatedTime = ticketCreatedTime !== null && ticketCreatedTime !== void 0 ? ticketCreatedTime : \"\";\n this.guestStatus = guestStatus !== null && guestStatus !== void 0 ? guestStatus : \"\";\n this.displayName = displayName !== null && displayName !== void 0 ? displayName : \"\";\n this.compedTicket = compedTicket !== null && compedTicket !== void 0 ? compedTicket : 0;\n this.ticketGroupID = ticketGroupID !== null && ticketGroupID !== void 0 ? ticketGroupID : \"\";\n this.ticketPurchaserFirstName = ticketPurchaserFirstName !== null && ticketPurchaserFirstName !== void 0 ? ticketPurchaserFirstName : \"\";\n this.ticketPurchaserLastName = ticketPurchaserLastName !== null && ticketPurchaserLastName !== void 0 ? ticketPurchaserLastName : \"\";\n this.ticketPurchaserFullName = ticketPurchaserFullName !== null && ticketPurchaserFullName !== void 0 ? ticketPurchaserFullName : \"\";\n this.ticketPurchaserUserID = ticketPurchaserUserID !== null && ticketPurchaserUserID !== void 0 ? ticketPurchaserUserID : \"\";\n this.ticketPurchaserEmail = ticketPurchaserEmail !== null && ticketPurchaserEmail !== void 0 ? ticketPurchaserEmail : \"\";\n this.ticketManagerFirstName = ticketManagerFirstName !== null && ticketManagerFirstName !== void 0 ? ticketManagerFirstName : \"\";\n this.ticketManagerLastName = ticketManagerLastName !== null && ticketManagerLastName !== void 0 ? ticketManagerLastName : \"\";\n this.ticketManagerFullName = ticketManagerFullName !== null && ticketManagerFullName !== void 0 ? ticketManagerFullName : \"\";\n this.ticketManagerEmail = ticketManagerEmail !== null && ticketManagerEmail !== void 0 ? ticketManagerEmail : \"\";\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : \"\";\n this.biddingAsFullName = biddingAsFullName !== null && biddingAsFullName !== void 0 ? biddingAsFullName : \"\";\n this.biddingAsFirstName = biddingAsFirstName !== null && biddingAsFirstName !== void 0 ? biddingAsFirstName : \"\";\n this.biddingAsLastName = biddingAsLastName !== null && biddingAsLastName !== void 0 ? biddingAsLastName : \"\";\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n this.hasUserCard = hasUserCard !== null && hasUserCard !== void 0 ? hasUserCard : 0;\n this.hasUserAccount = hasUserAccount !== null && hasUserAccount !== void 0 ? hasUserAccount : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SearchGuestsSummary(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.guestFirstName, input === null || input === void 0 ? void 0 : input.guestLastName, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.isCheckinWithManagingGuest, input === null || input === void 0 ? void 0 : input.managingGuestFirstName, input === null || input === void 0 ? void 0 : input.managingGuestLastName, input === null || input === void 0 ? void 0 : input.managingGuestEmail, input === null || input === void 0 ? void 0 : input.guestEmail, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.guestBidderNumber, input === null || input === void 0 ? void 0 : input.guestAttendeeNumber, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.tableName, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.sponsorAttachmentID, input === null || input === void 0 ? void 0 : input.sponsorName, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketClaimedTime, input === null || input === void 0 ? void 0 : input.ticketCreatedTime, input === null || input === void 0 ? void 0 : input.guestStatus, input === null || input === void 0 ? void 0 : input.displayName, input === null || input === void 0 ? void 0 : input.compedTicket, input === null || input === void 0 ? void 0 : input.ticketGroupID, input === null || input === void 0 ? void 0 : input.ticketPurchaserFirstName, input === null || input === void 0 ? void 0 : input.ticketPurchaserLastName, input === null || input === void 0 ? void 0 : input.ticketPurchaserFullName, input === null || input === void 0 ? void 0 : input.ticketPurchaserUserID, input === null || input === void 0 ? void 0 : input.ticketPurchaserEmail, input === null || input === void 0 ? void 0 : input.ticketManagerFirstName, input === null || input === void 0 ? void 0 : input.ticketManagerLastName, input === null || input === void 0 ? void 0 : input.ticketManagerFullName, input === null || input === void 0 ? void 0 : input.ticketManagerEmail, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.biddingAsFullName, input === null || input === void 0 ? void 0 : input.biddingAsFirstName, input === null || input === void 0 ? void 0 : input.biddingAsLastName, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.attendeeExperience, input === null || input === void 0 ? void 0 : input.hasUserCard, input === null || input === void 0 ? void 0 : input.hasUserAccount);\n }\n}\nclass SelfRegisterForEventInput {\n constructor(organizationID, eventID, firstName, lastName, mobilePhone, street, city, state, zip, country, passthroughInvitationID, paidStatus, attendeeExperience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.street = street !== null && street !== void 0 ? street : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.zip = zip !== null && zip !== void 0 ? zip : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.passthroughInvitationID = passthroughInvitationID !== null && passthroughInvitationID !== void 0 ? passthroughInvitationID : \"\";\n this.paidStatus = paidStatus !== null && paidStatus !== void 0 ? paidStatus : \"\";\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SelfRegisterForEventInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.street, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.zip, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.passthroughInvitationID, input === null || input === void 0 ? void 0 : input.paidStatus, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass SelfRegisterForEventOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SelfRegisterForEventOutput();\n }\n}\nclass SendEmailInput {\n constructor(organizationID, eventID, bodyMarkdown, emailSubject, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.bodyMarkdown = bodyMarkdown !== null && bodyMarkdown !== void 0 ? bodyMarkdown : \"\";\n this.emailSubject = emailSubject !== null && emailSubject !== void 0 ? emailSubject : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEmailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.bodyMarkdown, input === null || input === void 0 ? void 0 : input.emailSubject, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass SendEmailOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEmailOutput();\n }\n}\nclass SendEventAuctionClosedInput {\n constructor(organizationID, auctionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventAuctionClosedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass SendEventAuctionUpdatedInput {\n constructor(organizationID, auctionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventAuctionUpdatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass SendEventDailyInput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventDailyInput();\n }\n}\nclass SendEventGuestSessionCreatedInput {\n constructor(organizationID, eventID, eventSessionID, guestSessionID, groupID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.groupID = groupID !== null && groupID !== void 0 ? groupID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventGuestSessionCreatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.groupID);\n }\n}\nclass SendEventHourlyInput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventHourlyInput();\n }\n}\nclass SendEventInventoryItemPhotoUpdatedInput {\n constructor(organizationID, itemID, affectedLots) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.affectedLots = affectedLots !== null && affectedLots !== void 0 ? affectedLots : [];\n }\n convertUnexpectedNulls() {\n if (!this.affectedLots) {\n this.affectedLots = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.affectedLots.length; i0 += 1) {\n this.affectedLots[i0] = InventoryItemPhotoUpdatedInput.fromObject(this.affectedLots[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new SendEventInventoryItemPhotoUpdatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.affectedLots);\n }\n}\nclass SendEventLotClosedInput {\n constructor(organizationID, auctionID, lotID, closeTime, winningBidID, winningUserID, winningGuestID, dollarAmountCents, auctionSource, isAssignLater) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : new Date();\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.winningUserID = winningUserID !== null && winningUserID !== void 0 ? winningUserID : \"\";\n this.winningGuestID = winningGuestID !== null && winningGuestID !== void 0 ? winningGuestID : \"\";\n this.dollarAmountCents = dollarAmountCents !== null && dollarAmountCents !== void 0 ? dollarAmountCents : 0;\n this.auctionSource = auctionSource !== null && auctionSource !== void 0 ? auctionSource : \"\";\n this.isAssignLater = isAssignLater !== null && isAssignLater !== void 0 ? isAssignLater : false;\n }\n convertDates() {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventLotClosedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.winningUserID, input === null || input === void 0 ? void 0 : input.winningGuestID, input === null || input === void 0 ? void 0 : input.dollarAmountCents, input === null || input === void 0 ? void 0 : input.auctionSource, input === null || input === void 0 ? void 0 : input.isAssignLater);\n }\n}\nclass SendEventNightlyInput {\n constructor(organizationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventNightlyInput(input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass SendEventRafflePurchaseLevelCreatedInput {\n constructor(organizationID, raffleID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventRafflePurchaseLevelCreatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass SendEventRafflePurchaseLevelDeletedInput {\n constructor(organizationID, raffleID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventRafflePurchaseLevelDeletedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass SendEventRafflePurchaseLevelUpdatedInput {\n constructor(organizationID, raffleID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventRafflePurchaseLevelUpdatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass SendEventRaffleRaffleDeletedInput {\n constructor(organizationID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventRaffleRaffleDeletedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass SendEventRaffleRaffleUpdatedInput {\n constructor(organizationID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventRaffleRaffleUpdatedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass SendEventSendCheckedInNotifcationInput {\n constructor(organizationID, source, ticketID, attendeeFirstName, attendeeLastName, attendeeEmail, attendeeMobilePhone, attendeeUserID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : \"\";\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : \"\";\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : \"\";\n this.attendeeMobilePhone = attendeeMobilePhone !== null && attendeeMobilePhone !== void 0 ? attendeeMobilePhone : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSendCheckedInNotifcationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.attendeeMobilePhone, input === null || input === void 0 ? void 0 : input.attendeeUserID);\n }\n}\nclass SendEventSendCheckInMessageInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSendCheckInMessageInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass SendEventSendPreEventQuestionnaireMessageInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSendPreEventQuestionnaireMessageInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass SendEventSendTicketInviteEmailInput {\n constructor(organizationID, eventID, ticketID, purchaserFirstName, purchaserLastName, purchaserEmail, purchaserUserID, suppressEmailToPurchaser) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.purchaserFirstName = purchaserFirstName !== null && purchaserFirstName !== void 0 ? purchaserFirstName : \"\";\n this.purchaserLastName = purchaserLastName !== null && purchaserLastName !== void 0 ? purchaserLastName : \"\";\n this.purchaserEmail = purchaserEmail !== null && purchaserEmail !== void 0 ? purchaserEmail : \"\";\n this.purchaserUserID = purchaserUserID !== null && purchaserUserID !== void 0 ? purchaserUserID : \"\";\n this.suppressEmailToPurchaser = suppressEmailToPurchaser !== null && suppressEmailToPurchaser !== void 0 ? suppressEmailToPurchaser : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSendTicketInviteEmailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.purchaserFirstName, input === null || input === void 0 ? void 0 : input.purchaserLastName, input === null || input === void 0 ? void 0 : input.purchaserEmail, input === null || input === void 0 ? void 0 : input.purchaserUserID, input === null || input === void 0 ? void 0 : input.suppressEmailToPurchaser);\n }\n}\nclass SendEventSendTicketManagerEmailInput {\n constructor(organizationID, eventID, purchaserFirstName, purchaserEmail, purchaserUserID, ticketManagementToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.purchaserFirstName = purchaserFirstName !== null && purchaserFirstName !== void 0 ? purchaserFirstName : \"\";\n this.purchaserEmail = purchaserEmail !== null && purchaserEmail !== void 0 ? purchaserEmail : \"\";\n this.purchaserUserID = purchaserUserID !== null && purchaserUserID !== void 0 ? purchaserUserID : \"\";\n this.ticketManagementToken = ticketManagementToken !== null && ticketManagementToken !== void 0 ? ticketManagementToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSendTicketManagerEmailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.purchaserFirstName, input === null || input === void 0 ? void 0 : input.purchaserEmail, input === null || input === void 0 ? void 0 : input.purchaserUserID, input === null || input === void 0 ? void 0 : input.ticketManagementToken);\n }\n}\nclass SendEventSupporterUserUpdatedInput {\n constructor(supporterUserID, organizationID, userID, email, firstName, lastName, address, city, state, postalCode, country, phoneNumber) {\n this.supporterUserID = supporterUserID !== null && supporterUserID !== void 0 ? supporterUserID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.address = address !== null && address !== void 0 ? address : \"\";\n this.city = city !== null && city !== void 0 ? city : \"\";\n this.state = state !== null && state !== void 0 ? state : \"\";\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : \"\";\n this.country = country !== null && country !== void 0 ? country : \"\";\n this.phoneNumber = phoneNumber !== null && phoneNumber !== void 0 ? phoneNumber : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventSupporterUserUpdatedInput(input === null || input === void 0 ? void 0 : input.supporterUserID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.phoneNumber);\n }\n}\nclass SendEventVirtualEventImpactGoalMetInput {\n constructor(organizationID, eventID, impactID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventVirtualEventImpactGoalMetInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID);\n }\n}\nclass SendEventVirtualEventProcessPendingPurchasedItemsInput {\n constructor(organizationID, eventID, fakeTransactionResult) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fakeTransactionResult = fakeTransactionResult !== null && fakeTransactionResult !== void 0 ? fakeTransactionResult : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventVirtualEventProcessPendingPurchasedItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fakeTransactionResult);\n }\n}\nclass SendEventVirtualEventPurchaseSuccessfulInput {\n constructor(organizationID, eventID, purchaseID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventVirtualEventPurchaseSuccessfulInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.purchaseID);\n }\n}\nclass SendEventVirtualEventPurchaseSuccessfulWithoutPaymentInput {\n constructor(organizationID, eventID, itemIDs, isExternalPayment) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.itemIDs = itemIDs !== null && itemIDs !== void 0 ? itemIDs : [];\n this.isExternalPayment = isExternalPayment !== null && isExternalPayment !== void 0 ? isExternalPayment : false;\n }\n convertUnexpectedNulls() {\n if (!this.itemIDs) {\n this.itemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventVirtualEventPurchaseSuccessfulWithoutPaymentInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.itemIDs, input === null || input === void 0 ? void 0 : input.isExternalPayment);\n }\n}\nclass SendEventVirtualEventRegistrationCreatedInput {\n constructor(registrationID, organizationID, eventID) {\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendEventVirtualEventRegistrationCreatedInput(input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass SendMyTicketInput {\n constructor(organizationID, eventID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendMyTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass SendMyTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendMyTicketOutput();\n }\n}\nclass SendPickupReadyNotificationInput {\n constructor(organizationID, eventID, userID, email, transactionID, updateIsReadyPickupDetails) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.updateIsReadyPickupDetails = updateIsReadyPickupDetails !== null && updateIsReadyPickupDetails !== void 0 ? updateIsReadyPickupDetails : [];\n }\n convertUnexpectedNulls() {\n if (!this.updateIsReadyPickupDetails) {\n this.updateIsReadyPickupDetails = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.updateIsReadyPickupDetails.length; i0 += 1) {\n this.updateIsReadyPickupDetails[i0] = UpdateIsReadyPickupDetails.fromObject(this.updateIsReadyPickupDetails[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new SendPickupReadyNotificationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.updateIsReadyPickupDetails);\n }\n}\nclass SendPickupReadyNotificationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendPickupReadyNotificationOutput();\n }\n}\nclass SendSilentAuctionReminderAlertsInput {\n constructor(organizationID, eventID, auctionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendSilentAuctionReminderAlertsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass SendSilentAuctionReminderAlertsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendSilentAuctionReminderAlertsOutput();\n }\n}\nclass SendSingleEmailInput {\n constructor(organizationID, eventID, invitationID, bodyMarkdown, emailSubject) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.invitationID = invitationID !== null && invitationID !== void 0 ? invitationID : \"\";\n this.bodyMarkdown = bodyMarkdown !== null && bodyMarkdown !== void 0 ? bodyMarkdown : \"\";\n this.emailSubject = emailSubject !== null && emailSubject !== void 0 ? emailSubject : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendSingleEmailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.invitationID, input === null || input === void 0 ? void 0 : input.bodyMarkdown, input === null || input === void 0 ? void 0 : input.emailSubject);\n }\n}\nclass SendSingleEmailOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendSingleEmailOutput();\n }\n}\nclass SendTicketInput {\n constructor(organizationID, eventID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass SendTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendTicketOutput();\n }\n}\nclass SetActiveLotInput {\n constructor(organizationID, eventID, auctionID, activeLotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SetActiveLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.activeLotID);\n }\n}\nclass SetActiveLotOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SetActiveLotOutput();\n }\n}\nclass SetMyPreEventQuestionnaireCompleteTimeInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SetMyPreEventQuestionnaireCompleteTimeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass SetMyPreEventQuestionnaireCompleteTimeOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SetMyPreEventQuestionnaireCompleteTimeOutput();\n }\n}\nclass ShowSummary {\n constructor(organizationID, eventID, id, name, descriptionMarkdown, totalDurationMinutes, activeSceneID, defaultOverlayConfig, overrideOverlayConfig, activeOverlayConfig, defaultStreamType, defaultStreamID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.totalDurationMinutes = totalDurationMinutes !== null && totalDurationMinutes !== void 0 ? totalDurationMinutes : 0;\n this.activeSceneID = activeSceneID !== null && activeSceneID !== void 0 ? activeSceneID : \"\";\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : new OverlayConfiguration();\n this.overrideOverlayConfig = overrideOverlayConfig !== null && overrideOverlayConfig !== void 0 ? overrideOverlayConfig : new OverlayConfiguration();\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : new OverlayConfiguration();\n this.defaultStreamType = defaultStreamType !== null && defaultStreamType !== void 0 ? defaultStreamType : \"\";\n this.defaultStreamID = defaultStreamID !== null && defaultStreamID !== void 0 ? defaultStreamID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertUnexpectedNulls() {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n this.overrideOverlayConfig = this.overrideOverlayConfig ? this.overrideOverlayConfig.convertUnexpectedNulls() : this.overrideOverlayConfig;\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n return this;\n }\n fixClasses() {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n this.overrideOverlayConfig = OverlayConfiguration.fromObject(this.overrideOverlayConfig).fixClasses();\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ShowSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalDurationMinutes, input === null || input === void 0 ? void 0 : input.activeSceneID, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.overrideOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.defaultStreamType, input === null || input === void 0 ? void 0 : input.defaultStreamID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass SignSignalingClientConnectionInput {\n constructor(organizationID, virtualEventID, wssEndpointURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.wssEndpointURL = wssEndpointURL !== null && wssEndpointURL !== void 0 ? wssEndpointURL : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SignSignalingClientConnectionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.wssEndpointURL);\n }\n}\nclass SignSignalingClientConnectionOutput {\n constructor(signedURL, header) {\n this.signedURL = signedURL !== null && signedURL !== void 0 ? signedURL : \"\";\n this.header = header !== null && header !== void 0 ? header : {};\n }\n convertUnexpectedNulls() {\n if (!this.header) {\n this.header = {};\n }\n for (let key0 of Object.keys(this.header)) {\n if (!this.header[key0]) {\n this.header[key0] = [];\n }\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SignSignalingClientConnectionOutput(input === null || input === void 0 ? void 0 : input.signedURL, input === null || input === void 0 ? void 0 : input.header);\n }\n}\nclass SpotterToolDonationSummary {\n constructor(organizationID, eventID, userID, guestID, id, bidderNumber, attendeeNumber, firstName, lastName, amountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SpotterToolDonationSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass SupporterPurchasedItemsDetailsInput {\n constructor(organizationID, eventID, guestID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SupporterPurchasedItemsDetailsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass SupporterPurchasedItemsDetailsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSupporterPurchasedItemDetailSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new SupporterPurchasedItemsDetailsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass SyncGuestSessionsAndAttendeesInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SyncGuestSessionsAndAttendeesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass SyncGuestSessionsAndAttendeesOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SyncGuestSessionsAndAttendeesOutput();\n }\n}\nclass Table {\n constructor(tableNumber, name, chairs) {\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : 0;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.chairs = chairs !== null && chairs !== void 0 ? chairs : [];\n }\n convertUnexpectedNulls() {\n if (!this.chairs) {\n this.chairs = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.chairs.length; i0 += 1) {\n this.chairs[i0] = Chair.fromObject(this.chairs[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new Table(input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.chairs);\n }\n}\nclass TextPaymentLinkInput {\n constructor(organizationID, eventID, guestID, guestSessionID, mobilePhone) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TextPaymentLinkInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass TextPaymentLinkOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TextPaymentLinkOutput();\n }\n}\nclass ThermometerConfigDetails {\n constructor(includeTotals) {\n this.includeTotals = includeTotals !== null && includeTotals !== void 0 ? includeTotals : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ThermometerConfigDetails(input === null || input === void 0 ? void 0 : input.includeTotals);\n }\n}\nclass ThermometerSetupConfig {\n constructor(seedAmount, donations, offline, liveAuction, silentAuction, fixedPrice, tickets, raffle, sponsorAttachmentEventSale, misc) {\n this.seedAmount = seedAmount !== null && seedAmount !== void 0 ? seedAmount : new ThermometerConfigDetails();\n this.donations = donations !== null && donations !== void 0 ? donations : new ThermometerConfigDetails();\n this.offline = offline !== null && offline !== void 0 ? offline : new ThermometerConfigDetails();\n this.liveAuction = liveAuction !== null && liveAuction !== void 0 ? liveAuction : new ThermometerConfigDetails();\n this.silentAuction = silentAuction !== null && silentAuction !== void 0 ? silentAuction : new ThermometerConfigDetails();\n this.fixedPrice = fixedPrice !== null && fixedPrice !== void 0 ? fixedPrice : new ThermometerConfigDetails();\n this.tickets = tickets !== null && tickets !== void 0 ? tickets : new ThermometerConfigDetails();\n this.raffle = raffle !== null && raffle !== void 0 ? raffle : new ThermometerConfigDetails();\n this.sponsorAttachmentEventSale = sponsorAttachmentEventSale !== null && sponsorAttachmentEventSale !== void 0 ? sponsorAttachmentEventSale : new ThermometerConfigDetails();\n this.misc = misc !== null && misc !== void 0 ? misc : new ThermometerConfigDetails();\n }\n fixClasses() {\n this.seedAmount = ThermometerConfigDetails.fromObject(this.seedAmount).fixClasses();\n this.donations = ThermometerConfigDetails.fromObject(this.donations).fixClasses();\n this.offline = ThermometerConfigDetails.fromObject(this.offline).fixClasses();\n this.liveAuction = ThermometerConfigDetails.fromObject(this.liveAuction).fixClasses();\n this.silentAuction = ThermometerConfigDetails.fromObject(this.silentAuction).fixClasses();\n this.fixedPrice = ThermometerConfigDetails.fromObject(this.fixedPrice).fixClasses();\n this.tickets = ThermometerConfigDetails.fromObject(this.tickets).fixClasses();\n this.raffle = ThermometerConfigDetails.fromObject(this.raffle).fixClasses();\n this.sponsorAttachmentEventSale = ThermometerConfigDetails.fromObject(this.sponsorAttachmentEventSale).fixClasses();\n this.misc = ThermometerConfigDetails.fromObject(this.misc).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ThermometerSetupConfig(input === null || input === void 0 ? void 0 : input.seedAmount, input === null || input === void 0 ? void 0 : input.donations, input === null || input === void 0 ? void 0 : input.offline, input === null || input === void 0 ? void 0 : input.liveAuction, input === null || input === void 0 ? void 0 : input.silentAuction, input === null || input === void 0 ? void 0 : input.fixedPrice, input === null || input === void 0 ? void 0 : input.tickets, input === null || input === void 0 ? void 0 : input.raffle, input === null || input === void 0 ? void 0 : input.sponsorAttachmentEventSale, input === null || input === void 0 ? void 0 : input.misc);\n }\n}\nclass TicketOptionAnswer {\n constructor(ticketOptionID, ticketOptionPromptChoiceID, ticketOptionAnswer) {\n this.ticketOptionID = ticketOptionID !== null && ticketOptionID !== void 0 ? ticketOptionID : \"\";\n this.ticketOptionPromptChoiceID = ticketOptionPromptChoiceID !== null && ticketOptionPromptChoiceID !== void 0 ? ticketOptionPromptChoiceID : \"\";\n this.ticketOptionAnswer = ticketOptionAnswer !== null && ticketOptionAnswer !== void 0 ? ticketOptionAnswer : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TicketOptionAnswer(input === null || input === void 0 ? void 0 : input.ticketOptionID, input === null || input === void 0 ? void 0 : input.ticketOptionPromptChoiceID, input === null || input === void 0 ? void 0 : input.ticketOptionAnswer);\n }\n}\nclass TicketPromoCodeSummary {\n constructor(organizationID, source, id, code, description, type, amountCentsOff, hundredthPercentOff, active, ticketTypes, promoUsedCount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.code = code !== null && code !== void 0 ? code : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.amountCentsOff = amountCentsOff !== null && amountCentsOff !== void 0 ? amountCentsOff : 0;\n this.hundredthPercentOff = hundredthPercentOff !== null && hundredthPercentOff !== void 0 ? hundredthPercentOff : 0;\n this.active = active !== null && active !== void 0 ? active : false;\n this.ticketTypes = ticketTypes !== null && ticketTypes !== void 0 ? ticketTypes : [];\n this.promoUsedCount = promoUsedCount !== null && promoUsedCount !== void 0 ? promoUsedCount : 0;\n }\n convertUnexpectedNulls() {\n if (!this.ticketTypes) {\n this.ticketTypes = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.ticketTypes.length; i0 += 1) {\n this.ticketTypes[i0] = TicketType.fromObject(this.ticketTypes[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new TicketPromoCodeSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.code, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.amountCentsOff, input === null || input === void 0 ? void 0 : input.hundredthPercentOff, input === null || input === void 0 ? void 0 : input.active, input === null || input === void 0 ? void 0 : input.ticketTypes, input === null || input === void 0 ? void 0 : input.promoUsedCount);\n }\n}\nclass TicketSummary$1 {\n constructor(organizationID, id, created, source, ticketTypeID, groupID, purchaserUserID, purchaserFirstName, purchaserLastName, purchaserEmail, attendeeUserID, attendeeFirstName, attendeeLastName, attendeeEmail, attendeeMobilePhone, priceCents, valueCents, comped, managerFirstName, managerLastName, managerEmail, checkInTime, claimedTime, preEventQuestionnaireCompleteTime, isLocked, promoCodeUsedID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.groupID = groupID !== null && groupID !== void 0 ? groupID : \"\";\n this.purchaserUserID = purchaserUserID !== null && purchaserUserID !== void 0 ? purchaserUserID : \"\";\n this.purchaserFirstName = purchaserFirstName !== null && purchaserFirstName !== void 0 ? purchaserFirstName : \"\";\n this.purchaserLastName = purchaserLastName !== null && purchaserLastName !== void 0 ? purchaserLastName : \"\";\n this.purchaserEmail = purchaserEmail !== null && purchaserEmail !== void 0 ? purchaserEmail : \"\";\n this.attendeeUserID = attendeeUserID !== null && attendeeUserID !== void 0 ? attendeeUserID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : \"\";\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : \"\";\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : \"\";\n this.attendeeMobilePhone = attendeeMobilePhone !== null && attendeeMobilePhone !== void 0 ? attendeeMobilePhone : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.comped = comped !== null && comped !== void 0 ? comped : false;\n this.managerFirstName = managerFirstName !== null && managerFirstName !== void 0 ? managerFirstName : \"\";\n this.managerLastName = managerLastName !== null && managerLastName !== void 0 ? managerLastName : \"\";\n this.managerEmail = managerEmail !== null && managerEmail !== void 0 ? managerEmail : \"\";\n this.checkInTime = checkInTime !== null && checkInTime !== void 0 ? checkInTime : null;\n this.claimedTime = claimedTime !== null && claimedTime !== void 0 ? claimedTime : null;\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.isLocked = isLocked !== null && isLocked !== void 0 ? isLocked : false;\n this.promoCodeUsedID = promoCodeUsedID !== null && promoCodeUsedID !== void 0 ? promoCodeUsedID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n if (this.checkInTime !== undefined && this.checkInTime !== null) {\n this.checkInTime = this.checkInTime ? new Date(this.checkInTime) : this.checkInTime;\n }\n if (this.claimedTime !== undefined && this.claimedTime !== null) {\n this.claimedTime = this.claimedTime ? new Date(this.claimedTime) : this.claimedTime;\n }\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TicketSummary$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.groupID, input === null || input === void 0 ? void 0 : input.purchaserUserID, input === null || input === void 0 ? void 0 : input.purchaserFirstName, input === null || input === void 0 ? void 0 : input.purchaserLastName, input === null || input === void 0 ? void 0 : input.purchaserEmail, input === null || input === void 0 ? void 0 : input.attendeeUserID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.attendeeMobilePhone, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.comped, input === null || input === void 0 ? void 0 : input.managerFirstName, input === null || input === void 0 ? void 0 : input.managerLastName, input === null || input === void 0 ? void 0 : input.managerEmail, input === null || input === void 0 ? void 0 : input.checkInTime, input === null || input === void 0 ? void 0 : input.claimedTime, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.isLocked, input === null || input === void 0 ? void 0 : input.promoCodeUsedID);\n }\n}\nclass TicketType {\n constructor(ticketTypeID, name) {\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TicketType(input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.name);\n }\n}\nclass TrackInvitationEmailOpenedInput {\n constructor(organizationID, eventID, invitationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.invitationID = invitationID !== null && invitationID !== void 0 ? invitationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TrackInvitationEmailOpenedInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.invitationID);\n }\n}\nclass UnbanFromLivestreamChatInput {\n constructor(organizationID, eventID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UnbanFromLivestreamChatInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass UnbanFromLivestreamChatOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UnbanFromLivestreamChatOutput();\n }\n}\nclass UndoCheckInGuestSessionInput {\n constructor(organizationID, eventID, eventSessionID, guestSessionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UndoCheckInGuestSessionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestSessionID);\n }\n}\nclass UndoCheckInGuestSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UndoCheckInGuestSessionOutput();\n }\n}\nclass UpdateActiveOverlayConfigInput {\n constructor(sceneID, organizationID, eventID, showID, config) {\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.config = config !== null && config !== void 0 ? config : null;\n }\n convertUnexpectedNulls() {\n if (this.config !== null) {\n this.config = this.config ? this.config.convertUnexpectedNulls() : this.config;\n }\n return this;\n }\n fixClasses() {\n if (this.config !== null) {\n this.config = OverlayConfiguration.fromObject(this.config).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateActiveOverlayConfigInput(input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.config);\n }\n}\nclass UpdateActiveOverlayConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateActiveOverlayConfigOutput();\n }\n}\nclass UpdateAttendeeExperienceInput {\n constructor(organizationID, eventID, guestID, guestSessionID, experience) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.experience = experience !== null && experience !== void 0 ? experience : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateAttendeeExperienceInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.experience);\n }\n}\nclass UpdateAttendeeExperienceOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateAttendeeExperienceOutput();\n }\n}\nclass UpdateDonationMomentInput {\n constructor(donationMomentID, organizationID, eventID, name, type, donationLevelsAmountCents, currentDonationTierAmountCents, disableOnlineDonations, giveAtAnyLevelEnabled, giveAtAnyLevelActive) {\n this.donationMomentID = donationMomentID !== null && donationMomentID !== void 0 ? donationMomentID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.type = type !== null && type !== void 0 ? type : null;\n this.donationLevelsAmountCents = donationLevelsAmountCents !== null && donationLevelsAmountCents !== void 0 ? donationLevelsAmountCents : null;\n this.currentDonationTierAmountCents = currentDonationTierAmountCents !== null && currentDonationTierAmountCents !== void 0 ? currentDonationTierAmountCents : null;\n this.disableOnlineDonations = disableOnlineDonations !== null && disableOnlineDonations !== void 0 ? disableOnlineDonations : null;\n this.giveAtAnyLevelEnabled = giveAtAnyLevelEnabled !== null && giveAtAnyLevelEnabled !== void 0 ? giveAtAnyLevelEnabled : null;\n this.giveAtAnyLevelActive = giveAtAnyLevelActive !== null && giveAtAnyLevelActive !== void 0 ? giveAtAnyLevelActive : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateDonationMomentInput(input === null || input === void 0 ? void 0 : input.donationMomentID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.donationLevelsAmountCents, input === null || input === void 0 ? void 0 : input.currentDonationTierAmountCents, input === null || input === void 0 ? void 0 : input.disableOnlineDonations, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelEnabled, input === null || input === void 0 ? void 0 : input.giveAtAnyLevelActive);\n }\n}\nclass UpdateDonationMomentOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateDonationMomentOutput();\n }\n}\nclass UpdateEventInput {\n constructor(eventID, organizationID, name, descriptionMarkdown, eventType, impactBlurb, registrationBlurb, primaryDate, primaryEndDate, timezone, storyMarkdown, currencyCode, goalTotalDonationsAmountCents, goalTotalDonationsSeedAmountCents, goalTrackerImageURL, donationSuggestedAmountsCents, donationSuggestedAmountsShow, themePrimaryColor, themeSecondaryColor, bannerImageURL, logoImageURL, registrationThankYouMessageMarkdown, registrationConfirmationMessageMarkdown, donationThankYouMessageMarkdown, contactName, contactPhone, contactEmail, merchantAccountID, showBillingAddress, requireBillingAddress, isCoverCostActive, coverCostPercent, coverCostCustomMessage, coverCostDefault, tags, impactOrderIDs, fixedPriceOrderIDs, activeRaffleID, enableRaffles, enableFixedPrice, messageTemplateMarkdown, invitationEmailSubject, showSilentAuction, showSilentAuctionCountdown, activeSilentAuctionID, showThermometer, showStory, showLiveAuctionPreview, showRaffle, showGreatfeatsParticipantsLeaderboard, greatfeatsParticipantsLeaderboardTabTitle, greatfeatsParticipantsLeaderboardMessageMarkdown, storyTabTitle, liveAuctionPreviewTabTitle, silentAuctionTabTitle, raffleTabTitle, checkoutMessageMarkdown, isVirtualTableActive, requireDonationDuringRegistration, requireDonationCompEmails, showSocialAuth, showPhoneNumber, requirePhoneNumber, showAddress, requireAddress, enableTicketing, ticketTypeOrderIDs, ticketOptionOrderIDs, showGame, gameTabTitle, greatfeatsChallengeAccessKey, showRecurringDonationManagement, recurringDonationPeriod, recurringDonationSuggestedAmountsCents, receiptMessageMarkdown, eventEndMessageMarkdown, receiptTaxMessage, hostURL, hostShortenedURL, donationTabTitle, fixedPriceItemTabTitle, supportSectionHeaderTitle, checkoutNotificationMessageMarkdown, readyPickupNotificationMessageMarkdown, pickupLaterNotificationMessageMarkdown, allowPickupLater, allowPickupTonight, isPickupWindowScheduled, pickupOpenTime, pickupCloseTime, isCheckoutOpen, thermometerConfig, totalDonationsProceedsAmountCents, totalOfflineDonationsAmountCents, totalLiveAuctionProceedsAmountCents, totalSilentAuctionProceedsAmountCents, totalFixedPriceProceedsAmountCents, totalTicketsProceedsAmountCents, totalRaffleProceedsAmountCents, totalSponsorAttachmentEventSalesProceedsAmountCents, totalMiscProceedsAmountCents, testEvent, enableSelfCheckin, salesTaxPercent, salesTaxAppliesTo, salesTaxCoverageType, customTags, externalID, enableBidderNumbers, enableAutomaticBidderNumbers, startingBidderNumber, newEventExperienceFF) {\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.eventType = eventType !== null && eventType !== void 0 ? eventType : null;\n this.impactBlurb = impactBlurb !== null && impactBlurb !== void 0 ? impactBlurb : null;\n this.registrationBlurb = registrationBlurb !== null && registrationBlurb !== void 0 ? registrationBlurb : null;\n this.primaryDate = primaryDate !== null && primaryDate !== void 0 ? primaryDate : null;\n this.primaryEndDate = primaryEndDate !== null && primaryEndDate !== void 0 ? primaryEndDate : null;\n this.timezone = timezone !== null && timezone !== void 0 ? timezone : null;\n this.storyMarkdown = storyMarkdown !== null && storyMarkdown !== void 0 ? storyMarkdown : null;\n this.currencyCode = currencyCode !== null && currencyCode !== void 0 ? currencyCode : null;\n this.goalTotalDonationsAmountCents = goalTotalDonationsAmountCents !== null && goalTotalDonationsAmountCents !== void 0 ? goalTotalDonationsAmountCents : null;\n this.goalTotalDonationsSeedAmountCents = goalTotalDonationsSeedAmountCents !== null && goalTotalDonationsSeedAmountCents !== void 0 ? goalTotalDonationsSeedAmountCents : null;\n this.goalTrackerImageURL = goalTrackerImageURL !== null && goalTrackerImageURL !== void 0 ? goalTrackerImageURL : null;\n this.donationSuggestedAmountsCents = donationSuggestedAmountsCents !== null && donationSuggestedAmountsCents !== void 0 ? donationSuggestedAmountsCents : null;\n this.donationSuggestedAmountsShow = donationSuggestedAmountsShow !== null && donationSuggestedAmountsShow !== void 0 ? donationSuggestedAmountsShow : null;\n this.themePrimaryColor = themePrimaryColor !== null && themePrimaryColor !== void 0 ? themePrimaryColor : null;\n this.themeSecondaryColor = themeSecondaryColor !== null && themeSecondaryColor !== void 0 ? themeSecondaryColor : null;\n this.bannerImageURL = bannerImageURL !== null && bannerImageURL !== void 0 ? bannerImageURL : null;\n this.logoImageURL = logoImageURL !== null && logoImageURL !== void 0 ? logoImageURL : null;\n this.registrationThankYouMessageMarkdown = registrationThankYouMessageMarkdown !== null && registrationThankYouMessageMarkdown !== void 0 ? registrationThankYouMessageMarkdown : null;\n this.registrationConfirmationMessageMarkdown = registrationConfirmationMessageMarkdown !== null && registrationConfirmationMessageMarkdown !== void 0 ? registrationConfirmationMessageMarkdown : null;\n this.donationThankYouMessageMarkdown = donationThankYouMessageMarkdown !== null && donationThankYouMessageMarkdown !== void 0 ? donationThankYouMessageMarkdown : null;\n this.contactName = contactName !== null && contactName !== void 0 ? contactName : null;\n this.contactPhone = contactPhone !== null && contactPhone !== void 0 ? contactPhone : null;\n this.contactEmail = contactEmail !== null && contactEmail !== void 0 ? contactEmail : null;\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : null;\n this.showBillingAddress = showBillingAddress !== null && showBillingAddress !== void 0 ? showBillingAddress : null;\n this.requireBillingAddress = requireBillingAddress !== null && requireBillingAddress !== void 0 ? requireBillingAddress : null;\n this.isCoverCostActive = isCoverCostActive !== null && isCoverCostActive !== void 0 ? isCoverCostActive : null;\n this.coverCostPercent = coverCostPercent !== null && coverCostPercent !== void 0 ? coverCostPercent : null;\n this.coverCostCustomMessage = coverCostCustomMessage !== null && coverCostCustomMessage !== void 0 ? coverCostCustomMessage : null;\n this.coverCostDefault = coverCostDefault !== null && coverCostDefault !== void 0 ? coverCostDefault : null;\n this.tags = tags !== null && tags !== void 0 ? tags : null;\n this.impactOrderIDs = impactOrderIDs !== null && impactOrderIDs !== void 0 ? impactOrderIDs : null;\n this.fixedPriceOrderIDs = fixedPriceOrderIDs !== null && fixedPriceOrderIDs !== void 0 ? fixedPriceOrderIDs : null;\n this.activeRaffleID = activeRaffleID !== null && activeRaffleID !== void 0 ? activeRaffleID : null;\n this.enableRaffles = enableRaffles !== null && enableRaffles !== void 0 ? enableRaffles : null;\n this.enableFixedPrice = enableFixedPrice !== null && enableFixedPrice !== void 0 ? enableFixedPrice : null;\n this.messageTemplateMarkdown = messageTemplateMarkdown !== null && messageTemplateMarkdown !== void 0 ? messageTemplateMarkdown : null;\n this.invitationEmailSubject = invitationEmailSubject !== null && invitationEmailSubject !== void 0 ? invitationEmailSubject : null;\n this.showSilentAuction = showSilentAuction !== null && showSilentAuction !== void 0 ? showSilentAuction : null;\n this.showSilentAuctionCountdown = showSilentAuctionCountdown !== null && showSilentAuctionCountdown !== void 0 ? showSilentAuctionCountdown : null;\n this.activeSilentAuctionID = activeSilentAuctionID !== null && activeSilentAuctionID !== void 0 ? activeSilentAuctionID : null;\n this.showThermometer = showThermometer !== null && showThermometer !== void 0 ? showThermometer : null;\n this.showStory = showStory !== null && showStory !== void 0 ? showStory : null;\n this.showLiveAuctionPreview = showLiveAuctionPreview !== null && showLiveAuctionPreview !== void 0 ? showLiveAuctionPreview : null;\n this.showRaffle = showRaffle !== null && showRaffle !== void 0 ? showRaffle : null;\n this.showGreatfeatsParticipantsLeaderboard = showGreatfeatsParticipantsLeaderboard !== null && showGreatfeatsParticipantsLeaderboard !== void 0 ? showGreatfeatsParticipantsLeaderboard : null;\n this.greatfeatsParticipantsLeaderboardTabTitle = greatfeatsParticipantsLeaderboardTabTitle !== null && greatfeatsParticipantsLeaderboardTabTitle !== void 0 ? greatfeatsParticipantsLeaderboardTabTitle : null;\n this.greatfeatsParticipantsLeaderboardMessageMarkdown = greatfeatsParticipantsLeaderboardMessageMarkdown !== null && greatfeatsParticipantsLeaderboardMessageMarkdown !== void 0 ? greatfeatsParticipantsLeaderboardMessageMarkdown : null;\n this.storyTabTitle = storyTabTitle !== null && storyTabTitle !== void 0 ? storyTabTitle : null;\n this.liveAuctionPreviewTabTitle = liveAuctionPreviewTabTitle !== null && liveAuctionPreviewTabTitle !== void 0 ? liveAuctionPreviewTabTitle : null;\n this.silentAuctionTabTitle = silentAuctionTabTitle !== null && silentAuctionTabTitle !== void 0 ? silentAuctionTabTitle : null;\n this.raffleTabTitle = raffleTabTitle !== null && raffleTabTitle !== void 0 ? raffleTabTitle : null;\n this.checkoutMessageMarkdown = checkoutMessageMarkdown !== null && checkoutMessageMarkdown !== void 0 ? checkoutMessageMarkdown : null;\n this.isVirtualTableActive = isVirtualTableActive !== null && isVirtualTableActive !== void 0 ? isVirtualTableActive : null;\n this.requireDonationDuringRegistration = requireDonationDuringRegistration !== null && requireDonationDuringRegistration !== void 0 ? requireDonationDuringRegistration : null;\n this.requireDonationCompEmails = requireDonationCompEmails !== null && requireDonationCompEmails !== void 0 ? requireDonationCompEmails : null;\n this.showSocialAuth = showSocialAuth !== null && showSocialAuth !== void 0 ? showSocialAuth : null;\n this.showPhoneNumber = showPhoneNumber !== null && showPhoneNumber !== void 0 ? showPhoneNumber : null;\n this.requirePhoneNumber = requirePhoneNumber !== null && requirePhoneNumber !== void 0 ? requirePhoneNumber : null;\n this.showAddress = showAddress !== null && showAddress !== void 0 ? showAddress : null;\n this.requireAddress = requireAddress !== null && requireAddress !== void 0 ? requireAddress : null;\n this.enableTicketing = enableTicketing !== null && enableTicketing !== void 0 ? enableTicketing : null;\n this.ticketTypeOrderIDs = ticketTypeOrderIDs !== null && ticketTypeOrderIDs !== void 0 ? ticketTypeOrderIDs : null;\n this.ticketOptionOrderIDs = ticketOptionOrderIDs !== null && ticketOptionOrderIDs !== void 0 ? ticketOptionOrderIDs : null;\n this.showGame = showGame !== null && showGame !== void 0 ? showGame : null;\n this.gameTabTitle = gameTabTitle !== null && gameTabTitle !== void 0 ? gameTabTitle : null;\n this.greatfeatsChallengeAccessKey = greatfeatsChallengeAccessKey !== null && greatfeatsChallengeAccessKey !== void 0 ? greatfeatsChallengeAccessKey : null;\n this.showRecurringDonationManagement = showRecurringDonationManagement !== null && showRecurringDonationManagement !== void 0 ? showRecurringDonationManagement : null;\n this.recurringDonationPeriod = recurringDonationPeriod !== null && recurringDonationPeriod !== void 0 ? recurringDonationPeriod : null;\n this.recurringDonationSuggestedAmountsCents = recurringDonationSuggestedAmountsCents !== null && recurringDonationSuggestedAmountsCents !== void 0 ? recurringDonationSuggestedAmountsCents : null;\n this.receiptMessageMarkdown = receiptMessageMarkdown !== null && receiptMessageMarkdown !== void 0 ? receiptMessageMarkdown : null;\n this.eventEndMessageMarkdown = eventEndMessageMarkdown !== null && eventEndMessageMarkdown !== void 0 ? eventEndMessageMarkdown : null;\n this.receiptTaxMessage = receiptTaxMessage !== null && receiptTaxMessage !== void 0 ? receiptTaxMessage : null;\n this.hostURL = hostURL !== null && hostURL !== void 0 ? hostURL : null;\n this.hostShortenedURL = hostShortenedURL !== null && hostShortenedURL !== void 0 ? hostShortenedURL : null;\n this.donationTabTitle = donationTabTitle !== null && donationTabTitle !== void 0 ? donationTabTitle : null;\n this.fixedPriceItemTabTitle = fixedPriceItemTabTitle !== null && fixedPriceItemTabTitle !== void 0 ? fixedPriceItemTabTitle : null;\n this.supportSectionHeaderTitle = supportSectionHeaderTitle !== null && supportSectionHeaderTitle !== void 0 ? supportSectionHeaderTitle : null;\n this.checkoutNotificationMessageMarkdown = checkoutNotificationMessageMarkdown !== null && checkoutNotificationMessageMarkdown !== void 0 ? checkoutNotificationMessageMarkdown : null;\n this.readyPickupNotificationMessageMarkdown = readyPickupNotificationMessageMarkdown !== null && readyPickupNotificationMessageMarkdown !== void 0 ? readyPickupNotificationMessageMarkdown : null;\n this.pickupLaterNotificationMessageMarkdown = pickupLaterNotificationMessageMarkdown !== null && pickupLaterNotificationMessageMarkdown !== void 0 ? pickupLaterNotificationMessageMarkdown : null;\n this.allowPickupLater = allowPickupLater !== null && allowPickupLater !== void 0 ? allowPickupLater : null;\n this.allowPickupTonight = allowPickupTonight !== null && allowPickupTonight !== void 0 ? allowPickupTonight : null;\n this.isPickupWindowScheduled = isPickupWindowScheduled !== null && isPickupWindowScheduled !== void 0 ? isPickupWindowScheduled : null;\n this.pickupOpenTime = pickupOpenTime !== null && pickupOpenTime !== void 0 ? pickupOpenTime : null;\n this.pickupCloseTime = pickupCloseTime !== null && pickupCloseTime !== void 0 ? pickupCloseTime : null;\n this.isCheckoutOpen = isCheckoutOpen !== null && isCheckoutOpen !== void 0 ? isCheckoutOpen : null;\n this.thermometerConfig = thermometerConfig !== null && thermometerConfig !== void 0 ? thermometerConfig : null;\n this.totalDonationsProceedsAmountCents = totalDonationsProceedsAmountCents !== null && totalDonationsProceedsAmountCents !== void 0 ? totalDonationsProceedsAmountCents : null;\n this.totalOfflineDonationsAmountCents = totalOfflineDonationsAmountCents !== null && totalOfflineDonationsAmountCents !== void 0 ? totalOfflineDonationsAmountCents : null;\n this.totalLiveAuctionProceedsAmountCents = totalLiveAuctionProceedsAmountCents !== null && totalLiveAuctionProceedsAmountCents !== void 0 ? totalLiveAuctionProceedsAmountCents : null;\n this.totalSilentAuctionProceedsAmountCents = totalSilentAuctionProceedsAmountCents !== null && totalSilentAuctionProceedsAmountCents !== void 0 ? totalSilentAuctionProceedsAmountCents : null;\n this.totalFixedPriceProceedsAmountCents = totalFixedPriceProceedsAmountCents !== null && totalFixedPriceProceedsAmountCents !== void 0 ? totalFixedPriceProceedsAmountCents : null;\n this.totalTicketsProceedsAmountCents = totalTicketsProceedsAmountCents !== null && totalTicketsProceedsAmountCents !== void 0 ? totalTicketsProceedsAmountCents : null;\n this.totalRaffleProceedsAmountCents = totalRaffleProceedsAmountCents !== null && totalRaffleProceedsAmountCents !== void 0 ? totalRaffleProceedsAmountCents : null;\n this.totalSponsorAttachmentEventSalesProceedsAmountCents = totalSponsorAttachmentEventSalesProceedsAmountCents !== null && totalSponsorAttachmentEventSalesProceedsAmountCents !== void 0 ? totalSponsorAttachmentEventSalesProceedsAmountCents : null;\n this.totalMiscProceedsAmountCents = totalMiscProceedsAmountCents !== null && totalMiscProceedsAmountCents !== void 0 ? totalMiscProceedsAmountCents : null;\n this.testEvent = testEvent !== null && testEvent !== void 0 ? testEvent : null;\n this.enableSelfCheckin = enableSelfCheckin !== null && enableSelfCheckin !== void 0 ? enableSelfCheckin : null;\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : null;\n this.salesTaxAppliesTo = salesTaxAppliesTo !== null && salesTaxAppliesTo !== void 0 ? salesTaxAppliesTo : null;\n this.salesTaxCoverageType = salesTaxCoverageType !== null && salesTaxCoverageType !== void 0 ? salesTaxCoverageType : null;\n this.customTags = customTags !== null && customTags !== void 0 ? customTags : null;\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : null;\n this.enableBidderNumbers = enableBidderNumbers !== null && enableBidderNumbers !== void 0 ? enableBidderNumbers : null;\n this.enableAutomaticBidderNumbers = enableAutomaticBidderNumbers !== null && enableAutomaticBidderNumbers !== void 0 ? enableAutomaticBidderNumbers : null;\n this.startingBidderNumber = startingBidderNumber !== null && startingBidderNumber !== void 0 ? startingBidderNumber : null;\n this.newEventExperienceFF = newEventExperienceFF !== null && newEventExperienceFF !== void 0 ? newEventExperienceFF : null;\n }\n convertDates() {\n if (this.primaryDate !== undefined && this.primaryDate !== null) {\n this.primaryDate = this.primaryDate ? new Date(this.primaryDate) : this.primaryDate;\n }\n if (this.primaryEndDate !== undefined && this.primaryEndDate !== null) {\n this.primaryEndDate = this.primaryEndDate ? new Date(this.primaryEndDate) : this.primaryEndDate;\n }\n if (this.pickupOpenTime !== undefined && this.pickupOpenTime !== null) {\n this.pickupOpenTime = this.pickupOpenTime ? new Date(this.pickupOpenTime) : this.pickupOpenTime;\n }\n if (this.pickupCloseTime !== undefined && this.pickupCloseTime !== null) {\n this.pickupCloseTime = this.pickupCloseTime ? new Date(this.pickupCloseTime) : this.pickupCloseTime;\n }\n return this;\n }\n fixClasses() {\n if (this.thermometerConfig !== null) {\n this.thermometerConfig = ThermometerSetupConfig.fromObject(this.thermometerConfig).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateEventInput(input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.eventType, input === null || input === void 0 ? void 0 : input.impactBlurb, input === null || input === void 0 ? void 0 : input.registrationBlurb, input === null || input === void 0 ? void 0 : input.primaryDate, input === null || input === void 0 ? void 0 : input.primaryEndDate, input === null || input === void 0 ? void 0 : input.timezone, input === null || input === void 0 ? void 0 : input.storyMarkdown, input === null || input === void 0 ? void 0 : input.currencyCode, input === null || input === void 0 ? void 0 : input.goalTotalDonationsAmountCents, input === null || input === void 0 ? void 0 : input.goalTotalDonationsSeedAmountCents, input === null || input === void 0 ? void 0 : input.goalTrackerImageURL, input === null || input === void 0 ? void 0 : input.donationSuggestedAmountsCents, input === null || input === void 0 ? void 0 : input.donationSuggestedAmountsShow, input === null || input === void 0 ? void 0 : input.themePrimaryColor, input === null || input === void 0 ? void 0 : input.themeSecondaryColor, input === null || input === void 0 ? void 0 : input.bannerImageURL, input === null || input === void 0 ? void 0 : input.logoImageURL, input === null || input === void 0 ? void 0 : input.registrationThankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.registrationConfirmationMessageMarkdown, input === null || input === void 0 ? void 0 : input.donationThankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.contactName, input === null || input === void 0 ? void 0 : input.contactPhone, input === null || input === void 0 ? void 0 : input.contactEmail, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.showBillingAddress, input === null || input === void 0 ? void 0 : input.requireBillingAddress, input === null || input === void 0 ? void 0 : input.isCoverCostActive, input === null || input === void 0 ? void 0 : input.coverCostPercent, input === null || input === void 0 ? void 0 : input.coverCostCustomMessage, input === null || input === void 0 ? void 0 : input.coverCostDefault, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.impactOrderIDs, input === null || input === void 0 ? void 0 : input.fixedPriceOrderIDs, input === null || input === void 0 ? void 0 : input.activeRaffleID, input === null || input === void 0 ? void 0 : input.enableRaffles, input === null || input === void 0 ? void 0 : input.enableFixedPrice, input === null || input === void 0 ? void 0 : input.messageTemplateMarkdown, input === null || input === void 0 ? void 0 : input.invitationEmailSubject, input === null || input === void 0 ? void 0 : input.showSilentAuction, input === null || input === void 0 ? void 0 : input.showSilentAuctionCountdown, input === null || input === void 0 ? void 0 : input.activeSilentAuctionID, input === null || input === void 0 ? void 0 : input.showThermometer, input === null || input === void 0 ? void 0 : input.showStory, input === null || input === void 0 ? void 0 : input.showLiveAuctionPreview, input === null || input === void 0 ? void 0 : input.showRaffle, input === null || input === void 0 ? void 0 : input.showGreatfeatsParticipantsLeaderboard, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantsLeaderboardTabTitle, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantsLeaderboardMessageMarkdown, input === null || input === void 0 ? void 0 : input.storyTabTitle, input === null || input === void 0 ? void 0 : input.liveAuctionPreviewTabTitle, input === null || input === void 0 ? void 0 : input.silentAuctionTabTitle, input === null || input === void 0 ? void 0 : input.raffleTabTitle, input === null || input === void 0 ? void 0 : input.checkoutMessageMarkdown, input === null || input === void 0 ? void 0 : input.isVirtualTableActive, input === null || input === void 0 ? void 0 : input.requireDonationDuringRegistration, input === null || input === void 0 ? void 0 : input.requireDonationCompEmails, input === null || input === void 0 ? void 0 : input.showSocialAuth, input === null || input === void 0 ? void 0 : input.showPhoneNumber, input === null || input === void 0 ? void 0 : input.requirePhoneNumber, input === null || input === void 0 ? void 0 : input.showAddress, input === null || input === void 0 ? void 0 : input.requireAddress, input === null || input === void 0 ? void 0 : input.enableTicketing, input === null || input === void 0 ? void 0 : input.ticketTypeOrderIDs, input === null || input === void 0 ? void 0 : input.ticketOptionOrderIDs, input === null || input === void 0 ? void 0 : input.showGame, input === null || input === void 0 ? void 0 : input.gameTabTitle, input === null || input === void 0 ? void 0 : input.greatfeatsChallengeAccessKey, input === null || input === void 0 ? void 0 : input.showRecurringDonationManagement, input === null || input === void 0 ? void 0 : input.recurringDonationPeriod, input === null || input === void 0 ? void 0 : input.recurringDonationSuggestedAmountsCents, input === null || input === void 0 ? void 0 : input.receiptMessageMarkdown, input === null || input === void 0 ? void 0 : input.eventEndMessageMarkdown, input === null || input === void 0 ? void 0 : input.receiptTaxMessage, input === null || input === void 0 ? void 0 : input.hostURL, input === null || input === void 0 ? void 0 : input.hostShortenedURL, input === null || input === void 0 ? void 0 : input.donationTabTitle, input === null || input === void 0 ? void 0 : input.fixedPriceItemTabTitle, input === null || input === void 0 ? void 0 : input.supportSectionHeaderTitle, input === null || input === void 0 ? void 0 : input.checkoutNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.readyPickupNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.pickupLaterNotificationMessageMarkdown, input === null || input === void 0 ? void 0 : input.allowPickupLater, input === null || input === void 0 ? void 0 : input.allowPickupTonight, input === null || input === void 0 ? void 0 : input.isPickupWindowScheduled, input === null || input === void 0 ? void 0 : input.pickupOpenTime, input === null || input === void 0 ? void 0 : input.pickupCloseTime, input === null || input === void 0 ? void 0 : input.isCheckoutOpen, input === null || input === void 0 ? void 0 : input.thermometerConfig, input === null || input === void 0 ? void 0 : input.totalDonationsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalOfflineDonationsAmountCents, input === null || input === void 0 ? void 0 : input.totalLiveAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSilentAuctionProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalFixedPriceProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalTicketsProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalRaffleProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalSponsorAttachmentEventSalesProceedsAmountCents, input === null || input === void 0 ? void 0 : input.totalMiscProceedsAmountCents, input === null || input === void 0 ? void 0 : input.testEvent, input === null || input === void 0 ? void 0 : input.enableSelfCheckin, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.salesTaxAppliesTo, input === null || input === void 0 ? void 0 : input.salesTaxCoverageType, input === null || input === void 0 ? void 0 : input.customTags, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.enableBidderNumbers, input === null || input === void 0 ? void 0 : input.enableAutomaticBidderNumbers, input === null || input === void 0 ? void 0 : input.startingBidderNumber, input === null || input === void 0 ? void 0 : input.newEventExperienceFF);\n }\n}\nclass UpdateEventOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventOutput();\n }\n}\nclass UpdateEventSessionInput {\n constructor(eventSessionID, organizationID, eventID, tableImageURL) {\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.tableImageURL = tableImageURL !== null && tableImageURL !== void 0 ? tableImageURL : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSessionInput(input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.tableImageURL);\n }\n}\nclass UpdateEventSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSessionOutput();\n }\n}\nclass UpdateEventSessionTicketConfigInput {\n constructor(eventSessionTicketConfigID, organizationID, eventID, eventSessionID, ticketTypeID, attendeeExperience) {\n this.eventSessionTicketConfigID = eventSessionTicketConfigID !== null && eventSessionTicketConfigID !== void 0 ? eventSessionTicketConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : null;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSessionTicketConfigInput(input === null || input === void 0 ? void 0 : input.eventSessionTicketConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass UpdateEventSessionTicketConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSessionTicketConfigOutput();\n }\n}\nclass UpdateEventShowControlInput {\n constructor(organizationID, eventID, activeShowID, activeSceneID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.activeShowID = activeShowID !== null && activeShowID !== void 0 ? activeShowID : null;\n this.activeSceneID = activeSceneID !== null && activeSceneID !== void 0 ? activeSceneID : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventShowControlInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.activeShowID, input === null || input === void 0 ? void 0 : input.activeSceneID);\n }\n}\nclass UpdateEventShowControlOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventShowControlOutput();\n }\n}\nclass UpdateEventSlideConfigInput {\n constructor(eventSlideConfigID, organizationID, eventID, slideType, detailsJSON) {\n this.eventSlideConfigID = eventSlideConfigID !== null && eventSlideConfigID !== void 0 ? eventSlideConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.slideType = slideType !== null && slideType !== void 0 ? slideType : null;\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSlideConfigInput(input === null || input === void 0 ? void 0 : input.eventSlideConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.slideType, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass UpdateEventSlideConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSlideConfigOutput();\n }\n}\nclass UpdateEventSlideshowInput {\n constructor(eventSlideshowID, organizationID, eventID, activeSlideURL) {\n this.eventSlideshowID = eventSlideshowID !== null && eventSlideshowID !== void 0 ? eventSlideshowID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.activeSlideURL = activeSlideURL !== null && activeSlideURL !== void 0 ? activeSlideURL : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSlideshowInput(input === null || input === void 0 ? void 0 : input.eventSlideshowID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.activeSlideURL);\n }\n}\nclass UpdateEventSlideshowOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateEventSlideshowOutput();\n }\n}\nclass UpdateFixedPriceItemInput {\n constructor(itemID, organizationID, eventID, name, priceCents, valueCents, isTaxable, description, numPurchased, maxNumAvailable, numUnlimited, inPersonOnly, pickupLater, pickupTonight, isPickUpEventLevel, sortOrder) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : null;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : null;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.numPurchased = numPurchased !== null && numPurchased !== void 0 ? numPurchased : null;\n this.maxNumAvailable = maxNumAvailable !== null && maxNumAvailable !== void 0 ? maxNumAvailable : null;\n this.numUnlimited = numUnlimited !== null && numUnlimited !== void 0 ? numUnlimited : null;\n this.inPersonOnly = inPersonOnly !== null && inPersonOnly !== void 0 ? inPersonOnly : null;\n this.pickupLater = pickupLater !== null && pickupLater !== void 0 ? pickupLater : null;\n this.pickupTonight = pickupTonight !== null && pickupTonight !== void 0 ? pickupTonight : null;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : null;\n this.sortOrder = sortOrder !== null && sortOrder !== void 0 ? sortOrder : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceItemInput(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.numPurchased, input === null || input === void 0 ? void 0 : input.maxNumAvailable, input === null || input === void 0 ? void 0 : input.numUnlimited, input === null || input === void 0 ? void 0 : input.inPersonOnly, input === null || input === void 0 ? void 0 : input.pickupLater, input === null || input === void 0 ? void 0 : input.pickupTonight, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.sortOrder);\n }\n}\nclass UpdateFixedPriceItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceItemOutput();\n }\n}\nclass UpdateFixedPriceItemPhotoInput {\n constructor(photoID, organizationID, eventID, fixedPriceItemID, url) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.url = url !== null && url !== void 0 ? url : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass UpdateFixedPriceItemPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceItemPhotoOutput();\n }\n}\nclass UpdateFixedPricePickedUpInput {\n constructor(organizationID, eventID, fixedPriceItemID, isPickedUp, guestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPricePickedUpInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass UpdateFixedPricePickedUpOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPricePickedUpOutput();\n }\n}\nclass UpdateFixedPriceSortOrderInput {\n constructor(organizationID, eventID, fixedPriceItemIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.fixedPriceItemIDs = fixedPriceItemIDs !== null && fixedPriceItemIDs !== void 0 ? fixedPriceItemIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.fixedPriceItemIDs) {\n this.fixedPriceItemIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceSortOrderInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.fixedPriceItemIDs);\n }\n}\nclass UpdateFixedPriceSortOrderOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateFixedPriceSortOrderOutput();\n }\n}\nclass UpdateGuestInput {\n constructor(guestID, organizationID, eventID, userID, registrationID, bidderNumber, attendeeNumber, managingGuestID, firstName, lastName, email, mobilePhone, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, biddingAsGuestID, purchasedItemPrimaryUserID, purchasedItemPrimaryGuestID, address, city, state, postalCode, country, userCardID) {\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : null;\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : null;\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : null;\n this.attendeeNumber = attendeeNumber !== null && attendeeNumber !== void 0 ? attendeeNumber : null;\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : null;\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : null;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : null;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : null;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : null;\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : null;\n this.purchasedItemPrimaryUserID = purchasedItemPrimaryUserID !== null && purchasedItemPrimaryUserID !== void 0 ? purchasedItemPrimaryUserID : null;\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : null;\n this.address = address !== null && address !== void 0 ? address : null;\n this.city = city !== null && city !== void 0 ? city : null;\n this.state = state !== null && state !== void 0 ? state : null;\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : null;\n this.country = country !== null && country !== void 0 ? country : null;\n this.userCardID = userCardID !== null && userCardID !== void 0 ? userCardID : null;\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestInput(input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.attendeeNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.biddingAsGuestID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryUserID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.userCardID);\n }\n}\nclass UpdateGuestOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestOutput();\n }\n}\nclass UpdateGuestSessionInput {\n constructor(guestSessionID, organizationID, eventID, eventSessionID, guestID, isCheckInWithManagingGuest, checkedInTime, tableAttendeeID, ticketID, initialTableName, initialTableNumber, totalProceedsAmountCents, attendeeExperience) {\n this.guestSessionID = guestSessionID !== null && guestSessionID !== void 0 ? guestSessionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : null;\n this.isCheckInWithManagingGuest = isCheckInWithManagingGuest !== null && isCheckInWithManagingGuest !== void 0 ? isCheckInWithManagingGuest : null;\n this.checkedInTime = checkedInTime !== null && checkedInTime !== void 0 ? checkedInTime : null;\n this.tableAttendeeID = tableAttendeeID !== null && tableAttendeeID !== void 0 ? tableAttendeeID : null;\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : null;\n this.initialTableName = initialTableName !== null && initialTableName !== void 0 ? initialTableName : null;\n this.initialTableNumber = initialTableNumber !== null && initialTableNumber !== void 0 ? initialTableNumber : null;\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : null;\n this.attendeeExperience = attendeeExperience !== null && attendeeExperience !== void 0 ? attendeeExperience : null;\n }\n convertDates() {\n if (this.checkedInTime !== undefined && this.checkedInTime !== null) {\n this.checkedInTime = this.checkedInTime ? new Date(this.checkedInTime) : this.checkedInTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestSessionInput(input === null || input === void 0 ? void 0 : input.guestSessionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.isCheckInWithManagingGuest, input === null || input === void 0 ? void 0 : input.checkedInTime, input === null || input === void 0 ? void 0 : input.tableAttendeeID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.initialTableName, input === null || input === void 0 ? void 0 : input.initialTableNumber, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.attendeeExperience);\n }\n}\nclass UpdateGuestSessionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestSessionOutput();\n }\n}\nclass UpdateGuestsForTicketsInput {\n constructor(organizationID, eventID, eventSessionID, guestsToUpdate) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.guestsToUpdate = guestsToUpdate !== null && guestsToUpdate !== void 0 ? guestsToUpdate : [];\n }\n convertUnexpectedNulls() {\n if (!this.guestsToUpdate) {\n this.guestsToUpdate = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.guestsToUpdate.length; i0 += 1) {\n this.guestsToUpdate[i0] = GuestToUpdate.fromObject(this.guestsToUpdate[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestsForTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.guestsToUpdate);\n }\n}\nclass UpdateGuestsForTicketsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateGuestsForTicketsOutput();\n }\n}\nclass UpdateImpactInput {\n constructor(impactID, organizationID, eventID, name, amountCents, descriptionMarkdown, totalPurchasesLimit, totalPurchasesCountDisplayThreshold, totalPurchasesAmountCentsDisplayThreshold, goalType, goalPurchasesCount, goalPurchasesCountDisplayThreshold, goalPurchasesAmountCents, goalPurchasesAmountCentsDisplayThreshold, goalMetEmailSubject, goalMetEmailBodyMarkdown, goalMetSMSBody, hideFromFlow, fixedPriceItemID) {\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.totalPurchasesLimit = totalPurchasesLimit !== null && totalPurchasesLimit !== void 0 ? totalPurchasesLimit : null;\n this.totalPurchasesCountDisplayThreshold = totalPurchasesCountDisplayThreshold !== null && totalPurchasesCountDisplayThreshold !== void 0 ? totalPurchasesCountDisplayThreshold : null;\n this.totalPurchasesAmountCentsDisplayThreshold = totalPurchasesAmountCentsDisplayThreshold !== null && totalPurchasesAmountCentsDisplayThreshold !== void 0 ? totalPurchasesAmountCentsDisplayThreshold : null;\n this.goalType = goalType !== null && goalType !== void 0 ? goalType : null;\n this.goalPurchasesCount = goalPurchasesCount !== null && goalPurchasesCount !== void 0 ? goalPurchasesCount : null;\n this.goalPurchasesCountDisplayThreshold = goalPurchasesCountDisplayThreshold !== null && goalPurchasesCountDisplayThreshold !== void 0 ? goalPurchasesCountDisplayThreshold : null;\n this.goalPurchasesAmountCents = goalPurchasesAmountCents !== null && goalPurchasesAmountCents !== void 0 ? goalPurchasesAmountCents : null;\n this.goalPurchasesAmountCentsDisplayThreshold = goalPurchasesAmountCentsDisplayThreshold !== null && goalPurchasesAmountCentsDisplayThreshold !== void 0 ? goalPurchasesAmountCentsDisplayThreshold : null;\n this.goalMetEmailSubject = goalMetEmailSubject !== null && goalMetEmailSubject !== void 0 ? goalMetEmailSubject : null;\n this.goalMetEmailBodyMarkdown = goalMetEmailBodyMarkdown !== null && goalMetEmailBodyMarkdown !== void 0 ? goalMetEmailBodyMarkdown : null;\n this.goalMetSMSBody = goalMetSMSBody !== null && goalMetSMSBody !== void 0 ? goalMetSMSBody : null;\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : null;\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateImpactInput(input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalPurchasesLimit, input === null || input === void 0 ? void 0 : input.totalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalType, input === null || input === void 0 ? void 0 : input.goalPurchasesCount, input === null || input === void 0 ? void 0 : input.goalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalMetEmailSubject, input === null || input === void 0 ? void 0 : input.goalMetEmailBodyMarkdown, input === null || input === void 0 ? void 0 : input.goalMetSMSBody, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass UpdateImpactOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateImpactOutput();\n }\n}\nclass UpdateImpactPhotoInput {\n constructor(photoID, organizationID, eventID, impactID, url) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.url = url !== null && url !== void 0 ? url : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateImpactPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass UpdateImpactPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateImpactPhotoOutput();\n }\n}\nclass UpdateInvitationInput {\n constructor(organizationID, eventID, invitationID, externalID, firstName, lastName, email, mobilePhone, messageTemplateMarkdown, invitationEmailSubject) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.invitationID = invitationID !== null && invitationID !== void 0 ? invitationID : \"\";\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : null;\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.messageTemplateMarkdown = messageTemplateMarkdown !== null && messageTemplateMarkdown !== void 0 ? messageTemplateMarkdown : null;\n this.invitationEmailSubject = invitationEmailSubject !== null && invitationEmailSubject !== void 0 ? invitationEmailSubject : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateInvitationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.invitationID, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.messageTemplateMarkdown, input === null || input === void 0 ? void 0 : input.invitationEmailSubject);\n }\n}\nclass UpdateInvitationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateInvitationOutput();\n }\n}\nclass UpdateIsReadyPickupDetails {\n constructor(itemID, lotID, allocationID, fixedPriceItemID, isReadyPickUp) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.allocationID = allocationID !== null && allocationID !== void 0 ? allocationID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateIsReadyPickupDetails(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.allocationID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.isReadyPickUp);\n }\n}\nclass UpdateLiveAppealConfigInput {\n constructor(organizationID, eventID, showID, sceneID, overlayID, config) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n this.config = config !== null && config !== void 0 ? config : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateLiveAppealConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.overlayID, input === null || input === void 0 ? void 0 : input.config);\n }\n}\nclass UpdateLiveAppealConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateLiveAppealConfigOutput();\n }\n}\nclass UpdateLotIncrementInput {\n constructor(organizationID, eventID, auctionID, lotID, bidIncrementCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateLotIncrementInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidIncrementCents);\n }\n}\nclass UpdateLotIncrementOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateLotIncrementOutput();\n }\n}\nclass UpdateMyExperienceTypeInput {\n constructor(organizationID, eventID, experienceType) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.experienceType = experienceType !== null && experienceType !== void 0 ? experienceType : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyExperienceTypeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.experienceType);\n }\n}\nclass UpdateMyExperienceTypeOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyExperienceTypeOutput();\n }\n}\nclass UpdateMyGuestInput {\n constructor(organizationID, eventID, registrationID, bidderNumber, managingGuestID, firstName, lastName, email, mobilePhone, address, city, state, postalCode, country, preEventQuestionnaireCompleteTime, preEventQuestionOneAnswer, preEventQuestionTwoAnswer, preEventQuestionThreeAnswer, preEventConsentSelfCompleted, biddingAsGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : null;\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : null;\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : null;\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.address = address !== null && address !== void 0 ? address : null;\n this.city = city !== null && city !== void 0 ? city : null;\n this.state = state !== null && state !== void 0 ? state : null;\n this.postalCode = postalCode !== null && postalCode !== void 0 ? postalCode : null;\n this.country = country !== null && country !== void 0 ? country : null;\n this.preEventQuestionnaireCompleteTime = preEventQuestionnaireCompleteTime !== null && preEventQuestionnaireCompleteTime !== void 0 ? preEventQuestionnaireCompleteTime : null;\n this.preEventQuestionOneAnswer = preEventQuestionOneAnswer !== null && preEventQuestionOneAnswer !== void 0 ? preEventQuestionOneAnswer : null;\n this.preEventQuestionTwoAnswer = preEventQuestionTwoAnswer !== null && preEventQuestionTwoAnswer !== void 0 ? preEventQuestionTwoAnswer : null;\n this.preEventQuestionThreeAnswer = preEventQuestionThreeAnswer !== null && preEventQuestionThreeAnswer !== void 0 ? preEventQuestionThreeAnswer : null;\n this.preEventConsentSelfCompleted = preEventConsentSelfCompleted !== null && preEventConsentSelfCompleted !== void 0 ? preEventConsentSelfCompleted : null;\n this.biddingAsGuestID = biddingAsGuestID !== null && biddingAsGuestID !== void 0 ? biddingAsGuestID : null;\n }\n convertDates() {\n if (this.preEventQuestionnaireCompleteTime !== undefined && this.preEventQuestionnaireCompleteTime !== null) {\n this.preEventQuestionnaireCompleteTime = this.preEventQuestionnaireCompleteTime ? new Date(this.preEventQuestionnaireCompleteTime) : this.preEventQuestionnaireCompleteTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyGuestInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.address, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.postalCode, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.preEventQuestionnaireCompleteTime, input === null || input === void 0 ? void 0 : input.preEventQuestionOneAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionTwoAnswer, input === null || input === void 0 ? void 0 : input.preEventQuestionThreeAnswer, input === null || input === void 0 ? void 0 : input.preEventConsentSelfCompleted, input === null || input === void 0 ? void 0 : input.biddingAsGuestID);\n }\n}\nclass UpdateMyGuestOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyGuestOutput();\n }\n}\nclass UpdateMyProfileAndRegistrationInput {\n constructor(organizationID, eventID, userID, firstName, lastName, street, city, state, zip, country, email, mobilePhone) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.street = street !== null && street !== void 0 ? street : null;\n this.city = city !== null && city !== void 0 ? city : null;\n this.state = state !== null && state !== void 0 ? state : null;\n this.zip = zip !== null && zip !== void 0 ? zip : null;\n this.country = country !== null && country !== void 0 ? country : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyProfileAndRegistrationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.street, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.zip, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass UpdateMyProfileAndRegistrationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyProfileAndRegistrationOutput();\n }\n}\nclass UpdateMyProfileInput {\n constructor(organizationID, eventID, firstName, lastName, Street, city, state, zip, country, updateAllEvent, email, mobilePhone) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.Street = Street !== null && Street !== void 0 ? Street : null;\n this.city = city !== null && city !== void 0 ? city : null;\n this.state = state !== null && state !== void 0 ? state : null;\n this.zip = zip !== null && zip !== void 0 ? zip : null;\n this.country = country !== null && country !== void 0 ? country : null;\n this.updateAllEvent = updateAllEvent !== null && updateAllEvent !== void 0 ? updateAllEvent : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyProfileInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.Street, input === null || input === void 0 ? void 0 : input.city, input === null || input === void 0 ? void 0 : input.state, input === null || input === void 0 ? void 0 : input.zip, input === null || input === void 0 ? void 0 : input.country, input === null || input === void 0 ? void 0 : input.updateAllEvent, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone);\n }\n}\nclass UpdateMyProfileOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyProfileOutput();\n }\n}\nclass UpdateMyRegistrationInput {\n constructor(organizationID, eventID, firstName, lastName, email, mobilePhone, wantEmailUpdates, wantSMSUpdates) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : null;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyRegistrationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates);\n }\n}\nclass UpdateMyRegistrationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyRegistrationOutput();\n }\n}\nclass UpdateMyTicketInput {\n constructor(organizationID, eventID, ticketID, ticketTypeID, attendeeFirstName, attendeeLastName, attendeeEmail, attendeeMobilePhone, ticketOptionAnswers) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : null;\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : null;\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : null;\n this.attendeeMobilePhone = attendeeMobilePhone !== null && attendeeMobilePhone !== void 0 ? attendeeMobilePhone : null;\n this.ticketOptionAnswers = ticketOptionAnswers !== null && ticketOptionAnswers !== void 0 ? ticketOptionAnswers : [];\n }\n convertUnexpectedNulls() {\n if (!this.ticketOptionAnswers) {\n this.ticketOptionAnswers = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.ticketOptionAnswers.length; i0 += 1) {\n this.ticketOptionAnswers[i0] = CreateOrUpdateTicketOptionAnswer.fromObject(this.ticketOptionAnswers[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateMyTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.attendeeMobilePhone, input === null || input === void 0 ? void 0 : input.ticketOptionAnswers);\n }\n}\nclass UpdateMyTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateMyTicketOutput();\n }\n}\nclass UpdateOverlayInput {\n constructor(overlayID, organizationID, eventID, showID, sceneID, name, type, config) {\n this.overlayID = overlayID !== null && overlayID !== void 0 ? overlayID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.type = type !== null && type !== void 0 ? type : null;\n this.config = config !== null && config !== void 0 ? config : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateOverlayInput(input === null || input === void 0 ? void 0 : input.overlayID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.config);\n }\n}\nclass UpdateOverlayOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateOverlayOutput();\n }\n}\nclass UpdatePickedupDetails {\n constructor(itemID, lotID, allocationID, fixedPriceItemID, isPickedUp, pickedUpByGuestID) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.allocationID = allocationID !== null && allocationID !== void 0 ? allocationID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePickedupDetails(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.allocationID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID);\n }\n}\nclass UpdatePickedUpInput {\n constructor(organizationID, eventID, userID, transactionID, updatePickedupDetails) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.updatePickedupDetails = updatePickedupDetails !== null && updatePickedupDetails !== void 0 ? updatePickedupDetails : [];\n }\n convertUnexpectedNulls() {\n if (!this.updatePickedupDetails) {\n this.updatePickedupDetails = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.updatePickedupDetails.length; i0 += 1) {\n this.updatePickedupDetails[i0] = UpdatePickedupDetails.fromObject(this.updatePickedupDetails[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdatePickedUpInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.updatePickedupDetails);\n }\n}\nclass UpdatePickedUpOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePickedUpOutput();\n }\n}\nclass UpdatePickupItemInput {\n constructor(id, organizationID, eventID, pickupTimeSlot, isPickedUp, isReadyPickUp, pickedUpByGuestID, pickupPreference) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.pickupTimeSlot = pickupTimeSlot !== null && pickupTimeSlot !== void 0 ? pickupTimeSlot : null;\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : null;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : null;\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : null;\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : null;\n }\n convertDates() {\n if (this.pickupTimeSlot !== undefined && this.pickupTimeSlot !== null) {\n this.pickupTimeSlot = this.pickupTimeSlot ? new Date(this.pickupTimeSlot) : this.pickupTimeSlot;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePickupItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.pickupTimeSlot, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID, input === null || input === void 0 ? void 0 : input.pickupPreference);\n }\n}\nclass UpdatePickupItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePickupItemOutput();\n }\n}\nclass UpdatePickupPreferenceInput {\n constructor(organizationID, eventID, transactionID, pickupItems) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.pickupItems = pickupItems !== null && pickupItems !== void 0 ? pickupItems : [];\n }\n convertDates() {\n if (!this.pickupItems) {\n this.pickupItems = [];\n }\n for (let i0 = 0; i0 < this.pickupItems.length; i0 += 1) {\n this.pickupItems[i0] = this.pickupItems[i0] ? this.pickupItems[i0].convertDates() : this.pickupItems[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.pickupItems) {\n this.pickupItems = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.pickupItems.length; i0 += 1) {\n this.pickupItems[i0] = PickupItems.fromObject(this.pickupItems[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdatePickupPreferenceInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.pickupItems);\n }\n}\nclass UpdatePickupPreferenceOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePickupPreferenceOutput();\n }\n}\nclass UpdatePreEventQuestionConfigInput {\n constructor(preEventQuestionConfigID, organizationID, eventID, questionOnePrompt, questionOneActive, questionTwoPrompt, questionTwoActive, questionThreePrompt, questionThreeActive) {\n this.preEventQuestionConfigID = preEventQuestionConfigID !== null && preEventQuestionConfigID !== void 0 ? preEventQuestionConfigID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.questionOnePrompt = questionOnePrompt !== null && questionOnePrompt !== void 0 ? questionOnePrompt : null;\n this.questionOneActive = questionOneActive !== null && questionOneActive !== void 0 ? questionOneActive : null;\n this.questionTwoPrompt = questionTwoPrompt !== null && questionTwoPrompt !== void 0 ? questionTwoPrompt : null;\n this.questionTwoActive = questionTwoActive !== null && questionTwoActive !== void 0 ? questionTwoActive : null;\n this.questionThreePrompt = questionThreePrompt !== null && questionThreePrompt !== void 0 ? questionThreePrompt : null;\n this.questionThreeActive = questionThreeActive !== null && questionThreeActive !== void 0 ? questionThreeActive : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePreEventQuestionConfigInput(input === null || input === void 0 ? void 0 : input.preEventQuestionConfigID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.questionOnePrompt, input === null || input === void 0 ? void 0 : input.questionOneActive, input === null || input === void 0 ? void 0 : input.questionTwoPrompt, input === null || input === void 0 ? void 0 : input.questionTwoActive, input === null || input === void 0 ? void 0 : input.questionThreePrompt, input === null || input === void 0 ? void 0 : input.questionThreeActive);\n }\n}\nclass UpdatePreEventQuestionConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePreEventQuestionConfigOutput();\n }\n}\nclass UpdatePurchasedItemInput {\n constructor(id, organizationID, eventID, userID, guestID, amountCents) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : null;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : null;\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchasedItemInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.amountCents);\n }\n}\nclass UpdatePurchasedItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchasedItemOutput();\n }\n}\nclass UpdatePurchasedItemSalesTaxInput {\n constructor(id, organizationID, eventID, userID, guestID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : null;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchasedItemSalesTaxInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass UpdatePurchasedItemSalesTaxOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchasedItemSalesTaxOutput();\n }\n}\nclass UpdateRegistrationInput {\n constructor(registrationID, organizationID, eventID, firstName, lastName, email, mobilePhone, wantEmailUpdates, wantSMSUpdates, greatfeatsParticipantID, detailsJSON) {\n this.registrationID = registrationID !== null && registrationID !== void 0 ? registrationID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : null;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : null;\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : null;\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateRegistrationInput(input === null || input === void 0 ? void 0 : input.registrationID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass UpdateRegistrationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateRegistrationOutput();\n }\n}\nclass UpdateSceneInput {\n constructor(sceneID, organizationID, eventID, showID, streamID, name, descriptionMarkdown, plannedDurationMinutes, estimatedDurationSeconds, type, thumbnailURL, defaultOverlayConfig, activeOverlayConfig, isCurtain, inheritDefaultStream, streamType, zoomMeetingNumber, zoomPassWord, url) {\n this.sceneID = sceneID !== null && sceneID !== void 0 ? sceneID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.streamID = streamID !== null && streamID !== void 0 ? streamID : null;\n this.name = name !== null && name !== void 0 ? name : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.plannedDurationMinutes = plannedDurationMinutes !== null && plannedDurationMinutes !== void 0 ? plannedDurationMinutes : null;\n this.estimatedDurationSeconds = estimatedDurationSeconds !== null && estimatedDurationSeconds !== void 0 ? estimatedDurationSeconds : null;\n this.type = type !== null && type !== void 0 ? type : null;\n this.thumbnailURL = thumbnailURL !== null && thumbnailURL !== void 0 ? thumbnailURL : null;\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : null;\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : null;\n this.isCurtain = isCurtain !== null && isCurtain !== void 0 ? isCurtain : null;\n this.inheritDefaultStream = inheritDefaultStream !== null && inheritDefaultStream !== void 0 ? inheritDefaultStream : null;\n this.streamType = streamType !== null && streamType !== void 0 ? streamType : null;\n this.zoomMeetingNumber = zoomMeetingNumber !== null && zoomMeetingNumber !== void 0 ? zoomMeetingNumber : null;\n this.zoomPassWord = zoomPassWord !== null && zoomPassWord !== void 0 ? zoomPassWord : null;\n this.url = url !== null && url !== void 0 ? url : null;\n }\n convertUnexpectedNulls() {\n if (this.defaultOverlayConfig !== null) {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n }\n if (this.activeOverlayConfig !== null) {\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n }\n return this;\n }\n fixClasses() {\n if (this.defaultOverlayConfig !== null) {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n }\n if (this.activeOverlayConfig !== null) {\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateSceneInput(input === null || input === void 0 ? void 0 : input.sceneID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.streamID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.plannedDurationMinutes, input === null || input === void 0 ? void 0 : input.estimatedDurationSeconds, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.thumbnailURL, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.isCurtain, input === null || input === void 0 ? void 0 : input.inheritDefaultStream, input === null || input === void 0 ? void 0 : input.streamType, input === null || input === void 0 ? void 0 : input.zoomMeetingNumber, input === null || input === void 0 ? void 0 : input.zoomPassWord, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass UpdateSceneOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateSceneOutput();\n }\n}\nclass UpdateShowInput {\n constructor(showID, organizationID, eventID, name, descriptionMarkdown, sceneOrderIDs, activeSceneID, defaultOverlayConfig, overrideOverlayConfig, activeOverlayConfig, defaultStreamType, defaultStreamID, zoomMeetingNumber, zoomPassword, url, isChangingScene) {\n this.showID = showID !== null && showID !== void 0 ? showID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.sceneOrderIDs = sceneOrderIDs !== null && sceneOrderIDs !== void 0 ? sceneOrderIDs : null;\n this.activeSceneID = activeSceneID !== null && activeSceneID !== void 0 ? activeSceneID : null;\n this.defaultOverlayConfig = defaultOverlayConfig !== null && defaultOverlayConfig !== void 0 ? defaultOverlayConfig : null;\n this.overrideOverlayConfig = overrideOverlayConfig !== null && overrideOverlayConfig !== void 0 ? overrideOverlayConfig : null;\n this.activeOverlayConfig = activeOverlayConfig !== null && activeOverlayConfig !== void 0 ? activeOverlayConfig : null;\n this.defaultStreamType = defaultStreamType !== null && defaultStreamType !== void 0 ? defaultStreamType : null;\n this.defaultStreamID = defaultStreamID !== null && defaultStreamID !== void 0 ? defaultStreamID : null;\n this.zoomMeetingNumber = zoomMeetingNumber !== null && zoomMeetingNumber !== void 0 ? zoomMeetingNumber : null;\n this.zoomPassword = zoomPassword !== null && zoomPassword !== void 0 ? zoomPassword : null;\n this.url = url !== null && url !== void 0 ? url : null;\n this.isChangingScene = isChangingScene !== null && isChangingScene !== void 0 ? isChangingScene : null;\n }\n convertUnexpectedNulls() {\n if (this.defaultOverlayConfig !== null) {\n this.defaultOverlayConfig = this.defaultOverlayConfig ? this.defaultOverlayConfig.convertUnexpectedNulls() : this.defaultOverlayConfig;\n }\n if (this.overrideOverlayConfig !== null) {\n this.overrideOverlayConfig = this.overrideOverlayConfig ? this.overrideOverlayConfig.convertUnexpectedNulls() : this.overrideOverlayConfig;\n }\n if (this.activeOverlayConfig !== null) {\n this.activeOverlayConfig = this.activeOverlayConfig ? this.activeOverlayConfig.convertUnexpectedNulls() : this.activeOverlayConfig;\n }\n return this;\n }\n fixClasses() {\n if (this.defaultOverlayConfig !== null) {\n this.defaultOverlayConfig = OverlayConfiguration.fromObject(this.defaultOverlayConfig).fixClasses();\n }\n if (this.overrideOverlayConfig !== null) {\n this.overrideOverlayConfig = OverlayConfiguration.fromObject(this.overrideOverlayConfig).fixClasses();\n }\n if (this.activeOverlayConfig !== null) {\n this.activeOverlayConfig = OverlayConfiguration.fromObject(this.activeOverlayConfig).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateShowInput(input === null || input === void 0 ? void 0 : input.showID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.sceneOrderIDs, input === null || input === void 0 ? void 0 : input.activeSceneID, input === null || input === void 0 ? void 0 : input.defaultOverlayConfig, input === null || input === void 0 ? void 0 : input.overrideOverlayConfig, input === null || input === void 0 ? void 0 : input.activeOverlayConfig, input === null || input === void 0 ? void 0 : input.defaultStreamType, input === null || input === void 0 ? void 0 : input.defaultStreamID, input === null || input === void 0 ? void 0 : input.zoomMeetingNumber, input === null || input === void 0 ? void 0 : input.zoomPassword, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.isChangingScene);\n }\n}\nclass UpdateShowOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateShowOutput();\n }\n}\nclass UpdateTicketAndInviteProxyGuestInput {\n constructor(organizationID, eventID, ticketID, guestID, proxyGuestID, attendeeFirstName, attendeeLastName, attendeeEmail) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : null;\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : null;\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketAndInviteProxyGuestInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail);\n }\n}\nclass UpdateTicketAndInviteProxyGuestOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketAndInviteProxyGuestOutput();\n }\n}\nclass UpdateTicketInput$1 {\n constructor(organizationID, eventID, ticketID, ticketTypeID, attendeeFirstName, attendeeLastName, attendeeEmail, attendeeMobilePhone, editTicketKey, ticketOptionAnswers) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.attendeeFirstName = attendeeFirstName !== null && attendeeFirstName !== void 0 ? attendeeFirstName : null;\n this.attendeeLastName = attendeeLastName !== null && attendeeLastName !== void 0 ? attendeeLastName : null;\n this.attendeeEmail = attendeeEmail !== null && attendeeEmail !== void 0 ? attendeeEmail : null;\n this.attendeeMobilePhone = attendeeMobilePhone !== null && attendeeMobilePhone !== void 0 ? attendeeMobilePhone : null;\n this.editTicketKey = editTicketKey !== null && editTicketKey !== void 0 ? editTicketKey : null;\n this.ticketOptionAnswers = ticketOptionAnswers !== null && ticketOptionAnswers !== void 0 ? ticketOptionAnswers : [];\n }\n convertUnexpectedNulls() {\n if (!this.ticketOptionAnswers) {\n this.ticketOptionAnswers = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.ticketOptionAnswers.length; i0 += 1) {\n this.ticketOptionAnswers[i0] = CreateOrUpdateTicketOptionAnswer.fromObject(this.ticketOptionAnswers[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketInput$1(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.attendeeFirstName, input === null || input === void 0 ? void 0 : input.attendeeLastName, input === null || input === void 0 ? void 0 : input.attendeeEmail, input === null || input === void 0 ? void 0 : input.attendeeMobilePhone, input === null || input === void 0 ? void 0 : input.editTicketKey, input === null || input === void 0 ? void 0 : input.ticketOptionAnswers);\n }\n}\nclass UpdateTicketOutput$1 {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketOutput$1();\n }\n}\nclass UpdateTicketTypeAndConfigInput {\n constructor(organizationID, eventID, eventSessionID, eventSessionTicketConfigID, ticketTypeID, name, description, maxTickets, quantityPerGroup, priceCents, valueCents, active, attendanceType, ticketOptions) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventSessionID = eventSessionID !== null && eventSessionID !== void 0 ? eventSessionID : \"\";\n this.eventSessionTicketConfigID = eventSessionTicketConfigID !== null && eventSessionTicketConfigID !== void 0 ? eventSessionTicketConfigID : \"\";\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.maxTickets = maxTickets !== null && maxTickets !== void 0 ? maxTickets : null;\n this.quantityPerGroup = quantityPerGroup !== null && quantityPerGroup !== void 0 ? quantityPerGroup : null;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : null;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : null;\n this.active = active !== null && active !== void 0 ? active : null;\n this.attendanceType = attendanceType !== null && attendanceType !== void 0 ? attendanceType : null;\n this.ticketOptions = ticketOptions !== null && ticketOptions !== void 0 ? ticketOptions : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketTypeAndConfigInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventSessionID, input === null || input === void 0 ? void 0 : input.eventSessionTicketConfigID, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.maxTickets, input === null || input === void 0 ? void 0 : input.quantityPerGroup, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.active, input === null || input === void 0 ? void 0 : input.attendanceType, input === null || input === void 0 ? void 0 : input.ticketOptions);\n }\n}\nclass UpdateTicketTypeAndConfigOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketTypeAndConfigOutput();\n }\n}\nclass UpdateVirtualChairInput {\n constructor(id, organizationID, virtualEventID, virtualTableID, userEmail, userFirstName, userLastName, channelName, channelARN) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.userEmail = userEmail !== null && userEmail !== void 0 ? userEmail : null;\n this.userFirstName = userFirstName !== null && userFirstName !== void 0 ? userFirstName : null;\n this.userLastName = userLastName !== null && userLastName !== void 0 ? userLastName : null;\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : null;\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateVirtualChairInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.userEmail, input === null || input === void 0 ? void 0 : input.userFirstName, input === null || input === void 0 ? void 0 : input.userLastName, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN);\n }\n}\nclass UpdateVirtualChairOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateVirtualChairOutput();\n }\n}\nclass UpdateVirtualTableInput {\n constructor(id, organizationID, virtualEventID, name, tableNumber) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateVirtualTableInput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.tableNumber);\n }\n}\nclass UpdateVirtualTableOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateVirtualTableOutput();\n }\n}\nclass UploadInvitationsInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadInvitationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass UploadInvitationsOutput {\n constructor(numDuplicates, numErrors, numSuccess) {\n this.numDuplicates = numDuplicates !== null && numDuplicates !== void 0 ? numDuplicates : 0;\n this.numErrors = numErrors !== null && numErrors !== void 0 ? numErrors : 0;\n this.numSuccess = numSuccess !== null && numSuccess !== void 0 ? numSuccess : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadInvitationsOutput(input === null || input === void 0 ? void 0 : input.numDuplicates, input === null || input === void 0 ? void 0 : input.numErrors, input === null || input === void 0 ? void 0 : input.numSuccess);\n }\n}\nclass UploadTableDataCSVInput {\n constructor(organizationID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadTableDataCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass UploadTableDataCSVOutput {\n constructor(numErrors) {\n this.numErrors = numErrors !== null && numErrors !== void 0 ? numErrors : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadTableDataCSVOutput(input === null || input === void 0 ? void 0 : input.numErrors);\n }\n}\nclass ValidateVirtualTableCreationInput {\n constructor(organizationID, virtualEventID, tables) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.tables = tables !== null && tables !== void 0 ? tables : [];\n }\n convertUnexpectedNulls() {\n if (!this.tables) {\n this.tables = [];\n }\n for (let i0 = 0; i0 < this.tables.length; i0 += 1) {\n this.tables[i0] = this.tables[i0] ? this.tables[i0].convertUnexpectedNulls() : this.tables[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.tables.length; i0 += 1) {\n this.tables[i0] = Table.fromObject(this.tables[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ValidateVirtualTableCreationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.tables);\n }\n}\nclass ValidateVirtualTableCreationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ValidateVirtualTableCreationOutput();\n }\n}\nclass ViewBannedLivestreamChatUserRegistrationsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewBannedLivestreamChatUserRegistrationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewBannedLivestreamChatUserRegistrationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewBannedLivestreamChatUserRegistrationsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewBannedLivestreamChatUserRegistrationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewBannedLivestreamChatUserRegistrationsSummary {\n constructor(organizationID, eventID, id, firstName, lastName, email, mobilePhone, userID, accessCode, wantEmailUpdates, wantSMSUpdates) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.accessCode = accessCode !== null && accessCode !== void 0 ? accessCode : \"\";\n this.wantEmailUpdates = wantEmailUpdates !== null && wantEmailUpdates !== void 0 ? wantEmailUpdates : false;\n this.wantSMSUpdates = wantSMSUpdates !== null && wantSMSUpdates !== void 0 ? wantSMSUpdates : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewBannedLivestreamChatUserRegistrationsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.accessCode, input === null || input === void 0 ? void 0 : input.wantEmailUpdates, input === null || input === void 0 ? void 0 : input.wantSMSUpdates);\n }\n}\nclass ViewBannedLivestreamChatUserRegistrationsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewBannedLivestreamChatUserRegistrationsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationItemInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationItemOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewDonationItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewDonationItemOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationItemSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, email, mobilePhone, paddleNumber, amountCents, amountDollars, impactName, type, transactionID, transactionStatus, purchaseID, paidBy, sharedCart, sharedCartPrimary) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.paddleNumber = paddleNumber !== null && paddleNumber !== void 0 ? paddleNumber : 0;\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.amountDollars = amountDollars !== null && amountDollars !== void 0 ? amountDollars : \"\";\n this.impactName = impactName !== null && impactName !== void 0 ? impactName : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.paidBy = paidBy !== null && paidBy !== void 0 ? paidBy : \"\";\n this.sharedCart = sharedCart !== null && sharedCart !== void 0 ? sharedCart : \"\";\n this.sharedCartPrimary = sharedCartPrimary !== null && sharedCartPrimary !== void 0 ? sharedCartPrimary : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.paddleNumber, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.amountDollars, input === null || input === void 0 ? void 0 : input.impactName, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.paidBy, input === null || input === void 0 ? void 0 : input.sharedCart, input === null || input === void 0 ? void 0 : input.sharedCartPrimary);\n }\n}\nclass ViewDonationItemToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationItemToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationsByDayInput {\n constructor(organizationID, eventID, timeZone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.timeZone = timeZone !== null && timeZone !== void 0 ? timeZone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationsByDayInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.timeZone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationsByDayOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewDonationsByDaySummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewDonationsByDayOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationsByDaySummary {\n constructor(organizationID, eventID, oneTimeDonationsCount, oneTimeDonationsAmountCents, groupDate) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.oneTimeDonationsCount = oneTimeDonationsCount !== null && oneTimeDonationsCount !== void 0 ? oneTimeDonationsCount : 0;\n this.oneTimeDonationsAmountCents = oneTimeDonationsAmountCents !== null && oneTimeDonationsAmountCents !== void 0 ? oneTimeDonationsAmountCents : \"\";\n this.groupDate = groupDate !== null && groupDate !== void 0 ? groupDate : new Date();\n }\n convertDates() {\n this.groupDate = this.groupDate ? new Date(this.groupDate) : this.groupDate;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationsByDaySummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.oneTimeDonationsCount, input === null || input === void 0 ? void 0 : input.oneTimeDonationsAmountCents, input === null || input === void 0 ? void 0 : input.groupDate);\n }\n}\nclass ViewDonationsByDayToCSVInput {\n constructor(organizationID, eventID, timeZone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.timeZone = timeZone !== null && timeZone !== void 0 ? timeZone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationsByDayToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.timeZone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationSumPerDonorInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationSumPerDonorInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationSumPerDonorOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewDonationSumPerDonorSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewDonationSumPerDonorOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewDonationSumPerDonorSummary {\n constructor(organizationID, eventID, firstName, lastName, donatedAmountCents, created) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.donatedAmountCents = donatedAmountCents !== null && donatedAmountCents !== void 0 ? donatedAmountCents : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationSumPerDonorSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.donatedAmountCents, input === null || input === void 0 ? void 0 : input.created);\n }\n}\nclass ViewDonationSumPerDonorToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewDonationSumPerDonorToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationPurchasesInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationPurchasesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationPurchasesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewEventRegistrationPurchasesSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationPurchasesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationPurchasesSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, fullName, userID, email, mobilePhone, ticketCount, totalProceedsAmountCents, cartCount, purchasedItemCount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.fullName = fullName !== null && fullName !== void 0 ? fullName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.ticketCount = ticketCount !== null && ticketCount !== void 0 ? ticketCount : 0;\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.cartCount = cartCount !== null && cartCount !== void 0 ? cartCount : 0;\n this.purchasedItemCount = purchasedItemCount !== null && purchasedItemCount !== void 0 ? purchasedItemCount : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationPurchasesSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.fullName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.ticketCount, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.cartCount, input === null || input === void 0 ? void 0 : input.purchasedItemCount);\n }\n}\nclass ViewEventRegistrationPurchasesToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationPurchasesToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsByDayInput {\n constructor(organizationID, eventID, timeZone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.timeZone = timeZone !== null && timeZone !== void 0 ? timeZone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsByDayInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.timeZone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsByDayOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewEventRegistrationsByDaySummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsByDayOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsByDaySummary {\n constructor(organizationID, eventID, eventRegistrationsCount, groupDate) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.eventRegistrationsCount = eventRegistrationsCount !== null && eventRegistrationsCount !== void 0 ? eventRegistrationsCount : 0;\n this.groupDate = groupDate !== null && groupDate !== void 0 ? groupDate : new Date();\n }\n convertDates() {\n this.groupDate = this.groupDate ? new Date(this.groupDate) : this.groupDate;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsByDaySummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.eventRegistrationsCount, input === null || input === void 0 ? void 0 : input.groupDate);\n }\n}\nclass ViewEventRegistrationsByDayToCSVInput {\n constructor(organizationID, eventID, timeZone, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.timeZone = timeZone !== null && timeZone !== void 0 ? timeZone : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsByDayToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.timeZone, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewEventRegistrationsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewEventRegistrationsSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, email, mobilePhone, paidStatus) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.paidStatus = paidStatus !== null && paidStatus !== void 0 ? paidStatus : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.paidStatus);\n }\n}\nclass ViewEventRegistrationsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewEventRegistrationsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewFixedPriceDetailsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewFixedPriceDetailsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewFixedPriceDetailsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewFixedPriceDetailsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewFixedPriceDetailsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewFixedPriceDetailsSummary {\n constructor(organizationID, eventID, id, name, priceCents, valueCents, isTaxable, description, numPurchased, maxNumAvailable, numUnlimited, inPersonOnly, pickupLater, pickupTonight, isPickUpEventLevel, sortOrder, impactID, hideFromFlow, photoID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.numPurchased = numPurchased !== null && numPurchased !== void 0 ? numPurchased : 0;\n this.maxNumAvailable = maxNumAvailable !== null && maxNumAvailable !== void 0 ? maxNumAvailable : 0;\n this.numUnlimited = numUnlimited !== null && numUnlimited !== void 0 ? numUnlimited : false;\n this.inPersonOnly = inPersonOnly !== null && inPersonOnly !== void 0 ? inPersonOnly : false;\n this.pickupLater = pickupLater !== null && pickupLater !== void 0 ? pickupLater : false;\n this.pickupTonight = pickupTonight !== null && pickupTonight !== void 0 ? pickupTonight : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n this.sortOrder = sortOrder !== null && sortOrder !== void 0 ? sortOrder : 0;\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : false;\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewFixedPriceDetailsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.numPurchased, input === null || input === void 0 ? void 0 : input.maxNumAvailable, input === null || input === void 0 ? void 0 : input.numUnlimited, input === null || input === void 0 ? void 0 : input.inPersonOnly, input === null || input === void 0 ? void 0 : input.pickupLater, input === null || input === void 0 ? void 0 : input.pickupTonight, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.sortOrder, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass ViewFixedPriceDetailsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewFixedPriceDetailsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewGuestsWithPurchasedItemCountsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewGuestsWithPurchasedItemCountsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewGuestsWithPurchasedItemCountsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewGuestsWithPurchasedItemCountsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewGuestsWithPurchasedItemCountsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewGuestsWithPurchasedItemCountsSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, fullName, userID, guestID, email, mobilePhone, cartCount, purchasedItemCount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.fullName = fullName !== null && fullName !== void 0 ? fullName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.cartCount = cartCount !== null && cartCount !== void 0 ? cartCount : 0;\n this.purchasedItemCount = purchasedItemCount !== null && purchasedItemCount !== void 0 ? purchasedItemCount : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewGuestsWithPurchasedItemCountsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.fullName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.cartCount, input === null || input === void 0 ? void 0 : input.purchasedItemCount);\n }\n}\nclass ViewGuestsWithPurchasedItemCountsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewGuestsWithPurchasedItemCountsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewImpactsForOrgInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewImpactsForOrgInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewImpactsForOrgOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewImpactsForOrgSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewImpactsForOrgOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewImpactsForOrgSummary {\n constructor(organizationID, id, eventID, name, amountCents, descriptionMarkdown, totalPurchasesLimit, totalPurchasesCountDisplayThreshold, totalPurchasesAmountCentsDisplayThreshold, totalPurchasesCount, totalPurchasesAmountCents, goalType, goalPurchasesCount, goalPurchasesCountDisplayThreshold, goalPurchasesCountMetOn, goalPurchasesAmountCents, goalPurchasesAmountCentsDisplayThreshold, goalPurchasesAmountCentsMetOn, goalMetMessageSentOn, goalMetEmailSubject, goalMetEmailBodyMarkdown, goalMetSMSBody, hideFromFlow, fixedPriceItemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.totalPurchasesLimit = totalPurchasesLimit !== null && totalPurchasesLimit !== void 0 ? totalPurchasesLimit : 0;\n this.totalPurchasesCountDisplayThreshold = totalPurchasesCountDisplayThreshold !== null && totalPurchasesCountDisplayThreshold !== void 0 ? totalPurchasesCountDisplayThreshold : 0;\n this.totalPurchasesAmountCentsDisplayThreshold = totalPurchasesAmountCentsDisplayThreshold !== null && totalPurchasesAmountCentsDisplayThreshold !== void 0 ? totalPurchasesAmountCentsDisplayThreshold : 0;\n this.totalPurchasesCount = totalPurchasesCount !== null && totalPurchasesCount !== void 0 ? totalPurchasesCount : 0;\n this.totalPurchasesAmountCents = totalPurchasesAmountCents !== null && totalPurchasesAmountCents !== void 0 ? totalPurchasesAmountCents : 0;\n this.goalType = goalType !== null && goalType !== void 0 ? goalType : \"\";\n this.goalPurchasesCount = goalPurchasesCount !== null && goalPurchasesCount !== void 0 ? goalPurchasesCount : 0;\n this.goalPurchasesCountDisplayThreshold = goalPurchasesCountDisplayThreshold !== null && goalPurchasesCountDisplayThreshold !== void 0 ? goalPurchasesCountDisplayThreshold : 0;\n this.goalPurchasesCountMetOn = goalPurchasesCountMetOn !== null && goalPurchasesCountMetOn !== void 0 ? goalPurchasesCountMetOn : null;\n this.goalPurchasesAmountCents = goalPurchasesAmountCents !== null && goalPurchasesAmountCents !== void 0 ? goalPurchasesAmountCents : 0;\n this.goalPurchasesAmountCentsDisplayThreshold = goalPurchasesAmountCentsDisplayThreshold !== null && goalPurchasesAmountCentsDisplayThreshold !== void 0 ? goalPurchasesAmountCentsDisplayThreshold : 0;\n this.goalPurchasesAmountCentsMetOn = goalPurchasesAmountCentsMetOn !== null && goalPurchasesAmountCentsMetOn !== void 0 ? goalPurchasesAmountCentsMetOn : null;\n this.goalMetMessageSentOn = goalMetMessageSentOn !== null && goalMetMessageSentOn !== void 0 ? goalMetMessageSentOn : null;\n this.goalMetEmailSubject = goalMetEmailSubject !== null && goalMetEmailSubject !== void 0 ? goalMetEmailSubject : \"\";\n this.goalMetEmailBodyMarkdown = goalMetEmailBodyMarkdown !== null && goalMetEmailBodyMarkdown !== void 0 ? goalMetEmailBodyMarkdown : \"\";\n this.goalMetSMSBody = goalMetSMSBody !== null && goalMetSMSBody !== void 0 ? goalMetSMSBody : \"\";\n this.hideFromFlow = hideFromFlow !== null && hideFromFlow !== void 0 ? hideFromFlow : false;\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n }\n convertDates() {\n if (this.goalPurchasesCountMetOn !== undefined && this.goalPurchasesCountMetOn !== null) {\n this.goalPurchasesCountMetOn = this.goalPurchasesCountMetOn ? new Date(this.goalPurchasesCountMetOn) : this.goalPurchasesCountMetOn;\n }\n if (this.goalPurchasesAmountCentsMetOn !== undefined && this.goalPurchasesAmountCentsMetOn !== null) {\n this.goalPurchasesAmountCentsMetOn = this.goalPurchasesAmountCentsMetOn ? new Date(this.goalPurchasesAmountCentsMetOn) : this.goalPurchasesAmountCentsMetOn;\n }\n if (this.goalMetMessageSentOn !== undefined && this.goalMetMessageSentOn !== null) {\n this.goalMetMessageSentOn = this.goalMetMessageSentOn ? new Date(this.goalMetMessageSentOn) : this.goalMetMessageSentOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewImpactsForOrgSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.totalPurchasesLimit, input === null || input === void 0 ? void 0 : input.totalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.totalPurchasesCount, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalType, input === null || input === void 0 ? void 0 : input.goalPurchasesCount, input === null || input === void 0 ? void 0 : input.goalPurchasesCountDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesCountMetOn, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCents, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsDisplayThreshold, input === null || input === void 0 ? void 0 : input.goalPurchasesAmountCentsMetOn, input === null || input === void 0 ? void 0 : input.goalMetMessageSentOn, input === null || input === void 0 ? void 0 : input.goalMetEmailSubject, input === null || input === void 0 ? void 0 : input.goalMetEmailBodyMarkdown, input === null || input === void 0 ? void 0 : input.goalMetSMSBody, input === null || input === void 0 ? void 0 : input.hideFromFlow, input === null || input === void 0 ? void 0 : input.fixedPriceItemID);\n }\n}\nclass ViewPurchasedItemAnonymousInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemAnonymousInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewPurchasedItemAnonymousOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewPurchasedItemAnonymousSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemAnonymousOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewPurchasedItemAnonymousSummary {\n constructor(organizationID, eventID, id, created, firstName, lastName, userID, guestID, email, mobilePhone, amountCents, amountDollars, type, impactID, auctionID, lotID, ticketID, payAfterEvent, purchaseID, transactionStatus, transactionID, isPaid, refundID, isExternal, isAnonymous) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.amountDollars = amountDollars !== null && amountDollars !== void 0 ? amountDollars : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.isPaid = isPaid !== null && isPaid !== void 0 ? isPaid : false;\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.isExternal = isExternal !== null && isExternal !== void 0 ? isExternal : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemAnonymousSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.amountDollars, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.isPaid, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.isExternal, input === null || input === void 0 ? void 0 : input.isAnonymous);\n }\n}\nclass ViewPurchasedItemAnonymousToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemAnonymousToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewPurchasedItemInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewPurchasedItemOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewPurchasedItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewPurchasedItemSummary {\n constructor(organizationID, eventID, id, created, deleted, firstName, lastName, userID, guestID, email, mobilePhone, amountCents, amountDollars, type, impactID, auctionID, lotID, ticketID, fixedPriceItemID, payAfterEvent, purchaseID, transactionStatus, transactionID, isPaid, refundID, isExternal, isAnonymous, bidderNumber, purchasedItemSalesTaxID, salesTaxPercent, salesTaxAmountCents, salesTaxAmountDollars, salesTaxPurchaseID, salesTaxTransactionStatus, salesTaxTransactionID, salesTaxRefundID, paidByGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.amountDollars = amountDollars !== null && amountDollars !== void 0 ? amountDollars : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.impactID = impactID !== null && impactID !== void 0 ? impactID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.payAfterEvent = payAfterEvent !== null && payAfterEvent !== void 0 ? payAfterEvent : false;\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.isPaid = isPaid !== null && isPaid !== void 0 ? isPaid : false;\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.isExternal = isExternal !== null && isExternal !== void 0 ? isExternal : false;\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.bidderNumber = bidderNumber !== null && bidderNumber !== void 0 ? bidderNumber : 0;\n this.purchasedItemSalesTaxID = purchasedItemSalesTaxID !== null && purchasedItemSalesTaxID !== void 0 ? purchasedItemSalesTaxID : \"\";\n this.salesTaxPercent = salesTaxPercent !== null && salesTaxPercent !== void 0 ? salesTaxPercent : 0;\n this.salesTaxAmountCents = salesTaxAmountCents !== null && salesTaxAmountCents !== void 0 ? salesTaxAmountCents : 0;\n this.salesTaxAmountDollars = salesTaxAmountDollars !== null && salesTaxAmountDollars !== void 0 ? salesTaxAmountDollars : \"\";\n this.salesTaxPurchaseID = salesTaxPurchaseID !== null && salesTaxPurchaseID !== void 0 ? salesTaxPurchaseID : \"\";\n this.salesTaxTransactionStatus = salesTaxTransactionStatus !== null && salesTaxTransactionStatus !== void 0 ? salesTaxTransactionStatus : \"\";\n this.salesTaxTransactionID = salesTaxTransactionID !== null && salesTaxTransactionID !== void 0 ? salesTaxTransactionID : \"\";\n this.salesTaxRefundID = salesTaxRefundID !== null && salesTaxRefundID !== void 0 ? salesTaxRefundID : \"\";\n this.paidByGuestID = paidByGuestID !== null && paidByGuestID !== void 0 ? paidByGuestID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.amountDollars, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.impactID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.payAfterEvent, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.isPaid, input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.isExternal, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.bidderNumber, input === null || input === void 0 ? void 0 : input.purchasedItemSalesTaxID, input === null || input === void 0 ? void 0 : input.salesTaxPercent, input === null || input === void 0 ? void 0 : input.salesTaxAmountCents, input === null || input === void 0 ? void 0 : input.salesTaxAmountDollars, input === null || input === void 0 ? void 0 : input.salesTaxPurchaseID, input === null || input === void 0 ? void 0 : input.salesTaxTransactionStatus, input === null || input === void 0 ? void 0 : input.salesTaxTransactionID, input === null || input === void 0 ? void 0 : input.salesTaxRefundID, input === null || input === void 0 ? void 0 : input.paidByGuestID);\n }\n}\nclass ViewPurchasedItemToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewPurchasedItemToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewRecentDonorsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewRecentDonorsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewRecentDonorsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewRecentDonorsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewRecentDonorsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewRecentDonorsSummary {\n constructor(organizationID, eventID, firstName, lastName, donatedAmountCents, itemDetails, created, deleted) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.donatedAmountCents = donatedAmountCents !== null && donatedAmountCents !== void 0 ? donatedAmountCents : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewRecentDonorsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.donatedAmountCents, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted);\n }\n}\nclass ViewRecentDonorsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewRecentDonorsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSearchGuestsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSearchGuestsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSearchGuestsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSearchGuestsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewSearchGuestsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSearchGuestsSummary {\n constructor(organizationID, eventID, guestID, guestUserID, guestFirstName, guestLastName, guestEmail, guestMobilePhone, managingGuestID, managingGuestFirstName, managingGuestLastName) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.guestUserID = guestUserID !== null && guestUserID !== void 0 ? guestUserID : \"\";\n this.guestFirstName = guestFirstName !== null && guestFirstName !== void 0 ? guestFirstName : \"\";\n this.guestLastName = guestLastName !== null && guestLastName !== void 0 ? guestLastName : \"\";\n this.guestEmail = guestEmail !== null && guestEmail !== void 0 ? guestEmail : \"\";\n this.guestMobilePhone = guestMobilePhone !== null && guestMobilePhone !== void 0 ? guestMobilePhone : \"\";\n this.managingGuestID = managingGuestID !== null && managingGuestID !== void 0 ? managingGuestID : \"\";\n this.managingGuestFirstName = managingGuestFirstName !== null && managingGuestFirstName !== void 0 ? managingGuestFirstName : \"\";\n this.managingGuestLastName = managingGuestLastName !== null && managingGuestLastName !== void 0 ? managingGuestLastName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSearchGuestsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.guestUserID, input === null || input === void 0 ? void 0 : input.guestFirstName, input === null || input === void 0 ? void 0 : input.guestLastName, input === null || input === void 0 ? void 0 : input.guestEmail, input === null || input === void 0 ? void 0 : input.guestMobilePhone, input === null || input === void 0 ? void 0 : input.managingGuestID, input === null || input === void 0 ? void 0 : input.managingGuestFirstName, input === null || input === void 0 ? void 0 : input.managingGuestLastName);\n }\n}\nclass ViewSearchGuestsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSearchGuestsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewStatusSumItemsInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewStatusSumItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewStatusSumItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewStatusSumItemsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewStatusSumItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewStatusSumItemsSummary {\n constructor(organizationID, eventID, type, sumPaid, sumPending, sumFailed, sumRefunded) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.sumPaid = sumPaid !== null && sumPaid !== void 0 ? sumPaid : 0;\n this.sumPending = sumPending !== null && sumPending !== void 0 ? sumPending : 0;\n this.sumFailed = sumFailed !== null && sumFailed !== void 0 ? sumFailed : 0;\n this.sumRefunded = sumRefunded !== null && sumRefunded !== void 0 ? sumRefunded : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewStatusSumItemsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.sumPaid, input === null || input === void 0 ? void 0 : input.sumPending, input === null || input === void 0 ? void 0 : input.sumFailed, input === null || input === void 0 ? void 0 : input.sumRefunded);\n }\n}\nclass ViewStatusSumItemsToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewStatusSumItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemByPickupTimeInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemByPickupTimeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemByPickupTimeOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSupporterPurchasedItemByPickupTimeSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemByPickupTimeOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemByPickupTimeSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, fullName, cartFullNameList, userID, guestID, email, mobilePhone, ticketCount, totalProceedsAmountCents, cartCount, purchasedItemCount, purchasedCheckoutItemCount, checkoutItemCount, isPaid, notPickedUpCount, pickedUpCount, pickupTimeframe) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.fullName = fullName !== null && fullName !== void 0 ? fullName : \"\";\n this.cartFullNameList = cartFullNameList !== null && cartFullNameList !== void 0 ? cartFullNameList : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.ticketCount = ticketCount !== null && ticketCount !== void 0 ? ticketCount : 0;\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.cartCount = cartCount !== null && cartCount !== void 0 ? cartCount : 0;\n this.purchasedItemCount = purchasedItemCount !== null && purchasedItemCount !== void 0 ? purchasedItemCount : 0;\n this.purchasedCheckoutItemCount = purchasedCheckoutItemCount !== null && purchasedCheckoutItemCount !== void 0 ? purchasedCheckoutItemCount : 0;\n this.checkoutItemCount = checkoutItemCount !== null && checkoutItemCount !== void 0 ? checkoutItemCount : 0;\n this.isPaid = isPaid !== null && isPaid !== void 0 ? isPaid : 0;\n this.notPickedUpCount = notPickedUpCount !== null && notPickedUpCount !== void 0 ? notPickedUpCount : 0;\n this.pickedUpCount = pickedUpCount !== null && pickedUpCount !== void 0 ? pickedUpCount : 0;\n this.pickupTimeframe = pickupTimeframe !== null && pickupTimeframe !== void 0 ? pickupTimeframe : null;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.pickupTimeframe !== undefined && this.pickupTimeframe !== null) {\n this.pickupTimeframe = this.pickupTimeframe ? new Date(this.pickupTimeframe) : this.pickupTimeframe;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemByPickupTimeSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.fullName, input === null || input === void 0 ? void 0 : input.cartFullNameList, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.ticketCount, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.cartCount, input === null || input === void 0 ? void 0 : input.purchasedItemCount, input === null || input === void 0 ? void 0 : input.purchasedCheckoutItemCount, input === null || input === void 0 ? void 0 : input.checkoutItemCount, input === null || input === void 0 ? void 0 : input.isPaid, input === null || input === void 0 ? void 0 : input.notPickedUpCount, input === null || input === void 0 ? void 0 : input.pickedUpCount, input === null || input === void 0 ? void 0 : input.pickupTimeframe);\n }\n}\nclass ViewSupporterPurchasedItemByPickupTimeToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemByPickupTimeToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemDetailInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemDetailInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemDetailOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSupporterPurchasedItemDetailSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemDetailOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemDetailSummary {\n constructor(organizationID, eventID, purchasedItemID, userID, guestID, purchasedItemPrimaryGuestID, email, created, updated, amountCents, purchaseItemType, auctionID, lotID, inventoryAllocationID, itemID, fixedPriceItemID, transactionID, transactionStatus, purchaseID, itemDetails, pickupPreference, isPickedUp, pickupTimeframe, isReadyPickUp, fixedPriceItemName, fixedPriceItemDescription, fixedPriceItemPhotoURL, quantity, paidByGuestID, paidByFirstName, paidByLastName, pickedUpByGuestID, pickedUpByFirstName, pickedUpByLastName) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.purchasedItemPrimaryGuestID = purchasedItemPrimaryGuestID !== null && purchasedItemPrimaryGuestID !== void 0 ? purchasedItemPrimaryGuestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.purchaseItemType = purchaseItemType !== null && purchaseItemType !== void 0 ? purchaseItemType : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.inventoryAllocationID = inventoryAllocationID !== null && inventoryAllocationID !== void 0 ? inventoryAllocationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.fixedPriceItemID = fixedPriceItemID !== null && fixedPriceItemID !== void 0 ? fixedPriceItemID : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.itemDetails = itemDetails !== null && itemDetails !== void 0 ? itemDetails : \"\";\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.pickupTimeframe = pickupTimeframe !== null && pickupTimeframe !== void 0 ? pickupTimeframe : null;\n this.isReadyPickUp = isReadyPickUp !== null && isReadyPickUp !== void 0 ? isReadyPickUp : false;\n this.fixedPriceItemName = fixedPriceItemName !== null && fixedPriceItemName !== void 0 ? fixedPriceItemName : \"\";\n this.fixedPriceItemDescription = fixedPriceItemDescription !== null && fixedPriceItemDescription !== void 0 ? fixedPriceItemDescription : \"\";\n this.fixedPriceItemPhotoURL = fixedPriceItemPhotoURL !== null && fixedPriceItemPhotoURL !== void 0 ? fixedPriceItemPhotoURL : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.paidByGuestID = paidByGuestID !== null && paidByGuestID !== void 0 ? paidByGuestID : \"\";\n this.paidByFirstName = paidByFirstName !== null && paidByFirstName !== void 0 ? paidByFirstName : \"\";\n this.paidByLastName = paidByLastName !== null && paidByLastName !== void 0 ? paidByLastName : \"\";\n this.pickedUpByGuestID = pickedUpByGuestID !== null && pickedUpByGuestID !== void 0 ? pickedUpByGuestID : \"\";\n this.pickedUpByFirstName = pickedUpByFirstName !== null && pickedUpByFirstName !== void 0 ? pickedUpByFirstName : \"\";\n this.pickedUpByLastName = pickedUpByLastName !== null && pickedUpByLastName !== void 0 ? pickedUpByLastName : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.pickupTimeframe !== undefined && this.pickupTimeframe !== null) {\n this.pickupTimeframe = this.pickupTimeframe ? new Date(this.pickupTimeframe) : this.pickupTimeframe;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemDetailSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.purchasedItemPrimaryGuestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.purchaseItemType, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.inventoryAllocationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.fixedPriceItemID, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.itemDetails, input === null || input === void 0 ? void 0 : input.pickupPreference, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.pickupTimeframe, input === null || input === void 0 ? void 0 : input.isReadyPickUp, input === null || input === void 0 ? void 0 : input.fixedPriceItemName, input === null || input === void 0 ? void 0 : input.fixedPriceItemDescription, input === null || input === void 0 ? void 0 : input.fixedPriceItemPhotoURL, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.paidByGuestID, input === null || input === void 0 ? void 0 : input.paidByFirstName, input === null || input === void 0 ? void 0 : input.paidByLastName, input === null || input === void 0 ? void 0 : input.pickedUpByGuestID, input === null || input === void 0 ? void 0 : input.pickedUpByFirstName, input === null || input === void 0 ? void 0 : input.pickedUpByLastName);\n }\n}\nclass ViewSupporterPurchasedItemDetailToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemDetailToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSupporterPurchasedItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSupporterPurchasedItemSummary {\n constructor(organizationID, eventID, created, updated, firstName, lastName, fullName, cartFullNameList, userID, guestID, email, transactionId, transactionStatus, purchaseID, mobilePhone, ticketCount, totalProceedsAmountCents, cartCount, purchasedItemCount, purchasedCheckoutItemCount, checkoutItemCount, isPurchasedCheckoutItem, isPickedUp, pickupTimeframe, pickupPreference) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.fullName = fullName !== null && fullName !== void 0 ? fullName : \"\";\n this.cartFullNameList = cartFullNameList !== null && cartFullNameList !== void 0 ? cartFullNameList : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.transactionId = transactionId !== null && transactionId !== void 0 ? transactionId : \"\";\n this.transactionStatus = transactionStatus !== null && transactionStatus !== void 0 ? transactionStatus : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.ticketCount = ticketCount !== null && ticketCount !== void 0 ? ticketCount : 0;\n this.totalProceedsAmountCents = totalProceedsAmountCents !== null && totalProceedsAmountCents !== void 0 ? totalProceedsAmountCents : 0;\n this.cartCount = cartCount !== null && cartCount !== void 0 ? cartCount : 0;\n this.purchasedItemCount = purchasedItemCount !== null && purchasedItemCount !== void 0 ? purchasedItemCount : 0;\n this.purchasedCheckoutItemCount = purchasedCheckoutItemCount !== null && purchasedCheckoutItemCount !== void 0 ? purchasedCheckoutItemCount : 0;\n this.checkoutItemCount = checkoutItemCount !== null && checkoutItemCount !== void 0 ? checkoutItemCount : 0;\n this.isPurchasedCheckoutItem = isPurchasedCheckoutItem !== null && isPurchasedCheckoutItem !== void 0 ? isPurchasedCheckoutItem : 0;\n this.isPickedUp = isPickedUp !== null && isPickedUp !== void 0 ? isPickedUp : false;\n this.pickupTimeframe = pickupTimeframe !== null && pickupTimeframe !== void 0 ? pickupTimeframe : null;\n this.pickupPreference = pickupPreference !== null && pickupPreference !== void 0 ? pickupPreference : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.pickupTimeframe !== undefined && this.pickupTimeframe !== null) {\n this.pickupTimeframe = this.pickupTimeframe ? new Date(this.pickupTimeframe) : this.pickupTimeframe;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.fullName, input === null || input === void 0 ? void 0 : input.cartFullNameList, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.transactionId, input === null || input === void 0 ? void 0 : input.transactionStatus, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.ticketCount, input === null || input === void 0 ? void 0 : input.totalProceedsAmountCents, input === null || input === void 0 ? void 0 : input.cartCount, input === null || input === void 0 ? void 0 : input.purchasedItemCount, input === null || input === void 0 ? void 0 : input.purchasedCheckoutItemCount, input === null || input === void 0 ? void 0 : input.checkoutItemCount, input === null || input === void 0 ? void 0 : input.isPurchasedCheckoutItem, input === null || input === void 0 ? void 0 : input.isPickedUp, input === null || input === void 0 ? void 0 : input.pickupTimeframe, input === null || input === void 0 ? void 0 : input.pickupPreference);\n }\n}\nclass ViewSupporterPurchasedItemToCSVInput {\n constructor(organizationID, eventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSupporterPurchasedItemToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewTicketOptionAnswersForTicketSummary {\n constructor(organizationID, source, ticketID, ticketOptionID, ticketOptionPromptChoiceID, ticketOptionAnswerID, answer, created, deleted) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.ticketOptionID = ticketOptionID !== null && ticketOptionID !== void 0 ? ticketOptionID : \"\";\n this.ticketOptionPromptChoiceID = ticketOptionPromptChoiceID !== null && ticketOptionPromptChoiceID !== void 0 ? ticketOptionPromptChoiceID : \"\";\n this.ticketOptionAnswerID = ticketOptionAnswerID !== null && ticketOptionAnswerID !== void 0 ? ticketOptionAnswerID : \"\";\n this.answer = answer !== null && answer !== void 0 ? answer : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewTicketOptionAnswersForTicketSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.ticketOptionID, input === null || input === void 0 ? void 0 : input.ticketOptionPromptChoiceID, input === null || input === void 0 ? void 0 : input.ticketOptionAnswerID, input === null || input === void 0 ? void 0 : input.answer, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted);\n }\n}\nclass ViewVirtualChairsInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewVirtualChairsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewVirtualChairsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewVirtualChairsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewVirtualChairsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewVirtualChairsSummary {\n constructor(organizationID, virtualEventID, id, name, tableNumber, chairID, chairUserEmail, chairUserFirstName, chairUserLastName, chairUserID, chairChannelName, chairChannelARN, chairCreated, chairUpdated, created) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : 0;\n this.chairID = chairID !== null && chairID !== void 0 ? chairID : \"\";\n this.chairUserEmail = chairUserEmail !== null && chairUserEmail !== void 0 ? chairUserEmail : \"\";\n this.chairUserFirstName = chairUserFirstName !== null && chairUserFirstName !== void 0 ? chairUserFirstName : \"\";\n this.chairUserLastName = chairUserLastName !== null && chairUserLastName !== void 0 ? chairUserLastName : \"\";\n this.chairUserID = chairUserID !== null && chairUserID !== void 0 ? chairUserID : \"\";\n this.chairChannelName = chairChannelName !== null && chairChannelName !== void 0 ? chairChannelName : \"\";\n this.chairChannelARN = chairChannelARN !== null && chairChannelARN !== void 0 ? chairChannelARN : \"\";\n this.chairCreated = chairCreated !== null && chairCreated !== void 0 ? chairCreated : new Date();\n this.chairUpdated = chairUpdated !== null && chairUpdated !== void 0 ? chairUpdated : new Date();\n this.created = created !== null && created !== void 0 ? created : new Date();\n }\n convertDates() {\n this.chairCreated = this.chairCreated ? new Date(this.chairCreated) : this.chairCreated;\n this.chairUpdated = this.chairUpdated ? new Date(this.chairUpdated) : this.chairUpdated;\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewVirtualChairsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.chairID, input === null || input === void 0 ? void 0 : input.chairUserEmail, input === null || input === void 0 ? void 0 : input.chairUserFirstName, input === null || input === void 0 ? void 0 : input.chairUserLastName, input === null || input === void 0 ? void 0 : input.chairUserID, input === null || input === void 0 ? void 0 : input.chairChannelName, input === null || input === void 0 ? void 0 : input.chairChannelARN, input === null || input === void 0 ? void 0 : input.chairCreated, input === null || input === void 0 ? void 0 : input.chairUpdated, input === null || input === void 0 ? void 0 : input.created);\n }\n}\nclass ViewVirtualChairsToCSVInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewVirtualChairsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass VirtualChairSummary {\n constructor(organizationID, virtualEventID, virtualTableID, id, userEmail, userFirstName, userLastName, userID, channelName, channelARN, created, updated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.virtualTableID = virtualTableID !== null && virtualTableID !== void 0 ? virtualTableID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userEmail = userEmail !== null && userEmail !== void 0 ? userEmail : \"\";\n this.userFirstName = userFirstName !== null && userFirstName !== void 0 ? userFirstName : \"\";\n this.userLastName = userLastName !== null && userLastName !== void 0 ? userLastName : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.channelName = channelName !== null && channelName !== void 0 ? channelName : \"\";\n this.channelARN = channelARN !== null && channelARN !== void 0 ? channelARN : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new VirtualChairSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.virtualTableID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userEmail, input === null || input === void 0 ? void 0 : input.userFirstName, input === null || input === void 0 ? void 0 : input.userLastName, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.channelName, input === null || input === void 0 ? void 0 : input.channelARN, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\nclass VirtualTableSummary {\n constructor(organizationID, virtualEventID, id, name, tableNumber, created, updated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.tableNumber = tableNumber !== null && tableNumber !== void 0 ? tableNumber : 0;\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new VirtualTableSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.tableNumber, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\n\nclass CartItemsService {\n constructor(virtualEventRestService) {\n this.virtualEventRestService = virtualEventRestService;\n this.cartItems = new BehaviorSubject(null);\n this.cartItemSelected = new ReplaySubject(1);\n this.selectedCartItems = new ReplaySubject(1);\n }\n getCartItems(orgID, eventID, guest, withTax, token) {\n // Load the cart items if params provided and no items exist\n if (!this.cartItems.value && orgID && eventID && (guest === null || guest === void 0 ? void 0 : guest.id)) {\n const paging = new PagingInput().Take(100).Filters([\n new FilterParameter('refund_id', FilterComparator.Equal, ''),\n new FilterParameter('is_external', FilterComparator.Equal, false)\n ]);\n this.loadPurchasedItems(orgID, eventID, guest, paging, [], withTax, token);\n }\n return this.cartItems.asObservable();\n }\n getCartItemsForUser(orgID, eventID, withTax) {\n // Load the cart items if params provided and no items exist\n if (!this.cartItems.value && orgID && eventID) {\n const paging = new PagingInput().Take(100).Filters([\n new FilterParameter('refund_id', FilterComparator.Equal, ''),\n new FilterParameter('is_external', FilterComparator.Equal, false)\n ]);\n this.loadPurchasedItemsForUser(orgID, eventID, paging, [], withTax);\n }\n return this.cartItems.asObservable();\n }\n setCartItems(items) {\n this.cartItems.next(items);\n }\n getCartItemSelected() {\n return this.cartItemSelected.asObservable();\n }\n setCartItemSelected(item) {\n this.cartItemSelected.next(item);\n }\n getSelectedCartItems() {\n return this.selectedCartItems.asObservable();\n }\n setSelectedCartItems(items) {\n this.selectedCartItems.next(items);\n }\n loadPurchasedItems(orgID, eventID, guest, paging, currentList, withTax, token) {\n const input = new ListItemsForGuestInput(orgID, eventID, '', '', paging);\n if (guest.userID) {\n input.userID = guest.userID; // If our guest is actually registered, search by the user ID instead.\n }\n else {\n input.guestID = guest.id; // This should ALWAYS be here at the least.\n }\n let veService = this.virtualEventRestService;\n if (token) {\n veService = this.virtualEventRestService.withJWT(token);\n }\n veService.listItemsForGuest(input).subscribe((out) => {\n if (out && out.items) {\n currentList.push(...out.items);\n }\n if (out.paging && out.paging.nextPage) {\n this.loadPurchasedItems(orgID, eventID, guest, new PagingInput().FromPageObject(out.paging.nextPage), currentList, withTax, token);\n }\n else {\n this.getTaxForPurchasedItemsAndSetCartItems(orgID, eventID, currentList, !!withTax, token);\n }\n }, (err) => this.cartItems.error(err));\n }\n loadPurchasedItemsForUser(orgID, eventID, paging, currentList, withTax) {\n const input = new ListItemsForUserInput(orgID, eventID, paging);\n this.virtualEventRestService.listItemsForUser(input).subscribe((out) => {\n if (out && out.items) {\n currentList.push(...out.items);\n }\n if (out.paging && out.paging.nextPage) {\n this.loadPurchasedItemsForUser(orgID, eventID, new PagingInput().FromPageObject(out.paging.nextPage), currentList, withTax);\n }\n else {\n this.getTaxForPurchasedItemsAndSetCartItems(orgID, eventID, currentList, !!withTax);\n }\n });\n }\n /**\n * Will get tax information for purchased items if requested. If not, will skip process and set cart items.\n * It will only attempt to get tax information for unpaid items.\n * @param orgID\n * @param eventID\n * @param purchasedItems\n * @param withTax\n */\n getTaxForPurchasedItemsAndSetCartItems(orgID, eventID, purchasedItems, withTax, token) {\n const unpaidItemIDs = purchasedItems.filter(p => !p.purchaseID).map(p => p.id);\n if (!withTax || !unpaidItemIDs.length) {\n this.setCartItems(purchasedItems);\n }\n else {\n let getTaxCentsForPurchasedItems = (input) => {\n return token ? this.virtualEventRestService.withJWT(token).getTaxCentsForGuestPurchasedItems(input) :\n this.virtualEventRestService.getTaxCentsForPurchasedItems(input);\n };\n getTaxCentsForPurchasedItems(new GetTaxCentsForPurchasedItemsInput(orgID, eventID, unpaidItemIDs)).subscribe(taxMap => {\n const purchasedItemsWithTax = purchasedItems;\n for (let i in taxMap.itemIDs) {\n let purchasedItemFound = purchasedItemsWithTax.find(p => p.id === i);\n if (purchasedItemFound) {\n purchasedItemFound.taxAmountCents = taxMap.itemIDs[i];\n }\n ;\n }\n ;\n this.setCartItems(purchasedItemsWithTax);\n });\n }\n ;\n }\n}\nCartItemsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemsService, deps: [{ token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Injectable });\nCartItemsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemsService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemsService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }]; } });\nclass PurchasedItemSummaryWithTax extends PurchasedItemSummary {\n}\nclass CartItemSelected extends PurchasedItemSummaryWithTax {\n}\nvar CartState;\n(function (CartState) {\n CartState[\"LOADING\"] = \"loading\";\n CartState[\"EMPTY\"] = \"empty\";\n CartState[\"LOADED\"] = \"loaded\";\n})(CartState || (CartState = {}));\nvar ItemsPaidStatus;\n(function (ItemsPaidStatus) {\n ItemsPaidStatus[\"PAID\"] = \"paid\";\n ItemsPaidStatus[\"UNPAID\"] = \"unpaid\";\n})(ItemsPaidStatus || (ItemsPaidStatus = {}));\nvar DefaultItemsDisplayOrder = [\n 'vevt-donation',\n 'vevt-appeal',\n 'vevt-impact',\n 'vevt-misc',\n 'vevt-fixed-price',\n 'vevt-raffle',\n 'vevt-auction-lot'\n];\n\nclass AttendeeService {\n constructor(virtualEventRestService) {\n this.virtualEventRestService = virtualEventRestService;\n this.guestSummary$ = new ReplaySubject(1);\n this.guestCreditCardSummaries$ = new ReplaySubject();\n }\n getGuestSummary() {\n return this.guestSummary$.asObservable();\n }\n getGuestCreditCardSummaries() {\n return this.guestCreditCardSummaries$.asObservable();\n }\n loadAttendeeCreditCards(orgID, eventID, guestID) {\n this.virtualEventRestService.listAvailableCreditCards(new ListAvailableCreditCardsInput(orgID, eventID, guestID))\n .subscribe((data) => {\n var _a;\n if ((_a = data === null || data === void 0 ? void 0 : data.items) === null || _a === void 0 ? void 0 : _a.length) {\n this.guestCreditCardSummaries$.next(data === null || data === void 0 ? void 0 : data.items);\n }\n else {\n this.guestCreditCardSummaries$.next([]);\n }\n }, () => {\n this.guestCreditCardSummaries$.next([]);\n });\n }\n loadAttendee(orgID, eventID, guestID, token, asRegisteredUser) {\n let veService = this.virtualEventRestService;\n if (token) {\n veService = this.virtualEventRestService.withJWT(token);\n }\n ;\n veService.readGuest(new ReadGuestInput(guestID, orgID, eventID))\n .pipe(switchMap(readGuestOut => {\n return forkJoin([\n of(readGuestOut),\n !asRegisteredUser ? veService.listAvailableCreditCards(new ListAvailableCreditCardsInput(orgID, eventID, guestID)) :\n veService.listMyAvailableCreditCards(new ListMyAvailableCreditCardsInput(orgID, eventID)),\n ]);\n })).subscribe(([guestOut, listCardsCartOut]) => {\n var _a;\n this.guestSummary$.next(guestOut);\n if ((_a = listCardsCartOut === null || listCardsCartOut === void 0 ? void 0 : listCardsCartOut.items) === null || _a === void 0 ? void 0 : _a.length) {\n this.guestCreditCardSummaries$.next(listCardsCartOut.items);\n }\n else {\n this.guestCreditCardSummaries$.next([]);\n }\n });\n }\n}\nAttendeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AttendeeService, deps: [{ token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Injectable });\nAttendeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AttendeeService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AttendeeService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }]; } });\n\n/* This file is generated, do not change manually */\nclass InventoryRestService {\n constructor(httpClient, authHttpClient) {\n this.httpClient = httpClient;\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-inventory-api';\n this.jwt = '';\n }\n withJWT(jwt) {\n const newService = new InventoryRestService(this.httpClient, this.authHttpClient);\n newService.jwt = jwt;\n return newService;\n }\n getAuthHttpClient() {\n if (this.jwt) {\n return this.httpClient;\n }\n else {\n return this.authHttpClient;\n }\n }\n getHeaders() {\n if (this.jwt) {\n return new HttpHeaders().set('Authorization', 'Bearer ' + this.jwt);\n }\n else {\n return {};\n }\n }\n assignNextTopBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/assign-next-top-bid`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AssignNextTopBidOutput instance, so create a class instance from that object\n map((input) => {\n return AssignNextTopBidOutput.fromObject(input).fixClasses();\n }));\n }\n buyNow(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/buy-now`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) BuyNowOutput instance, so create a class instance from that object\n map((input) => {\n return BuyNowOutput.fromObject(input).fixClasses();\n }));\n }\n canAssignNextTopBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/can-assign-next-top-bid`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CanAssignNextTopBidOutput instance, so create a class instance from that object\n map((input) => {\n return CanAssignNextTopBidOutput.fromObject(input).fixClasses();\n }));\n }\n clearAllBids(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/clear-all-bids`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClearAllBidsOutput instance, so create a class instance from that object\n map((input) => {\n return ClearAllBidsOutput.fromObject(input).fixClasses();\n }));\n }\n closeAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/closing/auctions/${input.auctionID}/close`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CloseAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return CloseAuctionOutput.fromObject(input).fixClasses();\n }));\n }\n closeLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/closing/auctions/${input.auctionID}/lots/${input.lotID}/close`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CloseLotOutput instance, so create a class instance from that object\n map((input) => {\n return CloseLotOutput.fromObject(input).fixClasses();\n }));\n }\n closePastDue(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/closing/close-past-due`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ClosePastDueOutput instance, so create a class instance from that object\n map((input) => {\n return ClosePastDueOutput.fromObject(input).fixClasses();\n }));\n }\n countAllAuctions(input) {\n const url = `${this.urlHost}/auctions/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountAllAuctionsOutput instance, so create a class instance from that object\n map((input) => {\n return CountAllAuctionsOutput.fromObject(input).fixClasses();\n }));\n }\n countAllocations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/allocations/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountAllocationsOutput instance, so create a class instance from that object\n map((input) => {\n return CountAllocationsOutput.fromObject(input).fixClasses();\n }));\n }\n countAuctions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountAuctionsOutput instance, so create a class instance from that object\n map((input) => {\n return CountAuctionsOutput.fromObject(input).fixClasses();\n }));\n }\n countBids(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountBidsOutput instance, so create a class instance from that object\n map((input) => {\n return CountBidsOutput.fromObject(input).fixClasses();\n }));\n }\n countCategories(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountCategoriesOutput instance, so create a class instance from that object\n map((input) => {\n return CountCategoriesOutput.fromObject(input).fixClasses();\n }));\n }\n countItemPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountItemPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return CountItemPhotosOutput.fromObject(input).fixClasses();\n }));\n }\n countItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountItemsOutput instance, so create a class instance from that object\n map((input) => {\n return CountItemsOutput.fromObject(input).fixClasses();\n }));\n }\n countLots(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountLotsOutput instance, so create a class instance from that object\n map((input) => {\n return CountLotsOutput.fromObject(input).fixClasses();\n }));\n }\n countProxyBidders(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid/count`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CountProxyBiddersOutput instance, so create a class instance from that object\n map((input) => {\n return CountProxyBiddersOutput.fromObject(input).fixClasses();\n }));\n }\n createAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return CreateAuctionOutput.fromObject(input).fixClasses();\n }));\n }\n createBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateBidOutput instance, so create a class instance from that object\n map((input) => {\n return CreateBidOutput.fromObject(input).fixClasses();\n }));\n }\n createBidFor(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/for`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateBidForOutput instance, so create a class instance from that object\n map((input) => {\n return CreateBidForOutput.fromObject(input).fixClasses();\n }));\n }\n createBidLimit(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bid-limits`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateBidLimitOutput instance, so create a class instance from that object\n map((input) => {\n return CreateBidLimitOutput.fromObject(input).fixClasses();\n }));\n }\n createCategory(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateCategoryOutput instance, so create a class instance from that object\n map((input) => {\n return CreateCategoryOutput.fromObject(input).fixClasses();\n }));\n }\n createItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateItemOutput instance, so create a class instance from that object\n map((input) => {\n return CreateItemOutput.fromObject(input).fixClasses();\n }));\n }\n createItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return CreateItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n createLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateLotOutput instance, so create a class instance from that object\n map((input) => {\n return CreateLotOutput.fromObject(input).fixClasses();\n }));\n }\n createLotsFromItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/create`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateLotsFromItemsOutput instance, so create a class instance from that object\n map((input) => {\n return CreateLotsFromItemsOutput.fromObject(input).fixClasses();\n }));\n }\n createProxyBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateProxyBidderOutput instance, so create a class instance from that object\n map((input) => {\n return CreateProxyBidderOutput.fromObject(input).fixClasses();\n }));\n }\n deleteAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteAuctionOutput.fromObject(input).fixClasses();\n }));\n }\n deleteCategory(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories/${input.categoryID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteCategoryOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteCategoryOutput.fromObject(input).fixClasses();\n }));\n }\n deleteItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteItemOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteItemOutput.fromObject(input).fixClasses();\n }));\n }\n deleteItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n deleteLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteLotOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteLotOutput.fromObject(input).fixClasses();\n }));\n }\n deleteProxyBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid/${input.proxyBidderID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteProxyBidderOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteProxyBidderOutput.fromObject(input).fixClasses();\n }));\n }\n getAuctionTotalsByType(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/sources/${input.source}/totals-by-type`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetAuctionTotalsByTypeOutput instance, so create a class instance from that object\n map((input) => {\n return GetAuctionTotalsByTypeOutput.fromObject(input).fixClasses();\n }));\n }\n getUsersTopBidCounts(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/get-users-top-bid-counts`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetUsersTopBidCountsOutput instance, so create a class instance from that object\n map((input) => {\n return GetUsersTopBidCountsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n getWinningBidInfo(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/winning-info`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetWinningBidInfoOutput instance, so create a class instance from that object\n map((input) => {\n return GetWinningBidInfoOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listAllAuctions(input) {\n const url = `${this.urlHost}/auctions`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListAllAuctionsOutput instance, so create a class instance from that object\n map((input) => {\n return ListAllAuctionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listAllocations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/allocations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListAllocationsOutput instance, so create a class instance from that object\n map((input) => {\n return ListAllocationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listAuctions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListAuctionsOutput instance, so create a class instance from that object\n map((input) => {\n return ListAuctionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listBids(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListBidsOutput instance, so create a class instance from that object\n map((input) => {\n return ListBidsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listCategories(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListCategoriesOutput instance, so create a class instance from that object\n map((input) => {\n return ListCategoriesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listItemPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListItemPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return ListItemPhotosOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ListItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listLots(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListLotsOutput instance, so create a class instance from that object\n map((input) => {\n return ListLotsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listLotsOverview(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/ui/lots-overview`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListLotsOverviewOutput instance, so create a class instance from that object\n map((input) => {\n return ListLotsOverviewOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listProxyBidders(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListProxyBiddersOutput instance, so create a class instance from that object\n map((input) => {\n return ListProxyBiddersOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n lotsForUser(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/user/${input.userID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) LotsForUserOutput instance, so create a class instance from that object\n map((input) => {\n return LotsForUserOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readAllAuction(input) {\n const url = `${this.urlHost}/auctions/${input.auctionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadAllAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return ReadAllAuctionOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readAllocation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/allocations/${input.allocationID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadAllocationOutput instance, so create a class instance from that object\n map((input) => {\n return ReadAllocationOutput.fromObject(input).fixClasses();\n }));\n }\n readAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return ReadAuctionOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/${input.bidID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadBidOutput instance, so create a class instance from that object\n map((input) => {\n return ReadBidOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readCategory(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories/${input.categoryID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadCategoryOutput instance, so create a class instance from that object\n map((input) => {\n return ReadCategoryOutput.fromObject(input).fixClasses();\n }));\n }\n readItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadItemOutput instance, so create a class instance from that object\n map((input) => {\n return ReadItemOutput.fromObject(input).fixClasses();\n }));\n }\n readItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return ReadItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n readLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadLotOutput instance, so create a class instance from that object\n map((input) => {\n return ReadLotOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readProxyBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid/${input.proxyBidderID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadProxyBidderOutput instance, so create a class instance from that object\n map((input) => {\n return ReadProxyBidderOutput.fromObject(input).fixClasses();\n }));\n }\n reopenLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/reopen-lot`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReopenLotOutput instance, so create a class instance from that object\n map((input) => {\n return ReopenLotOutput.fromObject(input).fixClasses();\n }));\n }\n transferUnpaidBidsFromProxyToPrimary(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/transfer-bids/transfer-unpaid-bids-from-proxy-to-primary`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) TransferUnpaidBidsFromProxyToPrimaryOutput instance, so create a class instance from that object\n map((input) => {\n return TransferUnpaidBidsFromProxyToPrimaryOutput.fromObject(input).fixClasses();\n }));\n }\n updateAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateAuctionOutput.fromObject(input).fixClasses();\n }));\n }\n updateBid(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/${input.bidID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateBidOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateBidOutput.fromObject(input).fixClasses();\n }));\n }\n updateBidAndLotWinner(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/update-bid-and-lot-winner`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateBidAndLotWinnerOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateBidAndLotWinnerOutput.fromObject(input).fixClasses();\n }));\n }\n updateBidFor(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/for`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateBidForOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateBidForOutput.fromObject(input).fixClasses();\n }));\n }\n updateCategory(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/categories/${input.categoryID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateCategoryOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateCategoryOutput.fromObject(input).fixClasses();\n }));\n }\n updateItem(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateItemOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateItemOutput.fromObject(input).fixClasses();\n }));\n }\n updateItemPhoto(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/${input.itemID}/photos/${input.photoID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateItemPhotoOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateItemPhotoOutput.fromObject(input).fixClasses();\n }));\n }\n updateLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateLotOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateLotOutput.fromObject(input).fixClasses();\n }));\n }\n updateProxyBidder(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/proxy-bid/${input.proxyBidderID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateProxyBidderOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateProxyBidderOutput.fromObject(input).fixClasses();\n }));\n }\n uploadItemsCSV(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/upload-csv`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UploadItemsCSVOutput instance, so create a class instance from that object\n map((input) => {\n return UploadItemsCSVOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n userHasTopBids(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/user-has-top-bids/${input.userID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UserHasTopBidsOutput instance, so create a class instance from that object\n map((input) => {\n return UserHasTopBidsOutput.fromObject(input).fixClasses();\n }));\n }\n viewAllClosedAuctionsWithUnclosedLots(input) {\n const url = `${this.urlHost}/auctions/view/allclosedauctionswithunclosedlots`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAllClosedAuctionsWithUnclosedLotsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAllClosedAuctionsWithUnclosedLotsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewAllLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/lots/view/alllot`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAllLotOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAllLotOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewAllLotAnalytics(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/lots/view/alllotanalytics`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAllLotAnalyticsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAllLotAnalyticsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewAllocations(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/allocations/view/allocations`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAllocationsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAllocationsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewAuctionTotalValue(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/view/auctiontotalvalue`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAuctionTotalValueOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAuctionTotalValueOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewAuctionWithBidStatus(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/view/auctionwithbidstatus`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewAuctionWithBidStatusOutput instance, so create a class instance from that object\n map((input) => {\n return ViewAuctionWithBidStatusOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewItemCategoriesByAuction(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/view/itemcategoriesbyauction`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewItemCategoriesByAuctionOutput instance, so create a class instance from that object\n map((input) => {\n return ViewItemCategoriesByAuctionOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewItemCategoriesByEvent(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/view/itemcategoriesbyevent`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewItemCategoriesByEventOutput instance, so create a class instance from that object\n map((input) => {\n return ViewItemCategoriesByEventOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewItems(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/view/items`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewItemsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewItemsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewItemsByCategory(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/items/view/itemsbycategory`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewItemsByCategoryOutput instance, so create a class instance from that object\n map((input) => {\n return ViewItemsByCategoryOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewLotPhotos(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/view/lotphotos`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewLotPhotosOutput instance, so create a class instance from that object\n map((input) => {\n return ViewLotPhotosOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewSilentAuctionAnalytics(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/lots/view/silentauctionanalytics`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewSilentAuctionAnalyticsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewSilentAuctionAnalyticsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n viewTopBidForLot(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/view/topbidforlot`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewTopBidForLotOutput instance, so create a class instance from that object\n map((input) => {\n return ViewTopBidForLotOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewUserLots(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/view/userlots`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewUserLotsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewUserLotsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n viewWinningBidsForAuctions(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/view/winningbidsforauctions`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ViewWinningBidsForAuctionsOutput instance, so create a class instance from that object\n map((input) => {\n return ViewWinningBidsForAuctionsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n}\nInventoryRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: InventoryRestService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nInventoryRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: InventoryRestService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: InventoryRestService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthHttpClient }]; } });\nclass AllAuctionSummary {\n constructor(organizationID, id, name, description, openTime, closeTime, autoClosedOn, type, numLots, source, activeLotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.autoClosedOn = autoClosedOn !== null && autoClosedOn !== void 0 ? autoClosedOn : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n if (this.autoClosedOn !== undefined && this.autoClosedOn !== null) {\n this.autoClosedOn = this.autoClosedOn ? new Date(this.autoClosedOn) : this.autoClosedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AllAuctionSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.autoClosedOn, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID);\n }\n}\nclass AllocationSummary {\n constructor(organizationID, id, lotID, itemID, isPickUpTonight, isPickUpLater, isPickUpEventLevel) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.isPickUpTonight = isPickUpTonight !== null && isPickUpTonight !== void 0 ? isPickUpTonight : false;\n this.isPickUpLater = isPickUpLater !== null && isPickUpLater !== void 0 ? isPickUpLater : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AllocationSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.isPickUpTonight, input === null || input === void 0 ? void 0 : input.isPickUpLater, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel);\n }\n}\nclass AssignNextTopBidInput {\n constructor(organizationID, auctionID, lotID, bidID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AssignNextTopBidInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID);\n }\n}\nclass AssignNextTopBidOutput {\n constructor(bidID, topBidID, topBidderUserID, topBidAmountCents) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidderUserID = topBidderUserID !== null && topBidderUserID !== void 0 ? topBidderUserID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AssignNextTopBidOutput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidderUserID, input === null || input === void 0 ? void 0 : input.topBidAmountCents);\n }\n}\nclass AuctionSummary {\n constructor(organizationID, id, name, description, openTime, closeTime, autoClosedOn, type, numLots, source, activeLotID, auctionGoalCents, inPerson) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.autoClosedOn = autoClosedOn !== null && autoClosedOn !== void 0 ? autoClosedOn : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n this.auctionGoalCents = auctionGoalCents !== null && auctionGoalCents !== void 0 ? auctionGoalCents : 0;\n this.inPerson = inPerson !== null && inPerson !== void 0 ? inPerson : false;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n if (this.autoClosedOn !== undefined && this.autoClosedOn !== null) {\n this.autoClosedOn = this.autoClosedOn ? new Date(this.autoClosedOn) : this.autoClosedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AuctionSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.autoClosedOn, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID, input === null || input === void 0 ? void 0 : input.auctionGoalCents, input === null || input === void 0 ? void 0 : input.inPerson);\n }\n}\nclass BidSummary {\n constructor(organizationID, auctionID, lotID, id, bidderID, bidTime, bidAmountCents, refundStatus, proxyUserID, proxyGuestID, guestID, userID, createdByBidLimitID, assignWinnerOverride) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.refundStatus = refundStatus !== null && refundStatus !== void 0 ? refundStatus : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.createdByBidLimitID = createdByBidLimitID !== null && createdByBidLimitID !== void 0 ? createdByBidLimitID : null;\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BidSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.refundStatus, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.createdByBidLimitID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride);\n }\n}\nclass BuyNowInput {\n constructor(organizationID, auctionID, lotID, bidderID, proxyUserID, proxyGuestID, bidTime, guestID, assignWinnerOverride, assignWinnerAmountCents, overrideUserID, isUnregisteredGuest) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n this.assignWinnerAmountCents = assignWinnerAmountCents !== null && assignWinnerAmountCents !== void 0 ? assignWinnerAmountCents : 0;\n this.overrideUserID = overrideUserID !== null && overrideUserID !== void 0 ? overrideUserID : \"\";\n this.isUnregisteredGuest = isUnregisteredGuest !== null && isUnregisteredGuest !== void 0 ? isUnregisteredGuest : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyNowInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride, input === null || input === void 0 ? void 0 : input.assignWinnerAmountCents, input === null || input === void 0 ? void 0 : input.overrideUserID, input === null || input === void 0 ? void 0 : input.isUnregisteredGuest);\n }\n}\nclass BuyNowOutput {\n constructor(bidID, userID, guestID) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new BuyNowOutput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass CanAssignNextTopBidInput {\n constructor(organizationID, auctionID, lotID, bidID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CanAssignNextTopBidInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID);\n }\n}\nclass CanAssignNextTopBidOutput {\n constructor(bidID, userID) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CanAssignNextTopBidOutput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass CategorySummary {\n constructor(organizationID, id, name, description, type) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CategorySummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.type);\n }\n}\nclass ClearAllBidsInput {\n constructor(organizationID, auctionID, lotID, bidID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClearAllBidsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID);\n }\n}\nclass ClearAllBidsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClearAllBidsOutput();\n }\n}\nclass CloseAuctionInput {\n constructor(organizationID, auctionID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseAuctionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass CloseAuctionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseAuctionOutput();\n }\n}\nclass CloseLotInput {\n constructor(organizationID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass CloseLotOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CloseLotOutput();\n }\n}\nclass ClosePastDueInput {\n constructor(organizationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClosePastDueInput(input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ClosePastDueOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ClosePastDueOutput();\n }\n}\nclass CountAllAuctionsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAllAuctionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountAllAuctionsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAllAuctionsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountAllocationsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAllocationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountAllocationsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAllocationsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountAuctionsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAuctionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountAuctionsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountAuctionsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountBidsInput {\n constructor(organizationID, auctionID, lotID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountBidsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountBidsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountBidsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountCategoriesInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountCategoriesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountCategoriesOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountCategoriesOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountItemPhotosInput {\n constructor(organizationID, itemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountItemPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountItemPhotosOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountItemPhotosOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountItemsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountItemsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountItemsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountLotsInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountLotsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountLotsOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountLotsOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CountProxyBiddersInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountProxyBiddersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass CountProxyBiddersOutput {\n constructor(count) {\n this.count = count !== null && count !== void 0 ? count : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CountProxyBiddersOutput(input === null || input === void 0 ? void 0 : input.count);\n }\n}\nclass CreateAuctionInput {\n constructor(organizationID, name, description, openTime, closeTime, type, source, activeLotID, auctionGoalCents, inPerson) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n this.auctionGoalCents = auctionGoalCents !== null && auctionGoalCents !== void 0 ? auctionGoalCents : 0;\n this.inPerson = inPerson !== null && inPerson !== void 0 ? inPerson : false;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateAuctionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID, input === null || input === void 0 ? void 0 : input.auctionGoalCents, input === null || input === void 0 ? void 0 : input.inPerson);\n }\n}\nclass CreateAuctionOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateAuctionOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateBidForInput {\n constructor(organizationID, auctionID, lotID, eventID, bidderID, proxyUserID, proxyGuestID, bidTime, bidAmountCents, guestID, userID, assignWinnerOverride) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidForInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride);\n }\n}\nclass CreateBidForOutput {\n constructor(id, bidderUserID, topBidID, topBidderGuestID, topBidderUserID, topBidAmountCents) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.bidderUserID = bidderUserID !== null && bidderUserID !== void 0 ? bidderUserID : \"\";\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidderGuestID = topBidderGuestID !== null && topBidderGuestID !== void 0 ? topBidderGuestID : \"\";\n this.topBidderUserID = topBidderUserID !== null && topBidderUserID !== void 0 ? topBidderUserID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidForOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.bidderUserID, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidderGuestID, input === null || input === void 0 ? void 0 : input.topBidderUserID, input === null || input === void 0 ? void 0 : input.topBidAmountCents);\n }\n}\nclass CreateBidInput {\n constructor(organizationID, auctionID, lotID, eventID, bidderID, proxyUserID, proxyGuestID, bidTime, bidAmountCents, guestID, assignWinnerOverride) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride);\n }\n}\nclass CreateBidLimitInput {\n constructor(organizationID, auctionID, lotID, amountCents, guestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidLimitInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.guestID);\n }\n}\nclass CreateBidLimitOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidLimitOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateBidOutput {\n constructor(id, bidderUserID, topBidID, topBidderGuestID, topBidderUserID, topBidAmountCents) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.bidderUserID = bidderUserID !== null && bidderUserID !== void 0 ? bidderUserID : \"\";\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidderGuestID = topBidderGuestID !== null && topBidderGuestID !== void 0 ? topBidderGuestID : \"\";\n this.topBidderUserID = topBidderUserID !== null && topBidderUserID !== void 0 ? topBidderUserID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateBidOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.bidderUserID, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidderGuestID, input === null || input === void 0 ? void 0 : input.topBidderUserID, input === null || input === void 0 ? void 0 : input.topBidAmountCents);\n }\n}\nclass CreateCategoryInput {\n constructor(organizationID, name, description, type) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateCategoryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.type);\n }\n}\nclass CreateCategoryOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateCategoryOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateItemInput {\n constructor(organizationID, name, description, categoryID, donor, valueCents, numAvailable, numAllocated) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : 0;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated);\n }\n}\nclass CreateItemOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateItemOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateItemPhotoInput {\n constructor(organizationID, itemID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateItemPhotoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass CreateItemPhotoOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateItemPhotoOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateLotInput {\n constructor(organizationID, auctionID, allocations, lotNumber, lotOrder, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isTaxable, openTime, closeTime, name, description, showInPreview, primaryPhotoURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.allocations = allocations !== null && allocations !== void 0 ? allocations : [];\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.allocations) {\n this.allocations = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.allocations.length; i0 += 1) {\n this.allocations[i0] = LotAllocation.fromObject(this.allocations[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new CreateLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.allocations, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.primaryPhotoURL);\n }\n}\nclass CreateLotOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateLotOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateLotsFromItemsInput {\n constructor(organizationID, auctionID, items, bidMinimum, bidIncrement, buyNow, roundTo, lotOrder, isTaxable) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.items = items !== null && items !== void 0 ? items : [];\n this.bidMinimum = bidMinimum !== null && bidMinimum !== void 0 ? bidMinimum : 0;\n this.bidIncrement = bidIncrement !== null && bidIncrement !== void 0 ? bidIncrement : 0;\n this.buyNow = buyNow !== null && buyNow !== void 0 ? buyNow : 0;\n this.roundTo = roundTo !== null && roundTo !== void 0 ? roundTo : 0;\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = Item.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new CreateLotsFromItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.bidMinimum, input === null || input === void 0 ? void 0 : input.bidIncrement, input === null || input === void 0 ? void 0 : input.buyNow, input === null || input === void 0 ? void 0 : input.roundTo, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.isTaxable);\n }\n}\nclass CreateLotsFromItemsOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateLotsFromItemsOutput();\n }\n}\nclass CreateProxyBidderInput {\n constructor(organizationID, virtualEventID, guestID, userID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateProxyBidderInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass CreateProxyBidderOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateProxyBidderOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass DeleteAuctionInput {\n constructor(auctionID, organizationID) {\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteAuctionInput(input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass DeleteAuctionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteAuctionOutput();\n }\n}\nclass DeleteCategoryInput {\n constructor(categoryID, organizationID) {\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteCategoryInput(input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass DeleteCategoryOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteCategoryOutput();\n }\n}\nclass DeleteItemInput {\n constructor(organizationID, itemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID);\n }\n}\nclass DeleteItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteItemOutput();\n }\n}\nclass DeleteItemPhotoInput {\n constructor(photoID, organizationID, itemID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID);\n }\n}\nclass DeleteItemPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteItemPhotoOutput();\n }\n}\nclass DeleteLotInput {\n constructor(lotID, organizationID, auctionID) {\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteLotInput(input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass DeleteLotOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteLotOutput();\n }\n}\nclass DeleteProxyBidderInput {\n constructor(proxyBidderID, organizationID, virtualEventID) {\n this.proxyBidderID = proxyBidderID !== null && proxyBidderID !== void 0 ? proxyBidderID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteProxyBidderInput(input === null || input === void 0 ? void 0 : input.proxyBidderID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass DeleteProxyBidderOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteProxyBidderOutput();\n }\n}\nclass GetAuctionTotalsByTypeInput {\n constructor(organizationID, source) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAuctionTotalsByTypeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.source);\n }\n}\nclass GetAuctionTotalsByTypeOutput {\n constructor(liveAuctionTotalAmountCents, silentAuctionTotalAmountCents) {\n this.liveAuctionTotalAmountCents = liveAuctionTotalAmountCents !== null && liveAuctionTotalAmountCents !== void 0 ? liveAuctionTotalAmountCents : 0;\n this.silentAuctionTotalAmountCents = silentAuctionTotalAmountCents !== null && silentAuctionTotalAmountCents !== void 0 ? silentAuctionTotalAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetAuctionTotalsByTypeOutput(input === null || input === void 0 ? void 0 : input.liveAuctionTotalAmountCents, input === null || input === void 0 ? void 0 : input.silentAuctionTotalAmountCents);\n }\n}\nclass GetUsersTopBidCountsInput {\n constructor(organizationID, eventID, userIDs) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.userIDs = userIDs !== null && userIDs !== void 0 ? userIDs : [];\n }\n convertUnexpectedNulls() {\n if (!this.userIDs) {\n this.userIDs = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetUsersTopBidCountsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.userIDs);\n }\n}\nclass GetUsersTopBidCountsOutput {\n constructor(usersTopBidCounts) {\n this.usersTopBidCounts = usersTopBidCounts !== null && usersTopBidCounts !== void 0 ? usersTopBidCounts : [];\n }\n convertUnexpectedNulls() {\n if (!this.usersTopBidCounts) {\n this.usersTopBidCounts = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.usersTopBidCounts.length; i0 += 1) {\n this.usersTopBidCounts[i0] = UserTopBidCount.fromObject(this.usersTopBidCounts[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetUsersTopBidCountsOutput(input === null || input === void 0 ? void 0 : input.usersTopBidCounts);\n }\n}\nclass GetWinningBidInfoInput {\n constructor(organizationID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetWinningBidInfoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass GetWinningBidInfoOutput {\n constructor(organizationID, auctionID, lotID, bidID, guestID, userID, bidAmountCents, bidTime) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetWinningBidInfoOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.bidTime);\n }\n}\nclass Item {\n constructor(organizationID, itemID, created, updated, deleted, name, description, categoryID, donor, valueCents, numAvailable, numAllocated, isTaxable) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : 0;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Item(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated, input === null || input === void 0 ? void 0 : input.isTaxable);\n }\n}\nclass ItemPhotoSummary {\n constructor(organizationID, itemID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ItemPhotoSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass ItemSummary {\n constructor(organizationID, id, name, description, donor, valueCents, numAvailable, numAllocated, isTaxable) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : 0;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ItemSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated, input === null || input === void 0 ? void 0 : input.isTaxable);\n }\n}\nclass ListAllAuctionsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAllAuctionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAllAuctionsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = AllAuctionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListAllAuctionsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAllAuctionsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAllAuctionsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAllocationsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAllocationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAllocationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = AllocationSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListAllocationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAllocationsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAllocationsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAuctionsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAuctionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAuctionsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = AuctionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListAuctionsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListAuctionsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListAuctionsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListBidsInput {\n constructor(organizationID, auctionID, lotID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListBidsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListBidsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = BidSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListBidsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListBidsToCSVInput {\n constructor(organizationID, auctionID, lotID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListBidsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListCategoriesInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListCategoriesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListCategoriesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = CategorySummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListCategoriesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListCategoriesToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListCategoriesToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemPhotosInput {\n constructor(organizationID, itemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemPhotosOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ItemPhotoSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListItemPhotosOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemPhotosToCSVInput {\n constructor(organizationID, itemID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemPhotosToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ItemSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListItemsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListLotsInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListLotsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListLotsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = LotSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListLotsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListLotsOverviewInput {\n constructor(organizationID, onlyPreviewLots, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.onlyPreviewLots = onlyPreviewLots !== null && onlyPreviewLots !== void 0 ? onlyPreviewLots : false;\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.onlyPreviewLots ? params.set('onlyPreviewLots', this.onlyPreviewLots.toString()) : params;\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListLotsOverviewInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.onlyPreviewLots, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListLotsOverviewOutput {\n constructor(lots, paging) {\n this.lots = lots !== null && lots !== void 0 ? lots : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.lots) {\n this.lots = [];\n }\n for (let i0 = 0; i0 < this.lots.length; i0 += 1) {\n this.lots[i0] = this.lots[i0] ? this.lots[i0].convertUnexpectedNulls() : this.lots[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.lots.length; i0 += 1) {\n this.lots[i0] = LotOverview.fromObject(this.lots[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListLotsOverviewOutput(input === null || input === void 0 ? void 0 : input.lots, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListLotsToCSVInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListLotsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListProxyBiddersInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListProxyBiddersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListProxyBiddersOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ProxyBidderSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListProxyBiddersOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListProxyBiddersToCSVInput {\n constructor(organizationID, virtualEventID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListProxyBiddersToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass LotAllocation {\n constructor(itemID, quantity, isPickUpTonight, isPickUpLater, isPickUpEventLevel) {\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.isPickUpTonight = isPickUpTonight !== null && isPickUpTonight !== void 0 ? isPickUpTonight : false;\n this.isPickUpLater = isPickUpLater !== null && isPickUpLater !== void 0 ? isPickUpLater : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotAllocation(input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.isPickUpTonight, input === null || input === void 0 ? void 0 : input.isPickUpLater, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel);\n }\n}\nclass LotForUser {\n constructor(organizationID, auctionID, id, userID, created, updated, deleted, lotNumber, lotOrder, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isBought, openTime, closeTime, winningBidID, paidByPurchaseID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL, userLastBidAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n this.userLastBidAmountCents = userLastBidAmountCents !== null && userLastBidAmountCents !== void 0 ? userLastBidAmountCents : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotForUser(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL, input === null || input === void 0 ? void 0 : input.userLastBidAmountCents);\n }\n}\nclass LotOverview {\n constructor(id, auctionID, name, lotNumber, lotOrder, lotDescription, bidMinimumCents, bidIncrementCents, topBidAmountCents, myLastBidAmountCents, primaryPhotoURL, items) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.lotDescription = lotDescription !== null && lotDescription !== void 0 ? lotDescription : \"\";\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.myLastBidAmountCents = myLastBidAmountCents !== null && myLastBidAmountCents !== void 0 ? myLastBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = LotOverviewItem.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new LotOverview(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.lotDescription, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.myLastBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL, input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass LotOverviewItem {\n constructor(id, valueCents, categoryName, photos) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.categoryName = categoryName !== null && categoryName !== void 0 ? categoryName : \"\";\n this.photos = photos !== null && photos !== void 0 ? photos : [];\n }\n convertUnexpectedNulls() {\n if (!this.photos) {\n this.photos = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.photos.length; i0 += 1) {\n this.photos[i0] = LotOverviewItemPhoto.fromObject(this.photos[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new LotOverviewItem(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.categoryName, input === null || input === void 0 ? void 0 : input.photos);\n }\n}\nclass LotOverviewItemPhoto {\n constructor(url) {\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotOverviewItemPhoto(input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass LotsForUserInput {\n constructor(organizationID, auctionID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotsForUserInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass LotsForUserOutput {\n constructor(lotsForUser) {\n this.lotsForUser = lotsForUser !== null && lotsForUser !== void 0 ? lotsForUser : [];\n }\n convertDates() {\n if (!this.lotsForUser) {\n this.lotsForUser = [];\n }\n for (let i0 = 0; i0 < this.lotsForUser.length; i0 += 1) {\n this.lotsForUser[i0] = this.lotsForUser[i0] ? this.lotsForUser[i0].convertDates() : this.lotsForUser[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.lotsForUser) {\n this.lotsForUser = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.lotsForUser.length; i0 += 1) {\n this.lotsForUser[i0] = LotForUser.fromObject(this.lotsForUser[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new LotsForUserOutput(input === null || input === void 0 ? void 0 : input.lotsForUser);\n }\n}\nclass LotSummary {\n constructor(organizationID, auctionID, id, lotNumber, lotOrder, bidMinimumCents, originalBidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isAssignLater, isBought, isBiddingPaused, isTaxable, openTime, closeTime, winningBidID, paidByPurchaseID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.originalBidMinimumCents = originalBidMinimumCents !== null && originalBidMinimumCents !== void 0 ? originalBidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isAssignLater = isAssignLater !== null && isAssignLater !== void 0 ? isAssignLater : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.isBiddingPaused = isBiddingPaused !== null && isBiddingPaused !== void 0 ? isBiddingPaused : false;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new LotSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.originalBidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isAssignLater, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.isBiddingPaused, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL);\n }\n}\nclass ProxyBidderSummary {\n constructor(organizationID, virtualEventID, id, guestID, userID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ProxyBidderSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass ReadAllAuctionInput {\n constructor(auctionID, organizationID) {\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAllAuctionInput(input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ReadAllAuctionOutput {\n constructor(organizationID, id, name, description, openTime, closeTime, autoClosedOn, type, numLots, source, activeLotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.autoClosedOn = autoClosedOn !== null && autoClosedOn !== void 0 ? autoClosedOn : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n if (this.autoClosedOn !== undefined && this.autoClosedOn !== null) {\n this.autoClosedOn = this.autoClosedOn ? new Date(this.autoClosedOn) : this.autoClosedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAllAuctionOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.autoClosedOn, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID);\n }\n}\nclass ReadAllocationInput {\n constructor(allocationID, organizationID) {\n this.allocationID = allocationID !== null && allocationID !== void 0 ? allocationID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAllocationInput(input === null || input === void 0 ? void 0 : input.allocationID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ReadAllocationOutput {\n constructor(organizationID, id) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAllocationOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass ReadAuctionInput {\n constructor(auctionID, organizationID) {\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAuctionInput(input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ReadAuctionOutput {\n constructor(organizationID, id, name, description, openTime, closeTime, autoClosedOn, type, numLots, source, activeLotID, auctionGoalCents, inPerson) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.autoClosedOn = autoClosedOn !== null && autoClosedOn !== void 0 ? autoClosedOn : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n this.auctionGoalCents = auctionGoalCents !== null && auctionGoalCents !== void 0 ? auctionGoalCents : 0;\n this.inPerson = inPerson !== null && inPerson !== void 0 ? inPerson : false;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n if (this.autoClosedOn !== undefined && this.autoClosedOn !== null) {\n this.autoClosedOn = this.autoClosedOn ? new Date(this.autoClosedOn) : this.autoClosedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadAuctionOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.autoClosedOn, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID, input === null || input === void 0 ? void 0 : input.auctionGoalCents, input === null || input === void 0 ? void 0 : input.inPerson);\n }\n}\nclass ReadBidInput {\n constructor(bidID, organizationID, auctionID, lotID) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadBidInput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass ReadBidOutput {\n constructor(organizationID, auctionID, lotID, id, bidderID, bidTime, bidAmountCents, refundStatus, proxyUserID, proxyGuestID, guestID, userID, createdByBidLimitID, assignWinnerOverride) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : \"\";\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : new Date();\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n this.refundStatus = refundStatus !== null && refundStatus !== void 0 ? refundStatus : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.createdByBidLimitID = createdByBidLimitID !== null && createdByBidLimitID !== void 0 ? createdByBidLimitID : null;\n this.assignWinnerOverride = assignWinnerOverride !== null && assignWinnerOverride !== void 0 ? assignWinnerOverride : false;\n }\n convertDates() {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadBidOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.refundStatus, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.createdByBidLimitID, input === null || input === void 0 ? void 0 : input.assignWinnerOverride);\n }\n}\nclass ReadCategoryInput {\n constructor(categoryID, organizationID) {\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadCategoryInput(input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass ReadCategoryOutput {\n constructor(organizationID, id, name, description, type) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadCategoryOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.type);\n }\n}\nclass ReadItemInput {\n constructor(organizationID, itemID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID);\n }\n}\nclass ReadItemOutput {\n constructor(organizationID, id, name, description, categoryID, donor, valueCents, numAvailable, numAllocated, isTaxable) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : 0;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : 0;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadItemOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated, input === null || input === void 0 ? void 0 : input.isTaxable);\n }\n}\nclass ReadItemPhotoInput {\n constructor(photoID, organizationID, itemID) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID);\n }\n}\nclass ReadItemPhotoOutput {\n constructor(organizationID, itemID, id, url, uploadToken) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n this.uploadToken = uploadToken !== null && uploadToken !== void 0 ? uploadToken : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadItemPhotoOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.url, input === null || input === void 0 ? void 0 : input.uploadToken);\n }\n}\nclass ReadLotInput {\n constructor(lotID, organizationID, auctionID) {\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadLotInput(input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID);\n }\n}\nclass ReadLotOutput {\n constructor(organizationID, auctionID, id, lotNumber, lotOrder, bidMinimumCents, originalBidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isAssignLater, isBought, isBiddingPaused, isTaxable, openTime, closeTime, winningBidID, paidByPurchaseID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.originalBidMinimumCents = originalBidMinimumCents !== null && originalBidMinimumCents !== void 0 ? originalBidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isAssignLater = isAssignLater !== null && isAssignLater !== void 0 ? isAssignLater : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.isBiddingPaused = isBiddingPaused !== null && isBiddingPaused !== void 0 ? isBiddingPaused : false;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadLotOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.originalBidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isAssignLater, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.isBiddingPaused, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL);\n }\n}\nclass ReadProxyBidderInput {\n constructor(proxyBidderID, organizationID, virtualEventID) {\n this.proxyBidderID = proxyBidderID !== null && proxyBidderID !== void 0 ? proxyBidderID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadProxyBidderInput(input === null || input === void 0 ? void 0 : input.proxyBidderID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID);\n }\n}\nclass ReadProxyBidderOutput {\n constructor(organizationID, virtualEventID, id, guestID, userID, proxyUserID, proxyGuestID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadProxyBidderOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID);\n }\n}\nclass ReopenLotInput {\n constructor(organizationID, auctionID, lotID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReopenLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID);\n }\n}\nclass ReopenLotOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReopenLotOutput();\n }\n}\nclass TransferUnpaidBidsFromProxyToPrimaryInput {\n constructor(organizationID, virtualEventID, proxyGuestID, proxyUserID, newUserID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : \"\";\n this.newUserID = newUserID !== null && newUserID !== void 0 ? newUserID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TransferUnpaidBidsFromProxyToPrimaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.newUserID);\n }\n}\nclass TransferUnpaidBidsFromProxyToPrimaryOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TransferUnpaidBidsFromProxyToPrimaryOutput();\n }\n}\nclass UpdateAuctionInput {\n constructor(auctionID, organizationID, name, description, openTime, closeTime, type, source, activeLotID, auctionGoalCents, inPerson) {\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.type = type !== null && type !== void 0 ? type : null;\n this.source = source !== null && source !== void 0 ? source : null;\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : null;\n this.auctionGoalCents = auctionGoalCents !== null && auctionGoalCents !== void 0 ? auctionGoalCents : null;\n this.inPerson = inPerson !== null && inPerson !== void 0 ? inPerson : null;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateAuctionInput(input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID, input === null || input === void 0 ? void 0 : input.auctionGoalCents, input === null || input === void 0 ? void 0 : input.inPerson);\n }\n}\nclass UpdateAuctionOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateAuctionOutput();\n }\n}\nclass UpdateBidAndLotWinnerInput {\n constructor(organizationID, auctionID, lotID, bidID, bidderID, proxyUserID, proxyGuestID, bidTime, bidAmountCents, refundStatus, guestID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : null;\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : null;\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : null;\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : null;\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : null;\n this.refundStatus = refundStatus !== null && refundStatus !== void 0 ? refundStatus : null;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : null;\n this.userID = userID !== null && userID !== void 0 ? userID : null;\n }\n convertDates() {\n if (this.bidTime !== undefined && this.bidTime !== null) {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidAndLotWinnerInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.refundStatus, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass UpdateBidAndLotWinnerOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidAndLotWinnerOutput();\n }\n}\nclass UpdateBidForInput {\n constructor(organizationID, auctionID, lotID, bidID, bidderID, proxyUserID, proxyGuestID, bidTime, bidAmountCents, refundStatus, guestID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.bidderID = bidderID !== null && bidderID !== void 0 ? bidderID : null;\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : null;\n this.proxyGuestID = proxyGuestID !== null && proxyGuestID !== void 0 ? proxyGuestID : null;\n this.bidTime = bidTime !== null && bidTime !== void 0 ? bidTime : null;\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : null;\n this.refundStatus = refundStatus !== null && refundStatus !== void 0 ? refundStatus : null;\n this.guestID = guestID !== null && guestID !== void 0 ? guestID : null;\n this.userID = userID !== null && userID !== void 0 ? userID : null;\n }\n convertDates() {\n if (this.bidTime !== undefined && this.bidTime !== null) {\n this.bidTime = this.bidTime ? new Date(this.bidTime) : this.bidTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidForInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.bidderID, input === null || input === void 0 ? void 0 : input.proxyUserID, input === null || input === void 0 ? void 0 : input.proxyGuestID, input === null || input === void 0 ? void 0 : input.bidTime, input === null || input === void 0 ? void 0 : input.bidAmountCents, input === null || input === void 0 ? void 0 : input.refundStatus, input === null || input === void 0 ? void 0 : input.guestID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass UpdateBidForOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidForOutput();\n }\n}\nclass UpdateBidInput {\n constructor(bidID, organizationID, auctionID, lotID, refundStatus) {\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.refundStatus = refundStatus !== null && refundStatus !== void 0 ? refundStatus : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidInput(input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.refundStatus);\n }\n}\nclass UpdateBidOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateBidOutput();\n }\n}\nclass UpdateCategoryInput {\n constructor(categoryID, organizationID, name, description, type) {\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.type = type !== null && type !== void 0 ? type : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateCategoryInput(input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.type);\n }\n}\nclass UpdateCategoryOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateCategoryOutput();\n }\n}\nclass UpdateItemInput {\n constructor(organizationID, itemID, name, description, categoryID, donor, valueCents, numAvailable, numAllocated, isTaxable) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : null;\n this.donor = donor !== null && donor !== void 0 ? donor : null;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : null;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : null;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : null;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateItemInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated, input === null || input === void 0 ? void 0 : input.isTaxable);\n }\n}\nclass UpdateItemOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateItemOutput();\n }\n}\nclass UpdateItemPhotoInput {\n constructor(photoID, organizationID, itemID, url) {\n this.photoID = photoID !== null && photoID !== void 0 ? photoID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.url = url !== null && url !== void 0 ? url : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateItemPhotoInput(input === null || input === void 0 ? void 0 : input.photoID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass UpdateItemPhotoOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateItemPhotoOutput();\n }\n}\nclass UpdateLotInput {\n constructor(lotID, organizationID, auctionID, allocations, lotNumber, lotOrder, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isAssignLater, isBought, isBiddingPaused, isTaxable, openTime, closeTime, winningBidID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL) {\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.allocations = allocations !== null && allocations !== void 0 ? allocations : null;\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : null;\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : null;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : null;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : null;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : null;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : null;\n this.isAssignLater = isAssignLater !== null && isAssignLater !== void 0 ? isAssignLater : null;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : null;\n this.isBiddingPaused = isBiddingPaused !== null && isBiddingPaused !== void 0 ? isBiddingPaused : null;\n this.isTaxable = isTaxable !== null && isTaxable !== void 0 ? isTaxable : null;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : null;\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : null;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : null;\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : null;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : null;\n }\n convertDates() {\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n if (this.allocations !== null) {\n for (let i1 = 0; i1 < this.allocations.length; i1 += 1) {\n this.allocations[i1] = LotAllocation.fromObject(this.allocations[i1]).fixClasses();\n }\n }\n return this;\n }\n static fromObject(input) {\n return new UpdateLotInput(input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.allocations, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isAssignLater, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.isBiddingPaused, input === null || input === void 0 ? void 0 : input.isTaxable, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL);\n }\n}\nclass UpdateLotOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateLotOutput();\n }\n}\nclass UpdateProxyBidderInput {\n constructor(proxyBidderID, organizationID, virtualEventID, proxyUserID) {\n this.proxyBidderID = proxyBidderID !== null && proxyBidderID !== void 0 ? proxyBidderID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.virtualEventID = virtualEventID !== null && virtualEventID !== void 0 ? virtualEventID : \"\";\n this.proxyUserID = proxyUserID !== null && proxyUserID !== void 0 ? proxyUserID : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateProxyBidderInput(input === null || input === void 0 ? void 0 : input.proxyBidderID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.virtualEventID, input === null || input === void 0 ? void 0 : input.proxyUserID);\n }\n}\nclass UpdateProxyBidderOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateProxyBidderOutput();\n }\n}\nclass UploadItemsCSVInput {\n constructor(organizationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadItemsCSVInput(input === null || input === void 0 ? void 0 : input.organizationID);\n }\n}\nclass UploadItemsCSVOutput {\n constructor(duplicateRows, numItemsCreated) {\n this.duplicateRows = duplicateRows !== null && duplicateRows !== void 0 ? duplicateRows : [];\n this.numItemsCreated = numItemsCreated !== null && numItemsCreated !== void 0 ? numItemsCreated : 0;\n }\n convertUnexpectedNulls() {\n if (!this.duplicateRows) {\n this.duplicateRows = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UploadItemsCSVOutput(input === null || input === void 0 ? void 0 : input.duplicateRows, input === null || input === void 0 ? void 0 : input.numItemsCreated);\n }\n}\nclass UserHasTopBidsInput {\n constructor(organizationID, auctionID, userID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UserHasTopBidsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.userID);\n }\n}\nclass UserHasTopBidsOutput {\n constructor(userHasTopBids) {\n this.userHasTopBids = userHasTopBids !== null && userHasTopBids !== void 0 ? userHasTopBids : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UserHasTopBidsOutput(input === null || input === void 0 ? void 0 : input.userHasTopBids);\n }\n}\nclass UserTopBidCount {\n constructor(userID, topBidCount) {\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.topBidCount = topBidCount !== null && topBidCount !== void 0 ? topBidCount : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UserTopBidCount(input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.topBidCount);\n }\n}\nclass ViewAllClosedAuctionsWithUnclosedLotsInput {\n constructor(paging) {\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllClosedAuctionsWithUnclosedLotsInput(input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllClosedAuctionsWithUnclosedLotsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAllClosedAuctionsWithUnclosedLotsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAllClosedAuctionsWithUnclosedLotsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllClosedAuctionsWithUnclosedLotsSummary {\n constructor(id, organizationID, created, updated, name, description, openTime, closeTime, autoClosedOn, type, numLots, source, activeLotID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.autoClosedOn = autoClosedOn !== null && autoClosedOn !== void 0 ? autoClosedOn : null;\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.activeLotID = activeLotID !== null && activeLotID !== void 0 ? activeLotID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n if (this.autoClosedOn !== undefined && this.autoClosedOn !== null) {\n this.autoClosedOn = this.autoClosedOn ? new Date(this.autoClosedOn) : this.autoClosedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllClosedAuctionsWithUnclosedLotsSummary(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.autoClosedOn, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.activeLotID);\n }\n}\nclass ViewAllClosedAuctionsWithUnclosedLotsToCSVInput {\n constructor(paging) {\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllClosedAuctionsWithUnclosedLotsToCSVInput(input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotAnalyticsInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotAnalyticsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotAnalyticsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAllLotAnalyticsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotAnalyticsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotAnalyticsSummary {\n constructor(organizationID, sourceID, id, auctionID, created, lotNumber, lotOrder, winningBidID, buyNowPriceCents, isBuyNowActive, isBought, paidByPurchaseID, name, description, auctionType, topBidAmountCents, bidCount, lastBidTime, valuePercentageReached) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.bidCount = bidCount !== null && bidCount !== void 0 ? bidCount : 0;\n this.lastBidTime = lastBidTime !== null && lastBidTime !== void 0 ? lastBidTime : null;\n this.valuePercentageReached = valuePercentageReached !== null && valuePercentageReached !== void 0 ? valuePercentageReached : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n if (this.lastBidTime !== undefined && this.lastBidTime !== null) {\n this.lastBidTime = this.lastBidTime ? new Date(this.lastBidTime) : this.lastBidTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotAnalyticsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.bidCount, input === null || input === void 0 ? void 0 : input.lastBidTime, input === null || input === void 0 ? void 0 : input.valuePercentageReached);\n }\n}\nclass ViewAllLotAnalyticsToCSVInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotAnalyticsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAllLotSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllLotSummary {\n constructor(organizationID, sourceID, id, userID, bidUserID, auctionID, auctionType, created, updated, deleted, lotNumber, lotOrder, name, description, showInPreview, primaryPhotoURL, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isBought, bidCount, topBidAmountCents, topBidderUserID, estimatedValueCents, bidValuePercentage, itemCategories, itemDonors, itemPhotoCount, myLastBidAmountCents, myActiveBidLimitAmountCents, filterByUserID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.bidUserID = bidUserID !== null && bidUserID !== void 0 ? bidUserID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.bidCount = bidCount !== null && bidCount !== void 0 ? bidCount : 0;\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.topBidderUserID = topBidderUserID !== null && topBidderUserID !== void 0 ? topBidderUserID : \"\";\n this.estimatedValueCents = estimatedValueCents !== null && estimatedValueCents !== void 0 ? estimatedValueCents : 0;\n this.bidValuePercentage = bidValuePercentage !== null && bidValuePercentage !== void 0 ? bidValuePercentage : 0;\n this.itemCategories = itemCategories !== null && itemCategories !== void 0 ? itemCategories : \"\";\n this.itemDonors = itemDonors !== null && itemDonors !== void 0 ? itemDonors : \"\";\n this.itemPhotoCount = itemPhotoCount !== null && itemPhotoCount !== void 0 ? itemPhotoCount : 0;\n this.myLastBidAmountCents = myLastBidAmountCents !== null && myLastBidAmountCents !== void 0 ? myLastBidAmountCents : 0;\n this.myActiveBidLimitAmountCents = myActiveBidLimitAmountCents !== null && myActiveBidLimitAmountCents !== void 0 ? myActiveBidLimitAmountCents : null;\n this.filterByUserID = filterByUserID !== null && filterByUserID !== void 0 ? filterByUserID : false;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.bidUserID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.primaryPhotoURL, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.bidCount, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.topBidderUserID, input === null || input === void 0 ? void 0 : input.estimatedValueCents, input === null || input === void 0 ? void 0 : input.bidValuePercentage, input === null || input === void 0 ? void 0 : input.itemCategories, input === null || input === void 0 ? void 0 : input.itemDonors, input === null || input === void 0 ? void 0 : input.itemPhotoCount, input === null || input === void 0 ? void 0 : input.myLastBidAmountCents, input === null || input === void 0 ? void 0 : input.myActiveBidLimitAmountCents, input === null || input === void 0 ? void 0 : input.filterByUserID);\n }\n}\nclass ViewAllLotToCSVInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllLotToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllocationsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllocationsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllocationsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAllocationsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAllocationsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAllocationsSummary {\n constructor(organizationID, created, deleted, itemID, itemName, itemValueCents, itemDonor, itemTaxable, lotID, lotNumber, lotOrder, lotName, lotPhotoUrl, quantity, description, auctionID, auctionName, isPickUpTonight, isPickUpLater, isPickUpEventLevel, allocationID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.itemName = itemName !== null && itemName !== void 0 ? itemName : \"\";\n this.itemValueCents = itemValueCents !== null && itemValueCents !== void 0 ? itemValueCents : 0;\n this.itemDonor = itemDonor !== null && itemDonor !== void 0 ? itemDonor : \"\";\n this.itemTaxable = itemTaxable !== null && itemTaxable !== void 0 ? itemTaxable : false;\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.lotName = lotName !== null && lotName !== void 0 ? lotName : \"\";\n this.lotPhotoUrl = lotPhotoUrl !== null && lotPhotoUrl !== void 0 ? lotPhotoUrl : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.auctionName = auctionName !== null && auctionName !== void 0 ? auctionName : \"\";\n this.isPickUpTonight = isPickUpTonight !== null && isPickUpTonight !== void 0 ? isPickUpTonight : false;\n this.isPickUpLater = isPickUpLater !== null && isPickUpLater !== void 0 ? isPickUpLater : false;\n this.isPickUpEventLevel = isPickUpEventLevel !== null && isPickUpEventLevel !== void 0 ? isPickUpEventLevel : false;\n this.allocationID = allocationID !== null && allocationID !== void 0 ? allocationID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllocationsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.itemName, input === null || input === void 0 ? void 0 : input.itemValueCents, input === null || input === void 0 ? void 0 : input.itemDonor, input === null || input === void 0 ? void 0 : input.itemTaxable, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.lotName, input === null || input === void 0 ? void 0 : input.lotPhotoUrl, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.auctionName, input === null || input === void 0 ? void 0 : input.isPickUpTonight, input === null || input === void 0 ? void 0 : input.isPickUpLater, input === null || input === void 0 ? void 0 : input.isPickUpEventLevel, input === null || input === void 0 ? void 0 : input.allocationID);\n }\n}\nclass ViewAllocationsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAllocationsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionTotalValueInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionTotalValueInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionTotalValueOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAuctionTotalValueSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionTotalValueOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionTotalValueSummary {\n constructor(organizationID, auctionID, totalValueCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.totalValueCents = totalValueCents !== null && totalValueCents !== void 0 ? totalValueCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionTotalValueSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.totalValueCents);\n }\n}\nclass ViewAuctionTotalValueToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionTotalValueToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionWithBidStatusInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionWithBidStatusInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionWithBidStatusOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewAuctionWithBidStatusSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionWithBidStatusOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewAuctionWithBidStatusSummary {\n constructor(organizationID, id, name, numLots, type, source, hasBid) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : \"\";\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.hasBid = hasBid !== null && hasBid !== void 0 ? hasBid : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionWithBidStatusSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.numLots, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.hasBid);\n }\n}\nclass ViewAuctionWithBidStatusToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewAuctionWithBidStatusToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByAuctionInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByAuctionInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByAuctionOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewItemCategoriesByAuctionSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByAuctionOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByAuctionSummary {\n constructor(organizationID, sourceID, auctionID, auctionType, created, categoryName, numLots) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.categoryName = categoryName !== null && categoryName !== void 0 ? categoryName : \"\";\n this.numLots = numLots !== null && numLots !== void 0 ? numLots : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByAuctionSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.categoryName, input === null || input === void 0 ? void 0 : input.numLots);\n }\n}\nclass ViewItemCategoriesByAuctionToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByAuctionToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByEventInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByEventInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByEventOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewItemCategoriesByEventSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByEventOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemCategoriesByEventSummary {\n constructor(organizationID, sourceID, auctionID, auctionType, created, categoryName, donor) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.categoryName = categoryName !== null && categoryName !== void 0 ? categoryName : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByEventSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.categoryName, input === null || input === void 0 ? void 0 : input.donor);\n }\n}\nclass ViewItemCategoriesByEventToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemCategoriesByEventToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsByCategoryInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsByCategoryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsByCategoryOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewItemsByCategorySummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewItemsByCategoryOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsByCategorySummary {\n constructor(organizationID, sourceID, auctionID, auctionType, created, categoryName, donor, itemWithBidCount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.auctionType = auctionType !== null && auctionType !== void 0 ? auctionType : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.categoryName = categoryName !== null && categoryName !== void 0 ? categoryName : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.itemWithBidCount = itemWithBidCount !== null && itemWithBidCount !== void 0 ? itemWithBidCount : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsByCategorySummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.auctionType, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.categoryName, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.itemWithBidCount);\n }\n}\nclass ViewItemsByCategoryToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsByCategoryToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewItemsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewItemsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewItemsSummary {\n constructor(organizationID, itemID, created, deleted, name, description, categoryID, donor, valueCents, numAvailable, numAllocated, categoryName, whereAt) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.categoryID = categoryID !== null && categoryID !== void 0 ? categoryID : \"\";\n this.donor = donor !== null && donor !== void 0 ? donor : \"\";\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.numAvailable = numAvailable !== null && numAvailable !== void 0 ? numAvailable : 0;\n this.numAllocated = numAllocated !== null && numAllocated !== void 0 ? numAllocated : 0;\n this.categoryName = categoryName !== null && categoryName !== void 0 ? categoryName : \"\";\n this.whereAt = whereAt !== null && whereAt !== void 0 ? whereAt : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.categoryID, input === null || input === void 0 ? void 0 : input.donor, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.numAvailable, input === null || input === void 0 ? void 0 : input.numAllocated, input === null || input === void 0 ? void 0 : input.categoryName, input === null || input === void 0 ? void 0 : input.whereAt);\n }\n}\nclass ViewItemsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewItemsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewLotPhotosInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewLotPhotosInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewLotPhotosOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewLotPhotosSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewLotPhotosOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewLotPhotosSummary {\n constructor(organizationID, auctionID, created, deleted, lotID, itemID, itemPhotoID, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.itemID = itemID !== null && itemID !== void 0 ? itemID : \"\";\n this.itemPhotoID = itemPhotoID !== null && itemPhotoID !== void 0 ? itemPhotoID : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewLotPhotosSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.itemID, input === null || input === void 0 ? void 0 : input.itemPhotoID, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass ViewLotPhotosToCSVInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewLotPhotosToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSilentAuctionAnalyticsInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSilentAuctionAnalyticsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSilentAuctionAnalyticsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewSilentAuctionAnalyticsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewSilentAuctionAnalyticsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewSilentAuctionAnalyticsSummary {\n constructor(organizationID, sourceID, totalProceedsCents, totalGoalCents, bidderCount, bidCount, noBidCount, lowBidCount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.totalProceedsCents = totalProceedsCents !== null && totalProceedsCents !== void 0 ? totalProceedsCents : 0;\n this.totalGoalCents = totalGoalCents !== null && totalGoalCents !== void 0 ? totalGoalCents : 0;\n this.bidderCount = bidderCount !== null && bidderCount !== void 0 ? bidderCount : 0;\n this.bidCount = bidCount !== null && bidCount !== void 0 ? bidCount : 0;\n this.noBidCount = noBidCount !== null && noBidCount !== void 0 ? noBidCount : 0;\n this.lowBidCount = lowBidCount !== null && lowBidCount !== void 0 ? lowBidCount : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSilentAuctionAnalyticsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.totalProceedsCents, input === null || input === void 0 ? void 0 : input.totalGoalCents, input === null || input === void 0 ? void 0 : input.bidderCount, input === null || input === void 0 ? void 0 : input.bidCount, input === null || input === void 0 ? void 0 : input.noBidCount, input === null || input === void 0 ? void 0 : input.lowBidCount);\n }\n}\nclass ViewSilentAuctionAnalyticsToCSVInput {\n constructor(organizationID, sourceID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewSilentAuctionAnalyticsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewTopBidForLotInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewTopBidForLotInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewTopBidForLotOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewTopBidForLotSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewTopBidForLotOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewTopBidForLotSummary {\n constructor(organizationID, auctionID, id, created, updated, deleted, lotNumber, lotOrder, name, topBidID, topBidderID, topBidTime, topBidAmountCents, topBidUserID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidderID = topBidderID !== null && topBidderID !== void 0 ? topBidderID : \"\";\n this.topBidTime = topBidTime !== null && topBidTime !== void 0 ? topBidTime : new Date();\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.topBidUserID = topBidUserID !== null && topBidUserID !== void 0 ? topBidUserID : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n this.topBidTime = this.topBidTime ? new Date(this.topBidTime) : this.topBidTime;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewTopBidForLotSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidderID, input === null || input === void 0 ? void 0 : input.topBidTime, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.topBidUserID);\n }\n}\nclass ViewTopBidForLotToCSVInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewTopBidForLotToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewUserLotsInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewUserLotsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewUserLotsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewUserLotsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewUserLotsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewUserLotsSummary {\n constructor(organizationID, auctionID, id, userID, created, updated, deleted, lotNumber, lotOrder, bidMinimumCents, bidIncrementCents, buyNowPriceCents, isBuyNowActive, isBought, openTime, closeTime, winningBidID, paidByPurchaseID, name, description, showInPreview, topBidID, topBidAmountCents, primaryPhotoURL, userLastBidAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.deleted = deleted !== null && deleted !== void 0 ? deleted : false;\n this.lotNumber = lotNumber !== null && lotNumber !== void 0 ? lotNumber : \"\";\n this.lotOrder = lotOrder !== null && lotOrder !== void 0 ? lotOrder : 0;\n this.bidMinimumCents = bidMinimumCents !== null && bidMinimumCents !== void 0 ? bidMinimumCents : 0;\n this.bidIncrementCents = bidIncrementCents !== null && bidIncrementCents !== void 0 ? bidIncrementCents : 0;\n this.buyNowPriceCents = buyNowPriceCents !== null && buyNowPriceCents !== void 0 ? buyNowPriceCents : 0;\n this.isBuyNowActive = isBuyNowActive !== null && isBuyNowActive !== void 0 ? isBuyNowActive : false;\n this.isBought = isBought !== null && isBought !== void 0 ? isBought : false;\n this.openTime = openTime !== null && openTime !== void 0 ? openTime : null;\n this.closeTime = closeTime !== null && closeTime !== void 0 ? closeTime : null;\n this.winningBidID = winningBidID !== null && winningBidID !== void 0 ? winningBidID : \"\";\n this.paidByPurchaseID = paidByPurchaseID !== null && paidByPurchaseID !== void 0 ? paidByPurchaseID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.showInPreview = showInPreview !== null && showInPreview !== void 0 ? showInPreview : false;\n this.topBidID = topBidID !== null && topBidID !== void 0 ? topBidID : \"\";\n this.topBidAmountCents = topBidAmountCents !== null && topBidAmountCents !== void 0 ? topBidAmountCents : 0;\n this.primaryPhotoURL = primaryPhotoURL !== null && primaryPhotoURL !== void 0 ? primaryPhotoURL : \"\";\n this.userLastBidAmountCents = userLastBidAmountCents !== null && userLastBidAmountCents !== void 0 ? userLastBidAmountCents : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n if (this.openTime !== undefined && this.openTime !== null) {\n this.openTime = this.openTime ? new Date(this.openTime) : this.openTime;\n }\n if (this.closeTime !== undefined && this.closeTime !== null) {\n this.closeTime = this.closeTime ? new Date(this.closeTime) : this.closeTime;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewUserLotsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.deleted, input === null || input === void 0 ? void 0 : input.lotNumber, input === null || input === void 0 ? void 0 : input.lotOrder, input === null || input === void 0 ? void 0 : input.bidMinimumCents, input === null || input === void 0 ? void 0 : input.bidIncrementCents, input === null || input === void 0 ? void 0 : input.buyNowPriceCents, input === null || input === void 0 ? void 0 : input.isBuyNowActive, input === null || input === void 0 ? void 0 : input.isBought, input === null || input === void 0 ? void 0 : input.openTime, input === null || input === void 0 ? void 0 : input.closeTime, input === null || input === void 0 ? void 0 : input.winningBidID, input === null || input === void 0 ? void 0 : input.paidByPurchaseID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.showInPreview, input === null || input === void 0 ? void 0 : input.topBidID, input === null || input === void 0 ? void 0 : input.topBidAmountCents, input === null || input === void 0 ? void 0 : input.primaryPhotoURL, input === null || input === void 0 ? void 0 : input.userLastBidAmountCents);\n }\n}\nclass ViewUserLotsToCSVInput {\n constructor(organizationID, auctionID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.auctionID = auctionID !== null && auctionID !== void 0 ? auctionID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewUserLotsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.auctionID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewWinningBidsForAuctionsInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewWinningBidsForAuctionsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewWinningBidsForAuctionsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = ViewWinningBidsForAuctionsSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ViewWinningBidsForAuctionsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ViewWinningBidsForAuctionsSummary {\n constructor(organizationID, id, created, updated, lotID, bidID, lotName, bidAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n this.lotID = lotID !== null && lotID !== void 0 ? lotID : \"\";\n this.bidID = bidID !== null && bidID !== void 0 ? bidID : \"\";\n this.lotName = lotName !== null && lotName !== void 0 ? lotName : \"\";\n this.bidAmountCents = bidAmountCents !== null && bidAmountCents !== void 0 ? bidAmountCents : 0;\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewWinningBidsForAuctionsSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated, input === null || input === void 0 ? void 0 : input.lotID, input === null || input === void 0 ? void 0 : input.bidID, input === null || input === void 0 ? void 0 : input.lotName, input === null || input === void 0 ? void 0 : input.bidAmountCents);\n }\n}\nclass ViewWinningBidsForAuctionsToCSVInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ViewWinningBidsForAuctionsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\n\n/* This file is generated, do not change manually */\nclass RaffleRestService {\n constructor(httpClient, authHttpClient) {\n this.httpClient = httpClient;\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-raffle-api';\n this.jwt = '';\n }\n withJWT(jwt) {\n const newService = new RaffleRestService(this.httpClient, this.authHttpClient);\n newService.jwt = jwt;\n return newService;\n }\n getAuthHttpClient() {\n if (this.jwt) {\n return this.httpClient;\n }\n else {\n return this.authHttpClient;\n }\n }\n getHeaders() {\n if (this.jwt) {\n return new HttpHeaders().set('Authorization', 'Bearer ' + this.jwt);\n }\n else {\n return {};\n }\n }\n confirmBatchReservation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.raffleID}/batch-reservation/${input.batchID}/confirm`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ConfirmBatchReservationOutput instance, so create a class instance from that object\n map((input) => {\n return ConfirmBatchReservationOutput.fromObject(input).fixClasses();\n }));\n }\n confirmBatchReservation2(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/ticket-batches/${input.batchID}/confirm`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ConfirmBatchReservation2Output instance, so create a class instance from that object\n map((input) => {\n return ConfirmBatchReservation2Output.fromObject(input).fixClasses();\n }));\n }\n createPurchaseLevel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreatePurchaseLevelOutput instance, so create a class instance from that object\n map((input) => {\n return CreatePurchaseLevelOutput.fromObject(input).fixClasses();\n }));\n }\n createRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return CreateRaffleOutput.fromObject(input).fixClasses();\n }));\n }\n createTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateTicketOutput instance, so create a class instance from that object\n map((input) => {\n return CreateTicketOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n deleteBatchReservation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.raffleID}/batch-reservation/${input.batchID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteBatchReservationOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteBatchReservationOutput.fromObject(input).fixClasses();\n }));\n }\n deleteBatchReservation2(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/ticket-batches/${input.batchID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteBatchReservation2Output instance, so create a class instance from that object\n map((input) => {\n return DeleteBatchReservation2Output.fromObject(input).fixClasses();\n }));\n }\n deletePurchaseLevel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels/${input.purchaseLevelID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeletePurchaseLevelOutput instance, so create a class instance from that object\n map((input) => {\n return DeletePurchaseLevelOutput.fromObject(input).fixClasses();\n }));\n }\n deleteRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteRaffleOutput.fromObject(input).fixClasses();\n }));\n }\n deleteTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteTicketOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteTicketOutput.fromObject(input).fixClasses();\n }));\n }\n deleteTicketBatch(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.raffleID}/ticket-batch/${input.batchID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().delete(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) DeleteTicketBatchOutput instance, so create a class instance from that object\n map((input) => {\n return DeleteTicketBatchOutput.fromObject(input).fixClasses();\n }));\n }\n listPurchaseLevels(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListPurchaseLevelsOutput instance, so create a class instance from that object\n map((input) => {\n return ListPurchaseLevelsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n listRaffles(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListRafflesOutput instance, so create a class instance from that object\n map((input) => {\n return ListRafflesOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n listTickets(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.getAuthHttpClient().get(url, { params, headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ListTicketsOutput instance, so create a class instance from that object\n map((input) => {\n return ListTicketsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n notifyWinners(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/notify-winners`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) NotifyWinnersOutput instance, so create a class instance from that object\n map((input) => {\n return NotifyWinnersOutput.fromObject(input).fixClasses();\n }));\n }\n readPurchaseLevel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels/${input.purchaseLevelID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadPurchaseLevelOutput instance, so create a class instance from that object\n map((input) => {\n return ReadPurchaseLevelOutput.fromObject(input).fixClasses();\n }));\n }\n readRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return ReadRaffleOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n readTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ReadTicketOutput instance, so create a class instance from that object\n map((input) => {\n return ReadTicketOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n resendEmailForBatchReservation(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/ticket-batches/${input.batchID}/resend-email`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ResendEmailForBatchReservationOutput instance, so create a class instance from that object\n map((input) => {\n return ResendEmailForBatchReservationOutput.fromObject(input).fixClasses();\n }));\n }\n selectWinners(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/select-winners`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SelectWinnersOutput instance, so create a class instance from that object\n map((input) => {\n return SelectWinnersOutput.fromObject(input).fixClasses();\n }));\n }\n updatePurchaseLevel(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels/${input.purchaseLevelID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePurchaseLevelOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePurchaseLevelOutput.fromObject(input).fixClasses();\n }));\n }\n updateRaffle(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateRaffleOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateRaffleOutput.fromObject(input).fixClasses();\n }));\n }\n updateTicket(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/tickets/${input.ticketID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().put(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdateTicketOutput instance, so create a class instance from that object\n map((input) => {\n return UpdateTicketOutput.fromObject(input).fixClasses();\n }));\n }\n}\nRaffleRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RaffleRestService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nRaffleRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RaffleRestService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RaffleRestService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthHttpClient }]; } });\nclass ConfirmBatchReservation2Input {\n constructor(organizationID, raffleID, batchID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ConfirmBatchReservation2Input(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ConfirmBatchReservation2Output {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ConfirmBatchReservation2Output();\n }\n}\nclass ConfirmBatchReservationInput {\n constructor(organizationID, raffleID, batchID, eventID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ConfirmBatchReservationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID, input === null || input === void 0 ? void 0 : input.eventID);\n }\n}\nclass ConfirmBatchReservationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ConfirmBatchReservationOutput();\n }\n}\nclass CreatePurchaseLevelInput {\n constructor(organizationID, raffleID, name, description, descriptionMarkdown, quantityTickets, priceCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.quantityTickets = quantityTickets !== null && quantityTickets !== void 0 ? quantityTickets : 0;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePurchaseLevelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.quantityTickets, input === null || input === void 0 ? void 0 : input.priceCents);\n }\n}\nclass CreatePurchaseLevelOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreatePurchaseLevelOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateRaffleInput {\n constructor(organizationID, name, description) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRaffleInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description);\n }\n}\nclass CreateRaffleOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateRaffleOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass CreateTicketInput {\n constructor(organizationID, raffleID, eventID, name, lastName, email, mobilePhone, purchaseLevelID, quantity, reserved) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.eventID = eventID !== null && eventID !== void 0 ? eventID : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.quantity = quantity !== null && quantity !== void 0 ? quantity : 0;\n this.reserved = reserved !== null && reserved !== void 0 ? reserved : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.eventID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.quantity, input === null || input === void 0 ? void 0 : input.reserved);\n }\n}\nclass CreateTicketOutput {\n constructor(ids, codes, batchID) {\n this.ids = ids !== null && ids !== void 0 ? ids : [];\n this.codes = codes !== null && codes !== void 0 ? codes : [];\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.ids) {\n this.ids = [];\n }\n if (!this.codes) {\n this.codes = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateTicketOutput(input === null || input === void 0 ? void 0 : input.ids, input === null || input === void 0 ? void 0 : input.codes, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass DeleteBatchReservation2Input {\n constructor(organizationID, raffleID, batchID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteBatchReservation2Input(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass DeleteBatchReservation2Output {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteBatchReservation2Output();\n }\n}\nclass DeleteBatchReservationInput {\n constructor(organizationID, raffleID, batchID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteBatchReservationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass DeleteBatchReservationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteBatchReservationOutput();\n }\n}\nclass DeletePurchaseLevelInput {\n constructor(organizationID, raffleID, purchaseLevelID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchaseLevelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.purchaseLevelID);\n }\n}\nclass DeletePurchaseLevelOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeletePurchaseLevelOutput();\n }\n}\nclass DeleteRaffleInput {\n constructor(organizationID, raffleID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteRaffleInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID);\n }\n}\nclass DeleteRaffleOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteRaffleOutput();\n }\n}\nclass DeleteTicketBatchInput {\n constructor(organizationID, raffleID, batchID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketBatchInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass DeleteTicketBatchOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketBatchOutput();\n }\n}\nclass DeleteTicketInput {\n constructor(organizationID, raffleID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass DeleteTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DeleteTicketOutput();\n }\n}\nclass ListPurchaseLevelsInput {\n constructor(organizationID, raffleID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListPurchaseLevelsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListPurchaseLevelsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = PurchaseLevelSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListPurchaseLevelsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRafflesInput {\n constructor(organizationID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListRafflesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListRafflesOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = RaffleSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListRafflesOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListTicketsInput {\n constructor(organizationID, raffleID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListTicketsInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListTicketsOutput {\n constructor(items, paging) {\n this.items = items !== null && items !== void 0 ? items : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertDates() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertDates() : this.items[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = TicketSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ListTicketsOutput(input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass ListTicketsToCSVInput {\n constructor(organizationID, raffleID, paging) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n getParams() {\n let params = new HttpParams();\n params = this.paging ? params.set('paging', this.paging.stringify()) : params;\n return params;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ListTicketsToCSVInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass NotifyWinnersInput {\n constructor(organizationID, raffleID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new NotifyWinnersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID);\n }\n}\nclass NotifyWinnersOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new NotifyWinnersOutput();\n }\n}\nclass PurchaseLevelSummary {\n constructor(organizationID, raffleID, id, name, description, descriptionMarkdown, quantityTickets, priceCents, totalPurchasesCount, totalPurchasesAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.quantityTickets = quantityTickets !== null && quantityTickets !== void 0 ? quantityTickets : 0;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.totalPurchasesCount = totalPurchasesCount !== null && totalPurchasesCount !== void 0 ? totalPurchasesCount : 0;\n this.totalPurchasesAmountCents = totalPurchasesAmountCents !== null && totalPurchasesAmountCents !== void 0 ? totalPurchasesAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PurchaseLevelSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.quantityTickets, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.totalPurchasesCount, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCents);\n }\n}\nclass RaffleSummary {\n constructor(organizationID, id, name, description, startDate, endDate, hasSoldOut, maxTicketsCount, totalTicketsCount, totalTicketsAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.startDate = startDate !== null && startDate !== void 0 ? startDate : null;\n this.endDate = endDate !== null && endDate !== void 0 ? endDate : null;\n this.hasSoldOut = hasSoldOut !== null && hasSoldOut !== void 0 ? hasSoldOut : false;\n this.maxTicketsCount = maxTicketsCount !== null && maxTicketsCount !== void 0 ? maxTicketsCount : 0;\n this.totalTicketsCount = totalTicketsCount !== null && totalTicketsCount !== void 0 ? totalTicketsCount : 0;\n this.totalTicketsAmountCents = totalTicketsAmountCents !== null && totalTicketsAmountCents !== void 0 ? totalTicketsAmountCents : 0;\n }\n convertDates() {\n if (this.startDate !== undefined && this.startDate !== null) {\n this.startDate = this.startDate ? new Date(this.startDate) : this.startDate;\n }\n if (this.endDate !== undefined && this.endDate !== null) {\n this.endDate = this.endDate ? new Date(this.endDate) : this.endDate;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new RaffleSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.startDate, input === null || input === void 0 ? void 0 : input.endDate, input === null || input === void 0 ? void 0 : input.hasSoldOut, input === null || input === void 0 ? void 0 : input.maxTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsAmountCents);\n }\n}\nclass ReadPurchaseLevelInput {\n constructor(organizationID, raffleID, purchaseLevelID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPurchaseLevelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.purchaseLevelID);\n }\n}\nclass ReadPurchaseLevelOutput {\n constructor(organizationID, raffleID, id, name, description, descriptionMarkdown, quantityTickets, priceCents, totalPurchasesCount, totalPurchasesAmountCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.quantityTickets = quantityTickets !== null && quantityTickets !== void 0 ? quantityTickets : 0;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : 0;\n this.totalPurchasesCount = totalPurchasesCount !== null && totalPurchasesCount !== void 0 ? totalPurchasesCount : 0;\n this.totalPurchasesAmountCents = totalPurchasesAmountCents !== null && totalPurchasesAmountCents !== void 0 ? totalPurchasesAmountCents : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadPurchaseLevelOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.quantityTickets, input === null || input === void 0 ? void 0 : input.priceCents, input === null || input === void 0 ? void 0 : input.totalPurchasesCount, input === null || input === void 0 ? void 0 : input.totalPurchasesAmountCents);\n }\n}\nclass ReadRaffleInput {\n constructor(organizationID, raffleID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadRaffleInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID);\n }\n}\nclass ReadRaffleOutput {\n constructor(organizationID, id, name, description, startDate, endDate, hasSoldOut, descriptionMarkdown, rulesMarkdown, bannerImageURL, bannerImageUploadToken, currencyCode, tags, thankYouMessageMarkdown, shortURL, maxTicketsCount, totalTicketsCount, totalTicketsAmountCents, displayProgressInFlow, purchaseLevelOrder, merchantAccountID, hasPaymentRestrictions, isCardAllowed, isCashAllowed, isCheckAllowed, isOtherAllowed) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.startDate = startDate !== null && startDate !== void 0 ? startDate : null;\n this.endDate = endDate !== null && endDate !== void 0 ? endDate : null;\n this.hasSoldOut = hasSoldOut !== null && hasSoldOut !== void 0 ? hasSoldOut : false;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : \"\";\n this.rulesMarkdown = rulesMarkdown !== null && rulesMarkdown !== void 0 ? rulesMarkdown : \"\";\n this.bannerImageURL = bannerImageURL !== null && bannerImageURL !== void 0 ? bannerImageURL : \"\";\n this.bannerImageUploadToken = bannerImageUploadToken !== null && bannerImageUploadToken !== void 0 ? bannerImageUploadToken : \"\";\n this.currencyCode = currencyCode !== null && currencyCode !== void 0 ? currencyCode : \"\";\n this.tags = tags !== null && tags !== void 0 ? tags : [];\n this.thankYouMessageMarkdown = thankYouMessageMarkdown !== null && thankYouMessageMarkdown !== void 0 ? thankYouMessageMarkdown : \"\";\n this.shortURL = shortURL !== null && shortURL !== void 0 ? shortURL : \"\";\n this.maxTicketsCount = maxTicketsCount !== null && maxTicketsCount !== void 0 ? maxTicketsCount : 0;\n this.totalTicketsCount = totalTicketsCount !== null && totalTicketsCount !== void 0 ? totalTicketsCount : 0;\n this.totalTicketsAmountCents = totalTicketsAmountCents !== null && totalTicketsAmountCents !== void 0 ? totalTicketsAmountCents : 0;\n this.displayProgressInFlow = displayProgressInFlow !== null && displayProgressInFlow !== void 0 ? displayProgressInFlow : false;\n this.purchaseLevelOrder = purchaseLevelOrder !== null && purchaseLevelOrder !== void 0 ? purchaseLevelOrder : [];\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n this.hasPaymentRestrictions = hasPaymentRestrictions !== null && hasPaymentRestrictions !== void 0 ? hasPaymentRestrictions : false;\n this.isCardAllowed = isCardAllowed !== null && isCardAllowed !== void 0 ? isCardAllowed : false;\n this.isCashAllowed = isCashAllowed !== null && isCashAllowed !== void 0 ? isCashAllowed : false;\n this.isCheckAllowed = isCheckAllowed !== null && isCheckAllowed !== void 0 ? isCheckAllowed : false;\n this.isOtherAllowed = isOtherAllowed !== null && isOtherAllowed !== void 0 ? isOtherAllowed : false;\n }\n convertDates() {\n if (this.startDate !== undefined && this.startDate !== null) {\n this.startDate = this.startDate ? new Date(this.startDate) : this.startDate;\n }\n if (this.endDate !== undefined && this.endDate !== null) {\n this.endDate = this.endDate ? new Date(this.endDate) : this.endDate;\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.tags) {\n this.tags = [];\n }\n if (!this.purchaseLevelOrder) {\n this.purchaseLevelOrder = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadRaffleOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.startDate, input === null || input === void 0 ? void 0 : input.endDate, input === null || input === void 0 ? void 0 : input.hasSoldOut, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.rulesMarkdown, input === null || input === void 0 ? void 0 : input.bannerImageURL, input === null || input === void 0 ? void 0 : input.bannerImageUploadToken, input === null || input === void 0 ? void 0 : input.currencyCode, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.thankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.shortURL, input === null || input === void 0 ? void 0 : input.maxTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsCount, input === null || input === void 0 ? void 0 : input.totalTicketsAmountCents, input === null || input === void 0 ? void 0 : input.displayProgressInFlow, input === null || input === void 0 ? void 0 : input.purchaseLevelOrder, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.hasPaymentRestrictions, input === null || input === void 0 ? void 0 : input.isCardAllowed, input === null || input === void 0 ? void 0 : input.isCashAllowed, input === null || input === void 0 ? void 0 : input.isCheckAllowed, input === null || input === void 0 ? void 0 : input.isOtherAllowed);\n }\n}\nclass ReadTicketInput {\n constructor(organizationID, raffleID, ticketID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.ticketID);\n }\n}\nclass ReadTicketOutput {\n constructor(organizationID, raffleID, id, name, lastName, email, mobilePhone, code, batchID, purchaseLevelID, purchasedItemID, winnerOn, prizeWonDescription, rejectedOn, rejectedReason, sentEmailOn, sentSMSOn, redeemedOn) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.code = code !== null && code !== void 0 ? code : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.purchasedItemID = purchasedItemID !== null && purchasedItemID !== void 0 ? purchasedItemID : \"\";\n this.winnerOn = winnerOn !== null && winnerOn !== void 0 ? winnerOn : null;\n this.prizeWonDescription = prizeWonDescription !== null && prizeWonDescription !== void 0 ? prizeWonDescription : \"\";\n this.rejectedOn = rejectedOn !== null && rejectedOn !== void 0 ? rejectedOn : null;\n this.rejectedReason = rejectedReason !== null && rejectedReason !== void 0 ? rejectedReason : \"\";\n this.sentEmailOn = sentEmailOn !== null && sentEmailOn !== void 0 ? sentEmailOn : null;\n this.sentSMSOn = sentSMSOn !== null && sentSMSOn !== void 0 ? sentSMSOn : null;\n this.redeemedOn = redeemedOn !== null && redeemedOn !== void 0 ? redeemedOn : null;\n }\n convertDates() {\n if (this.winnerOn !== undefined && this.winnerOn !== null) {\n this.winnerOn = this.winnerOn ? new Date(this.winnerOn) : this.winnerOn;\n }\n if (this.rejectedOn !== undefined && this.rejectedOn !== null) {\n this.rejectedOn = this.rejectedOn ? new Date(this.rejectedOn) : this.rejectedOn;\n }\n if (this.sentEmailOn !== undefined && this.sentEmailOn !== null) {\n this.sentEmailOn = this.sentEmailOn ? new Date(this.sentEmailOn) : this.sentEmailOn;\n }\n if (this.sentSMSOn !== undefined && this.sentSMSOn !== null) {\n this.sentSMSOn = this.sentSMSOn ? new Date(this.sentSMSOn) : this.sentSMSOn;\n }\n if (this.redeemedOn !== undefined && this.redeemedOn !== null) {\n this.redeemedOn = this.redeemedOn ? new Date(this.redeemedOn) : this.redeemedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReadTicketOutput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.code, input === null || input === void 0 ? void 0 : input.batchID, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.purchasedItemID, input === null || input === void 0 ? void 0 : input.winnerOn, input === null || input === void 0 ? void 0 : input.prizeWonDescription, input === null || input === void 0 ? void 0 : input.rejectedOn, input === null || input === void 0 ? void 0 : input.rejectedReason, input === null || input === void 0 ? void 0 : input.sentEmailOn, input === null || input === void 0 ? void 0 : input.sentSMSOn, input === null || input === void 0 ? void 0 : input.redeemedOn);\n }\n}\nclass ResendEmailForBatchReservationInput {\n constructor(organizationID, raffleID, batchID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResendEmailForBatchReservationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.batchID);\n }\n}\nclass ResendEmailForBatchReservationOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ResendEmailForBatchReservationOutput();\n }\n}\nclass SelectWinnersInput {\n constructor(organizationID, raffleID, numWinnersToSelect, prizeWonDescription) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.numWinnersToSelect = numWinnersToSelect !== null && numWinnersToSelect !== void 0 ? numWinnersToSelect : 0;\n this.prizeWonDescription = prizeWonDescription !== null && prizeWonDescription !== void 0 ? prizeWonDescription : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SelectWinnersInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.numWinnersToSelect, input === null || input === void 0 ? void 0 : input.prizeWonDescription);\n }\n}\nclass SelectWinnersOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SelectWinnersOutput();\n }\n}\nclass TicketSummary {\n constructor(organizationID, raffleID, id, name, lastName, email, mobilePhone, code, batchID, purchaseLevelID, winnerOn, prizeWonDescription, rejectedOn, rejectedReason, sentEmailOn, sentSMSOn, redeemedOn) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : \"\";\n this.code = code !== null && code !== void 0 ? code : \"\";\n this.batchID = batchID !== null && batchID !== void 0 ? batchID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.winnerOn = winnerOn !== null && winnerOn !== void 0 ? winnerOn : null;\n this.prizeWonDescription = prizeWonDescription !== null && prizeWonDescription !== void 0 ? prizeWonDescription : \"\";\n this.rejectedOn = rejectedOn !== null && rejectedOn !== void 0 ? rejectedOn : null;\n this.rejectedReason = rejectedReason !== null && rejectedReason !== void 0 ? rejectedReason : \"\";\n this.sentEmailOn = sentEmailOn !== null && sentEmailOn !== void 0 ? sentEmailOn : null;\n this.sentSMSOn = sentSMSOn !== null && sentSMSOn !== void 0 ? sentSMSOn : null;\n this.redeemedOn = redeemedOn !== null && redeemedOn !== void 0 ? redeemedOn : null;\n }\n convertDates() {\n if (this.winnerOn !== undefined && this.winnerOn !== null) {\n this.winnerOn = this.winnerOn ? new Date(this.winnerOn) : this.winnerOn;\n }\n if (this.rejectedOn !== undefined && this.rejectedOn !== null) {\n this.rejectedOn = this.rejectedOn ? new Date(this.rejectedOn) : this.rejectedOn;\n }\n if (this.sentEmailOn !== undefined && this.sentEmailOn !== null) {\n this.sentEmailOn = this.sentEmailOn ? new Date(this.sentEmailOn) : this.sentEmailOn;\n }\n if (this.sentSMSOn !== undefined && this.sentSMSOn !== null) {\n this.sentSMSOn = this.sentSMSOn ? new Date(this.sentSMSOn) : this.sentSMSOn;\n }\n if (this.redeemedOn !== undefined && this.redeemedOn !== null) {\n this.redeemedOn = this.redeemedOn ? new Date(this.redeemedOn) : this.redeemedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TicketSummary(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.code, input === null || input === void 0 ? void 0 : input.batchID, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.winnerOn, input === null || input === void 0 ? void 0 : input.prizeWonDescription, input === null || input === void 0 ? void 0 : input.rejectedOn, input === null || input === void 0 ? void 0 : input.rejectedReason, input === null || input === void 0 ? void 0 : input.sentEmailOn, input === null || input === void 0 ? void 0 : input.sentSMSOn, input === null || input === void 0 ? void 0 : input.redeemedOn);\n }\n}\nclass UpdatePurchaseLevelInput {\n constructor(organizationID, raffleID, purchaseLevelID, name, description, descriptionMarkdown, quantityTickets, priceCents) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.purchaseLevelID = purchaseLevelID !== null && purchaseLevelID !== void 0 ? purchaseLevelID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.quantityTickets = quantityTickets !== null && quantityTickets !== void 0 ? quantityTickets : null;\n this.priceCents = priceCents !== null && priceCents !== void 0 ? priceCents : null;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchaseLevelInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.purchaseLevelID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.quantityTickets, input === null || input === void 0 ? void 0 : input.priceCents);\n }\n}\nclass UpdatePurchaseLevelOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchaseLevelOutput();\n }\n}\nclass UpdateRaffleInput {\n constructor(organizationID, raffleID, name, description, startDate, endDate, descriptionMarkdown, rulesMarkdown, bannerImageURL, bannerImageUploadToken, currencyCode, tags, thankYouMessageMarkdown, maxTicketsCount, displayProgressInFlow, purchaseLevelOrder, merchantAccountID, hasPaymentRestrictions, isCardAllowed, isCashAllowed, isCheckAllowed, isOtherAllowed) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.description = description !== null && description !== void 0 ? description : null;\n this.startDate = startDate !== null && startDate !== void 0 ? startDate : null;\n this.endDate = endDate !== null && endDate !== void 0 ? endDate : null;\n this.descriptionMarkdown = descriptionMarkdown !== null && descriptionMarkdown !== void 0 ? descriptionMarkdown : null;\n this.rulesMarkdown = rulesMarkdown !== null && rulesMarkdown !== void 0 ? rulesMarkdown : null;\n this.bannerImageURL = bannerImageURL !== null && bannerImageURL !== void 0 ? bannerImageURL : null;\n this.bannerImageUploadToken = bannerImageUploadToken !== null && bannerImageUploadToken !== void 0 ? bannerImageUploadToken : null;\n this.currencyCode = currencyCode !== null && currencyCode !== void 0 ? currencyCode : null;\n this.tags = tags !== null && tags !== void 0 ? tags : null;\n this.thankYouMessageMarkdown = thankYouMessageMarkdown !== null && thankYouMessageMarkdown !== void 0 ? thankYouMessageMarkdown : null;\n this.maxTicketsCount = maxTicketsCount !== null && maxTicketsCount !== void 0 ? maxTicketsCount : null;\n this.displayProgressInFlow = displayProgressInFlow !== null && displayProgressInFlow !== void 0 ? displayProgressInFlow : null;\n this.purchaseLevelOrder = purchaseLevelOrder !== null && purchaseLevelOrder !== void 0 ? purchaseLevelOrder : null;\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : null;\n this.hasPaymentRestrictions = hasPaymentRestrictions !== null && hasPaymentRestrictions !== void 0 ? hasPaymentRestrictions : null;\n this.isCardAllowed = isCardAllowed !== null && isCardAllowed !== void 0 ? isCardAllowed : null;\n this.isCashAllowed = isCashAllowed !== null && isCashAllowed !== void 0 ? isCashAllowed : null;\n this.isCheckAllowed = isCheckAllowed !== null && isCheckAllowed !== void 0 ? isCheckAllowed : null;\n this.isOtherAllowed = isOtherAllowed !== null && isOtherAllowed !== void 0 ? isOtherAllowed : null;\n }\n convertDates() {\n if (this.startDate !== undefined && this.startDate !== null) {\n this.startDate = this.startDate ? new Date(this.startDate) : this.startDate;\n }\n if (this.endDate !== undefined && this.endDate !== null) {\n this.endDate = this.endDate ? new Date(this.endDate) : this.endDate;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateRaffleInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.startDate, input === null || input === void 0 ? void 0 : input.endDate, input === null || input === void 0 ? void 0 : input.descriptionMarkdown, input === null || input === void 0 ? void 0 : input.rulesMarkdown, input === null || input === void 0 ? void 0 : input.bannerImageURL, input === null || input === void 0 ? void 0 : input.bannerImageUploadToken, input === null || input === void 0 ? void 0 : input.currencyCode, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.thankYouMessageMarkdown, input === null || input === void 0 ? void 0 : input.maxTicketsCount, input === null || input === void 0 ? void 0 : input.displayProgressInFlow, input === null || input === void 0 ? void 0 : input.purchaseLevelOrder, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.hasPaymentRestrictions, input === null || input === void 0 ? void 0 : input.isCardAllowed, input === null || input === void 0 ? void 0 : input.isCashAllowed, input === null || input === void 0 ? void 0 : input.isCheckAllowed, input === null || input === void 0 ? void 0 : input.isOtherAllowed);\n }\n}\nclass UpdateRaffleOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateRaffleOutput();\n }\n}\nclass UpdateTicketInput {\n constructor(organizationID, raffleID, ticketID, name, lastName, email, mobilePhone, prizeWonDescription, rejectedOn, rejectedReason, redeemedOn) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.raffleID = raffleID !== null && raffleID !== void 0 ? raffleID : \"\";\n this.ticketID = ticketID !== null && ticketID !== void 0 ? ticketID : \"\";\n this.name = name !== null && name !== void 0 ? name : null;\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : null;\n this.email = email !== null && email !== void 0 ? email : null;\n this.mobilePhone = mobilePhone !== null && mobilePhone !== void 0 ? mobilePhone : null;\n this.prizeWonDescription = prizeWonDescription !== null && prizeWonDescription !== void 0 ? prizeWonDescription : null;\n this.rejectedOn = rejectedOn !== null && rejectedOn !== void 0 ? rejectedOn : null;\n this.rejectedReason = rejectedReason !== null && rejectedReason !== void 0 ? rejectedReason : null;\n this.redeemedOn = redeemedOn !== null && redeemedOn !== void 0 ? redeemedOn : null;\n }\n convertDates() {\n if (this.rejectedOn !== undefined && this.rejectedOn !== null) {\n this.rejectedOn = this.rejectedOn ? new Date(this.rejectedOn) : this.rejectedOn;\n }\n if (this.redeemedOn !== undefined && this.redeemedOn !== null) {\n this.redeemedOn = this.redeemedOn ? new Date(this.redeemedOn) : this.redeemedOn;\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.raffleID, input === null || input === void 0 ? void 0 : input.ticketID, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.mobilePhone, input === null || input === void 0 ? void 0 : input.prizeWonDescription, input === null || input === void 0 ? void 0 : input.rejectedOn, input === null || input === void 0 ? void 0 : input.rejectedReason, input === null || input === void 0 ? void 0 : input.redeemedOn);\n }\n}\nclass UpdateTicketOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdateTicketOutput();\n }\n}\n\nvar ItemName;\n(function (ItemName) {\n ItemName[\"Donation\"] = \"Donation\";\n ItemName[\"AppealDonation\"] = \"Appeal Donation\";\n})(ItemName || (ItemName = {}));\nvar ItemSubtitle;\n(function (ItemSubtitle) {\n ItemSubtitle[\"Impact\"] = \"Donation\";\n ItemSubtitle[\"FixedPrice\"] = \"Shop Item\";\n ItemSubtitle[\"SilentAuction\"] = \"Silent Auction Item\";\n ItemSubtitle[\"LiveAuction\"] = \"Live Auction Item\";\n ItemSubtitle[\"Raffle\"] = \"Raffle Tickets\";\n ItemSubtitle[\"MiscCharge\"] = \"Misc. Charge\";\n})(ItemSubtitle || (ItemSubtitle = {}));\nclass GroupedPurchasedItemSummary extends PurchasedItemSummaryWithTax {\n}\nclass CartItemComponent {\n constructor(cartItemsService) {\n this.cartItemsService = cartItemsService;\n this.useCompactRows = false;\n this.showCheckbox = false;\n this.isItemSelected = false;\n }\n ngOnInit() {\n if (this.showCheckbox) {\n this.cartItemsService.getSelectedCartItems().subscribe(items => {\n this.isItemSelected = !!(items === null || items === void 0 ? void 0 : items.find(item => { var _a; return item.id === ((_a = this.item) === null || _a === void 0 ? void 0 : _a.id); }));\n });\n }\n }\n onItemSelected() {\n const selectedItem = JSON.parse(JSON.stringify(this.item));\n selectedItem.selected = this.isItemSelected;\n this.cartItemsService.setCartItemSelected(selectedItem);\n }\n get name() {\n switch (this.item.type) {\n case 'vevt-donation':\n return ItemName.Donation;\n case 'vevt-appeal':\n return ItemName.AppealDonation;\n }\n return this.item.itemDetails.itemName;\n }\n get subtitle() {\n if (this.item.paidByDisplayName != '') {\n return 'Paid by ' + this.item.paidByDisplayName;\n }\n if (this.item.purchasedByDisplayName != '') {\n return 'Purchased by ' + this.item.purchasedByDisplayName;\n }\n switch (this.item.type) {\n case 'vevt-impact':\n return ItemSubtitle.Impact;\n case 'vevt-fixed-price':\n return ItemSubtitle.FixedPrice;\n case 'vevt-auction-lot':\n if (this.item.itemDetails.auctionType === 'silent') {\n return ItemSubtitle.SilentAuction;\n }\n else {\n return ItemSubtitle.LiveAuction;\n }\n case 'vevt-raffle':\n return ItemSubtitle.Raffle;\n case 'vevt-misc':\n return ItemSubtitle.MiscCharge;\n default:\n return '';\n }\n }\n}\nCartItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemComponent, deps: [{ token: CartItemsService }], target: i0.ɵɵFactoryTarget.Component });\nCartItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: CartItemComponent, selector: \"phaas-ngcart-item\", inputs: { item: \"item\", useCompactRows: \"useCompactRows\", showCheckbox: \"showCheckbox\" }, ngImport: i0, template: \"
\\n
\\n
\\n \\n
\\n
\\n \\n inventory\\n \\n local_activity\\n gavel\\n \\n \\n miscellaneous_services\\n favorite\\n
\\n
\\n \\\"purchased\\n
\\n
\\n
{{ name }}\\n 1\\\" class=\\\"cart-list-item__quantity\\\">\\n x{{item!.itemDetails!.quantity}}\\n
\\n {{ subtitle }}\\n
\\n
\\n
{{ (item!.amountCents ?? 0) / 100 | currency }}
\\n
\\n + {{ ((item!.taxAmountCents ?? 0) / 100) | currency}} Tax
\\n
\\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Inter:wght@400;600\\\";.cart-list-item__container{width:100%;background:#fff;display:flex;flex-direction:column;justify-content:center}.cart-list-item__container-expanded{height:96px;border-bottom:1px solid rgba(0,0,0,.1);border-top:1px solid rgba(0,0,0,.1)}.cart-list-item__container-compact{min-height:3.6rem;margin:.5rem 0}.cart-list-item{font-family:\\\"Inter\\\",sans-serif;margin:0 16px;display:flex;justify-content:left;align-items:center;cursor:default;font-size:16px;line-height:20px}.cart-list-item__image{height:48px;width:48px;margin-right:16px}.cart-list-item__image>img{object-fit:cover;height:48px;width:48px}.cart-list-item__image-placeholder{margin:0 auto;position:relative;font-size:48px;height:48px;width:48px;filter:brightness(75%)}.cart-list-item__details{flex:1;overflow:hidden}.cart-list-item__name{font-weight:600;font-size:14px;color:#17232c;overflow:hidden;text-overflow:ellipsis}.cart-list-item__quantity{font-weight:400;font-size:14px;color:#0009;margin-left:2px}.cart-list-item__subtitle{font-weight:400;font-size:12px;color:#0009}.cart-list-item__amount{color:#000c;font-size:14px}.cart-list-item__checkbox{display:inline-flex;cursor:pointer;position:relative}.checkbox{margin-right:15px}.cart-list-item__amount-container{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;font-weight:400}.cart-list-item__tax-amount{color:#0009;font-size:12px;margin-top:4px}\\n\"], components: [{ type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { type: i6.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i6.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }, { type: i6.NgSwitchDefault, selector: \"[ngSwitchDefault]\" }], pipes: { \"currency\": i1$1.ExtendedCurrencyPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-item',\n templateUrl: './cart-item.component.html',\n styleUrls: ['./cart-item.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: CartItemsService }]; }, propDecorators: { item: [{\n type: Input\n }], useCompactRows: [{\n type: Input\n }], showCheckbox: [{\n type: Input\n }] } });\n\nclass CartItemsListComponent {\n constructor(virtualEventClient, inventoryClient, raffleClient) {\n this.virtualEventClient = virtualEventClient;\n this.inventoryClient = inventoryClient;\n this.raffleClient = raffleClient;\n this.items = [];\n this.itemType = '';\n this.aggregateItemsByType = true;\n this.allowUnpaidItemsSelection = false;\n this.useCompactRows = false;\n this.groupedItems = [];\n this.buildFunctionToFind = (itemToFind) => (itemInArray) => {\n if (this.itemType === 'vevt-impact' && itemInArray.impactID !== itemToFind.impactID) {\n return false;\n }\n if (this.itemType === 'vevt-fixed-price' && itemInArray.fixedPriceItemID !== itemToFind.fixedPriceItemID) {\n return false;\n }\n if (itemInArray.purchaseID) { // has been paid\n return itemInArray.paidByGuestID === itemToFind.paidByGuestID;\n }\n else {\n return itemInArray.proxyGuestID === itemToFind.proxyGuestID;\n }\n };\n }\n ngOnChanges() {\n if (!this.items || this.items.length === 0) {\n return;\n }\n this.groupedItems = this.items.filter(item => item.type === this.itemType);\n if (this.groupedItems.length === 0) {\n return;\n }\n switch (this.itemType) {\n case 'vevt-donation':\n case 'vevt-appeal':\n if (this.aggregateItemsByType) {\n this.aggregateItems();\n }\n break;\n case 'vevt-impact':\n if (this.aggregateItemsByType) {\n this.aggregateItems();\n }\n this.getImpactPhotoURLs();\n break;\n case 'vevt-fixed-price':\n if (this.aggregateItemsByType) {\n this.aggregateItems();\n }\n this.getFixedPriceItemPhotoURLs();\n break;\n case 'vevt-raffle':\n if (this.aggregateItemsByType) {\n this.aggregateRaffleItems();\n }\n else {\n this.formatRaffleItems();\n }\n this.getRafflePhotoURL();\n break;\n case 'vevt-auction-lot':\n this.sortAuctionLots();\n this.getAuctionLotPrimaryPhotoURL();\n break;\n case 'vevt-misc':\n this.sortItemsByName();\n break;\n }\n }\n aggregateItems() {\n let aggregatedItems = [];\n this.groupedItems.forEach(item => {\n var _a;\n const existingItem = aggregatedItems.find(this.buildFunctionToFind(item));\n if (existingItem) {\n existingItem.amountCents += item.amountCents;\n existingItem.itemDetails.quantity++;\n if (this.itemType !== 'vevt-donation' && this.itemType !== 'vevt-appeal') {\n existingItem.taxAmountCents += (_a = item.taxAmountCents) !== null && _a !== void 0 ? _a : 0;\n }\n }\n else {\n if (!item.itemDetails) {\n item.itemDetails = new ItemPurchaseDetails();\n }\n if (!item.itemDetails.quantity) {\n item.itemDetails.quantity = 1;\n }\n aggregatedItems.push(item);\n }\n });\n this.groupedItems = new Array();\n this.groupedItems.push(...aggregatedItems);\n }\n aggregateRaffleItems() {\n let aggregatedRaffles = [];\n this.groupedItems.forEach(item => {\n const existingItem = aggregatedRaffles.find(this.buildFunctionToFind(item));\n if (existingItem) {\n existingItem.amountCents += item.amountCents;\n existingItem.itemDetails.quantity += item.raffleDetails.quantityTickets;\n }\n else {\n if (!item.itemDetails) {\n item.itemDetails = new ItemPurchaseDetails();\n }\n if (!item.itemDetails.quantity) {\n item.itemDetails.quantity = item.raffleDetails.quantityTickets;\n }\n if (!item.itemDetails.itemName) {\n item.itemDetails.itemName = item.raffleDetails.raffleName;\n }\n aggregatedRaffles.push(item);\n }\n });\n this.groupedItems = new Array();\n this.groupedItems.push(...aggregatedRaffles);\n }\n formatRaffleItems() {\n this.groupedItems.forEach(raffleItem => {\n if (!raffleItem.itemDetails) {\n raffleItem.itemDetails = new ItemPurchaseDetails();\n }\n raffleItem.itemDetails.itemName = raffleItem.raffleDetails.raffleName;\n raffleItem.itemDetails.quantity = raffleItem.raffleDetails.quantityTickets;\n });\n }\n sortAuctionLots() {\n const sortedItems = this.groupedItems.sort((a, b) => {\n if (a.itemDetails.auctionType > b.itemDetails.auctionType) {\n return -1;\n }\n if (a.itemDetails.auctionType < b.itemDetails.auctionType) {\n return 1;\n }\n return 0;\n });\n this.groupedItems = sortedItems;\n }\n getImpactPhotoURLs() {\n this.groupedItems.forEach(impactItem => {\n this.virtualEventClient.listImpactPhotos(new ListImpactPhotosInput(impactItem.organizationID, impactItem.eventID, impactItem.impactID, new PagingInput().Take(1))).subscribe((out) => {\n if (out && out.items && out.items.length > 0) {\n impactItem.cartImageURL = out.items[0].url;\n }\n });\n });\n }\n getFixedPriceItemPhotoURLs() {\n this.groupedItems.forEach(fixedPriceItem => {\n this.virtualEventClient.listFixedPriceItemPhotos(new ListFixedPriceItemPhotosInput(fixedPriceItem.organizationID, fixedPriceItem.eventID, fixedPriceItem.fixedPriceItemID, new PagingInput().Take(1))).subscribe((out) => {\n if (out && out.items && out.items.length > 0) {\n fixedPriceItem.cartImageURL = out.items[0].url;\n }\n });\n });\n }\n getRafflePhotoURL() {\n this.groupedItems.forEach(raffleItem => {\n this.raffleClient.readRaffle(new ReadRaffleInput(raffleItem.organizationID, raffleItem.raffleDetails.raffleID)).subscribe((out) => {\n if (out) {\n raffleItem.cartImageURL = out.bannerImageURL;\n }\n });\n });\n }\n getAuctionLotPrimaryPhotoURL() {\n this.groupedItems.forEach(auctionItem => {\n this.inventoryClient.readLot(new ReadLotInput(auctionItem.lotID, auctionItem.organizationID, auctionItem.auctionID)).subscribe((out) => {\n if (out) {\n auctionItem.cartImageURL = out.primaryPhotoURL;\n }\n });\n });\n }\n sortItemsByName() {\n const sortedItems = this.groupedItems.sort((a, b) => {\n if (a.itemDetails.itemName < b.itemDetails.itemName) {\n return -1;\n }\n if (a.itemDetails.itemName > b.itemDetails.itemName) {\n return 1;\n }\n return 0;\n });\n this.groupedItems = sortedItems;\n }\n}\nCartItemsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemsListComponent, deps: [{ token: VirtualEventRestService }, { token: InventoryRestService }, { token: RaffleRestService }], target: i0.ɵɵFactoryTarget.Component });\nCartItemsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: CartItemsListComponent, selector: \"phaas-ngcart-items-list\", inputs: { items: \"items\", itemType: \"itemType\", aggregateItemsByType: \"aggregateItemsByType\", allowUnpaidItemsSelection: \"allowUnpaidItemsSelection\", useCompactRows: \"useCompactRows\" }, usesOnChanges: true, ngImport: i0, template: \"
\\n
\\n \\n
\\n
\", styles: [\"\"], components: [{ type: CartItemComponent, selector: \"phaas-ngcart-item\", inputs: [\"item\", \"useCompactRows\", \"showCheckbox\"] }], directives: [{ type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartItemsListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-items-list',\n templateUrl: './cart-items-list.component.html',\n styleUrls: ['./cart-items-list.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }, { type: InventoryRestService }, { type: RaffleRestService }]; }, propDecorators: { items: [{\n type: Input\n }], itemType: [{\n type: Input\n }], aggregateItemsByType: [{\n type: Input\n }], allowUnpaidItemsSelection: [{\n type: Input\n }], useCompactRows: [{\n type: Input\n }] } });\n\nclass CartListComponent {\n constructor(cartItemsService) {\n this.cartItemsService = cartItemsService;\n this.items = [];\n this.aggregateItemsByType = true;\n this.allowUnpaidItemsSelection = false;\n this.useCompactRows = false;\n this.order = [];\n this.selectAllItems = true;\n }\n ngOnInit() {\n this.order = DefaultItemsDisplayOrder;\n if (this.itemsPaidStatus === ItemsPaidStatus.UNPAID) {\n this.cartItemsService.setSelectedCartItems(this.items);\n if (this.allowUnpaidItemsSelection) {\n this.cartItemsService.getSelectedCartItems().subscribe(items => {\n this.selectAllItems = (items === null || items === void 0 ? void 0 : items.length) === this.items.length;\n });\n }\n }\n }\n onSelectAllItemsChanged() {\n if (this.selectAllItems) {\n this.cartItemsService.setSelectedCartItems(this.items);\n }\n else {\n this.cartItemsService.setSelectedCartItems(null);\n }\n }\n get itemsPaidStatus() {\n var _a;\n return ((_a = this.items[0]) === null || _a === void 0 ? void 0 : _a.purchaseID) ? ItemsPaidStatus.PAID : ItemsPaidStatus.UNPAID;\n }\n}\nCartListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartListComponent, deps: [{ token: CartItemsService }], target: i0.ɵɵFactoryTarget.Component });\nCartListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: CartListComponent, selector: \"phaas-ngcart-cart-list\", inputs: { items: \"items\", aggregateItemsByType: \"aggregateItemsByType\", allowUnpaidItemsSelection: \"allowUnpaidItemsSelection\", useCompactRows: \"useCompactRows\" }, ngImport: i0, template: \"
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Inter:wght@400;600\\\";.cart-list__select-all{flex-grow:0;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;grid-gap:16px;gap:16px;padding:9px 16px;border-top:1px solid #e7e8e9;box-shadow:0 1px #e7e8e9;background-color:#fff}.cart-list-item__checkbox{display:inline-flex;cursor:pointer;position:relative}.checkbox{display:flex;flex-direction:row;align-items:center}.checkbox>span{flex-grow:1;font-family:\\\"Inter\\\",sans-serif;font-size:12px;font-weight:500;margin:2px 0 0 16px}\\n\"], components: [{ type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: CartItemsListComponent, selector: \"phaas-ngcart-items-list\", inputs: [\"items\", \"itemType\", \"aggregateItemsByType\", \"allowUnpaidItemsSelection\", \"useCompactRows\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CartListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-cart-list',\n templateUrl: './cart-list.component.html',\n styleUrls: ['./cart-list.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: CartItemsService }]; }, propDecorators: { items: [{\n type: Input\n }], aggregateItemsByType: [{\n type: Input\n }], allowUnpaidItemsSelection: [{\n type: Input\n }], useCompactRows: [{\n type: Input\n }] } });\n\nclass PaymentLinkDialogData {\n constructor(guestSummary) {\n this.guestSummary = guestSummary;\n }\n}\nclass PaymentLinkDialogOutput {\n constructor(refreshCart, exitCart) {\n this.refreshCart = refreshCart;\n this.exitCart = exitCart;\n }\n}\nvar PaymentLinkDialogStage;\n(function (PaymentLinkDialogStage) {\n PaymentLinkDialogStage[\"ENTRY\"] = \"entry\";\n PaymentLinkDialogStage[\"LOADING\"] = \"loading\";\n PaymentLinkDialogStage[\"SENT\"] = \"sent\";\n})(PaymentLinkDialogStage || (PaymentLinkDialogStage = {}));\nclass PaymentLinkDialogComponent {\n constructor(dialogData, dialogRef, virtualEventRestService) {\n this.dialogData = dialogData;\n this.dialogRef = dialogRef;\n this.virtualEventRestService = virtualEventRestService;\n this.guestSummary = new GuestSummary();\n this.defaultPhoneNumber = '';\n this.attendeeName = '';\n this.phoneNumberControl = new FormControl('', [Validators.required, PhoneNumberValidator()]);\n this.stage = PaymentLinkDialogStage.ENTRY;\n }\n ngOnInit() {\n this.stage = PaymentLinkDialogStage.ENTRY;\n this.guestSummary = this.dialogData.guestSummary;\n this.phoneNumberControl.setValue(this.guestSummary.mobilePhone || '');\n this.defaultPhoneNumber = PhoneNumberFormatter.applyPhoneNumberMask(this.guestSummary.mobilePhone || ''); // manually apply this mask to the default number\n this.attendeeName = `${this.guestSummary.firstName} ${this.guestSummary.lastName}`.trim() || 'Guest';\n }\n onClose() {\n this.dialogRef.close();\n }\n onReturnToHome() {\n this.dialogRef.close(new PaymentLinkDialogOutput(false, true));\n }\n onWaitForPayment() {\n this.dialogRef.close(new PaymentLinkDialogOutput(true, false));\n }\n // Reset to the phone number on file or nothing\n onReset() {\n this.phoneNumberControl.setValue(this.defaultPhoneNumber);\n }\n onSend() {\n this.stage = PaymentLinkDialogStage.LOADING;\n if (this.phoneNumberControl.invalid) {\n this.stage = PaymentLinkDialogStage.ENTRY;\n this.phoneNumberControl.markAsTouched();\n return;\n }\n this.virtualEventRestService.textPaymentLink(new TextPaymentLinkInput(this.guestSummary.organizationID, this.guestSummary.eventID, this.guestSummary.id, '', this.phoneNumberControl.value)).subscribe(() => {\n this.stage = PaymentLinkDialogStage.SENT;\n });\n }\n}\nPaymentLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentLinkDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i2$1.MatDialogRef }, { token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Component });\nPaymentLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentLinkDialogComponent, selector: \"phaas-ngcart-payment-link-dialog\", ngImport: i0, template: \"\\n\\n\\n \\n \\n \\n \\n\\n\\n\\n \\n\\n\\n\\n \\n \\n \\n \\n \\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600&display=swap|Inter:wght@600&display=swap\\\";.payment-link-dialog{font-family:\\\"Lato\\\",sans-serif;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.payment-link-dialog__header{text-align:center;font-size:1.25rem;font-weight:600;letter-spacing:0px;color:#17232c}.payment-link-dialog__sub-header{text-align:center;margin-top:1.25rem;font-size:.875rem;font-weight:400;line-height:1.43;letter-spacing:0px;color:#17232cbd}.payment-link-dialog__input{width:100%;margin-top:1rem}.payment-link-dialog__input-field{width:100%}.payment-link-dialog__input-field .mat-form-field-wrapper{padding-bottom:.5rem}.payment-link-dialog__input-field .mat-form-field-wrapper .mat-form-field-subscript-wrapper{margin-top:15px}.payment-link-dialog__input-reset-button{font-size:12px;bottom:.5rem;right:-.5rem}.payment-link-dialog__button-row,.payment-link-dialog__button-row-sent{margin-top:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:center;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;font-weight:600}.payment-link-dialog__button-row-sent{margin-top:1.5rem}.payment-link-dialog__cancel-button{width:5rem;color:#2e729f}.payment-link-dialog__cancel-button.mat-button{border-radius:4px}.payment-link-dialog__submit-button,.payment-link-dialog__return-button{margin-left:.5rem;background-color:#2e729f;color:#fff}.payment-link-dialog__submit-button{width:10.5rem}.payment-link-dialog__wait-button{color:#2e729f}.payment-link-dialog__loading{margin-top:3.5rem}.payment-link-dialog__close-button{position:absolute;top:-20px;right:-20px}\\n\"], components: [{ type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }, { type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i6.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i6.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }, { type: i6.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }, { type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i1$1.PhoneNumberDirective, selector: \"[formControl][phaas-ngcommon-phone-number]\" }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1$2.MatSuffix, selector: \"[matSuffix]\" }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentLinkDialogComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-link-dialog',\n templateUrl: './payment-link-dialog.component.html',\n styleUrls: ['./payment-link-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: PaymentLinkDialogData, decorators: [{\n type: Inject,\n args: [MAT_DIALOG_DATA]\n }] }, { type: i2$1.MatDialogRef }, { type: VirtualEventRestService }]; } });\n\n/* This file is generated, do not change manually */\nclass GivingRestService {\n constructor(httpClient, authHttpClient) {\n this.httpClient = httpClient;\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-giving-api';\n this.jwt = '';\n }\n withJWT(jwt) {\n const newService = new GivingRestService(this.httpClient, this.authHttpClient);\n newService.jwt = jwt;\n return newService;\n }\n getAuthHttpClient() {\n if (this.jwt) {\n return this.httpClient;\n }\n else {\n return this.authHttpClient;\n }\n }\n getHeaders() {\n if (this.jwt) {\n return new HttpHeaders().set('Authorization', 'Bearer ' + this.jwt);\n }\n else {\n return {};\n }\n }\n addDonation(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/purchase/${input.purchaseID}/donations`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddDonationOutput instance, so create a class instance from that object\n map((input) => {\n return AddDonationOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n addManualPayment(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/purchase/${input.purchaseID}/manual-payments`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddManualPaymentOutput instance, so create a class instance from that object\n map((input) => {\n return AddManualPaymentOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n addPayment(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/purchase/${input.purchaseID}/payments`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddPaymentOutput instance, so create a class instance from that object\n map((input) => {\n return AddPaymentOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n addReceipt(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/payments/${input.paymentID}/receipts`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddReceiptOutput instance, so create a class instance from that object\n map((input) => {\n return AddReceiptOutput.fromObject(input).fixClasses();\n }));\n }\n addRefund(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/payments/${input.paymentID}/refunds`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AddRefundOutput instance, so create a class instance from that object\n map((input) => {\n return AddRefundOutput.fromObject(input).fixClasses();\n }));\n }\n allInOnePurchase(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/all-in-one`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) AllInOnePurchaseOutput instance, so create a class instance from that object\n map((input) => {\n return AllInOnePurchaseOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n createMerchantAccountUpdate(input) {\n const url = `${this.urlHost}/merchant-account-update`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) CreateMerchantAccountUpdateOutput instance, so create a class instance from that object\n map((input) => {\n return CreateMerchantAccountUpdateOutput.fromObject(input).fixClasses();\n }));\n }\n getCardInfo(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/merchant-accounts/${input.merchantAccountID}/get-card-info`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetCardInfoOutput instance, so create a class instance from that object\n map((input) => {\n return GetCardInfoOutput.fromObject(input).fixClasses();\n }));\n }\n getMerchantAccountUpdate(input) {\n const url = `${this.urlHost}/merchant-account-update/${input.externalID}`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetMerchantAccountUpdateOutput instance, so create a class instance from that object\n map((input) => {\n return GetMerchantAccountUpdateOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getPurchaseSummary(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/purchase/${input.purchaseID}`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetPurchaseSummaryOutput instance, so create a class instance from that object\n map((input) => {\n return GetPurchaseSummaryOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getReceiptData(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/payments/${input.paymentID}/receipt-data`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetReceiptDataOutput instance, so create a class instance from that object\n map((input) => {\n return GetReceiptDataOutput.fromObject(input).fixClasses();\n }));\n }\n getRefundByExternalID(input) {\n const url = `${this.urlHost}/refunds/${input.externalID}/external`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetRefundByExternalIDOutput instance, so create a class instance from that object\n map((input) => {\n return GetRefundByExternalIDOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getRefundListByPaymentID(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/payments/${input.paymentID}/refunds`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetRefundListByPaymentIDOutput instance, so create a class instance from that object\n map((input) => {\n return GetRefundListByPaymentIDOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n getSourceAggregates(input) {\n const url = `${this.urlHost}/source/${input.source}/aggregates`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetSourceAggregatesOutput instance, so create a class instance from that object\n map((input) => {\n return GetSourceAggregatesOutput.fromObject(input).fixClasses();\n }));\n }\n getSourceLatestDonors(input) {\n const url = `${this.urlHost}/source/${input.source}/latestdonors`;\n const headers = this.getHeaders();\n return this.httpClient.get(url, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) GetSourceLatestDonorsOutput instance, so create a class instance from that object\n map((input) => {\n return GetSourceLatestDonorsOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }));\n }\n initializePurchase(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/purchases`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) InitializePurchaseOutput instance, so create a class instance from that object\n map((input) => {\n return InitializePurchaseOutput.fromObject(input).fixClasses();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n initializeTicketPurchase(input) {\n const url = `${this.urlHost}/purchase/organization/${input.organizationID}/initialize-ticket-purchase`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) InitializeTicketPurchaseOutput instance, so create a class instance from that object\n map((input) => {\n return InitializeTicketPurchaseOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n itemPurchaseAllInOne(input) {\n const url = `${this.urlHost}/organization/${input.organizationID}/items/all-in-one`;\n const headers = this.getHeaders();\n return this.httpClient.post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) ItemPurchaseAllInOneOutput instance, so create a class instance from that object\n map((input) => {\n return ItemPurchaseAllInOneOutput.fromObject(input).fixClasses();\n }), \n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input) => {\n return input.convertUnexpectedNulls();\n }), \n // JSON actually serializes dates as strings, so convert them back to JavaScript Date objects\n map((input) => {\n return input.convertDates();\n }));\n }\n sendReceipt(input) {\n const url = `${this.urlHost}/purchase/organizations/${input.organizationID}/purchases/${input.purchaseID}/send-receipt`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) SendReceiptOutput instance, so create a class instance from that object\n map((input) => {\n return SendReceiptOutput.fromObject(input).fixClasses();\n }));\n }\n updatePurchaseAggregates(input) {\n const url = `${this.urlHost}/purchase/organizations/${input.organizationID}/purchases/${input.purchaseID}/update-aggregates`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) UpdatePurchaseAggregatesOutput instance, so create a class instance from that object\n map((input) => {\n return UpdatePurchaseAggregatesOutput.fromObject(input).fixClasses();\n }));\n }\n voidReceiptAndReissue(input) {\n const url = `${this.urlHost}/purchase/organizations/${input.organizationID}/purchases/${input.purchaseID}/void-receipt-and-reissue`;\n const headers = this.getHeaders();\n return this.getAuthHttpClient().post(url, input, { headers }).pipe(map((response) => {\n return response.payload;\n }), \n // The HttpClient returns an object, not a(n) VoidReceiptAndReissueOutput instance, so create a class instance from that object\n map((input) => {\n return VoidReceiptAndReissueOutput.fromObject(input).fixClasses();\n }));\n }\n}\nGivingRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingRestService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nGivingRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingRestService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingRestService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthHttpClient }]; } });\nclass AddDonationInput {\n constructor(organizationID, purchaseID, source, sourceName, sourceData, impactName, tags, amount, description) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.sourceName = sourceName !== null && sourceName !== void 0 ? sourceName : \"\";\n this.sourceData = sourceData !== null && sourceData !== void 0 ? sourceData : \"\";\n this.impactName = impactName !== null && impactName !== void 0 ? impactName : \"\";\n this.tags = tags !== null && tags !== void 0 ? tags : [];\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n this.description = description !== null && description !== void 0 ? description : new DonationDescription();\n }\n convertUnexpectedNulls() {\n if (!this.tags) {\n this.tags = [];\n }\n return this;\n }\n fixClasses() {\n this.description = DonationDescription.fromObject(this.description).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddDonationInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.sourceName, input === null || input === void 0 ? void 0 : input.sourceData, input === null || input === void 0 ? void 0 : input.impactName, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.amount, input === null || input === void 0 ? void 0 : input.description);\n }\n}\nclass AddDonationOutput {\n constructor(id, purchaseSummary) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddDonationOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.purchaseSummary);\n }\n}\nclass AddItemInput {\n constructor(amountCents, valueCents, tags, type, description, isDonation, source, parentSource, sourceName, sourceData, supporterFirstName, supporterLastName, supporterEmail, supporterMobilePhone, greatfeatsParticipantID, detailsJSON) {\n this.amountCents = amountCents !== null && amountCents !== void 0 ? amountCents : 0;\n this.valueCents = valueCents !== null && valueCents !== void 0 ? valueCents : 0;\n this.tags = tags !== null && tags !== void 0 ? tags : [];\n this.type = type !== null && type !== void 0 ? type : \"\";\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.isDonation = isDonation !== null && isDonation !== void 0 ? isDonation : false;\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.parentSource = parentSource !== null && parentSource !== void 0 ? parentSource : \"\";\n this.sourceName = sourceName !== null && sourceName !== void 0 ? sourceName : \"\";\n this.sourceData = sourceData !== null && sourceData !== void 0 ? sourceData : \"\";\n this.supporterFirstName = supporterFirstName !== null && supporterFirstName !== void 0 ? supporterFirstName : \"\";\n this.supporterLastName = supporterLastName !== null && supporterLastName !== void 0 ? supporterLastName : \"\";\n this.supporterEmail = supporterEmail !== null && supporterEmail !== void 0 ? supporterEmail : \"\";\n this.supporterMobilePhone = supporterMobilePhone !== null && supporterMobilePhone !== void 0 ? supporterMobilePhone : \"\";\n this.greatfeatsParticipantID = greatfeatsParticipantID !== null && greatfeatsParticipantID !== void 0 ? greatfeatsParticipantID : \"\";\n this.detailsJSON = detailsJSON !== null && detailsJSON !== void 0 ? detailsJSON : \"\";\n }\n convertUnexpectedNulls() {\n if (!this.tags) {\n this.tags = [];\n }\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddItemInput(input === null || input === void 0 ? void 0 : input.amountCents, input === null || input === void 0 ? void 0 : input.valueCents, input === null || input === void 0 ? void 0 : input.tags, input === null || input === void 0 ? void 0 : input.type, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.isDonation, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.parentSource, input === null || input === void 0 ? void 0 : input.sourceName, input === null || input === void 0 ? void 0 : input.sourceData, input === null || input === void 0 ? void 0 : input.supporterFirstName, input === null || input === void 0 ? void 0 : input.supporterLastName, input === null || input === void 0 ? void 0 : input.supporterEmail, input === null || input === void 0 ? void 0 : input.supporterMobilePhone, input === null || input === void 0 ? void 0 : input.greatfeatsParticipantID, input === null || input === void 0 ? void 0 : input.detailsJSON);\n }\n}\nclass AddManualPaymentInput {\n constructor(organizationID, purchaseID, userID, paymentType, amount, description, checkNumber) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n this.description = description !== null && description !== void 0 ? description : new PaymentDescription();\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n }\n fixClasses() {\n this.description = PaymentDescription.fromObject(this.description).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddManualPaymentInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.amount, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.checkNumber);\n }\n}\nclass AddManualPaymentOutput {\n constructor(id, transactionSuccess, purchaseSummary) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.transactionSuccess = transactionSuccess !== null && transactionSuccess !== void 0 ? transactionSuccess : false;\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddManualPaymentOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.transactionSuccess, input === null || input === void 0 ? void 0 : input.purchaseSummary);\n }\n}\nclass AddPaymentInput {\n constructor(organizationID, purchaseID, partnerMerchantId, merchantAccountID, userID, submittedByUserID, source, sourceID, sourceName, paymentType, PaymentTypeOtherNotes, cardID, cardHolderUserID, cardName, expiration, cardType, cardLastFour, token, checkNumber, stripeCustomerID, amount, coverFee, coverCostFeeAmountCents, feeAmountCents, ticketFeeAmountCents, salesTaxAmountCents, description, returnFake) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.partnerMerchantId = partnerMerchantId !== null && partnerMerchantId !== void 0 ? partnerMerchantId : \"\";\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n this.userID = userID !== null && userID !== void 0 ? userID : \"\";\n this.submittedByUserID = submittedByUserID !== null && submittedByUserID !== void 0 ? submittedByUserID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.sourceName = sourceName !== null && sourceName !== void 0 ? sourceName : \"\";\n this.paymentType = paymentType !== null && paymentType !== void 0 ? paymentType : \"\";\n this.PaymentTypeOtherNotes = PaymentTypeOtherNotes !== null && PaymentTypeOtherNotes !== void 0 ? PaymentTypeOtherNotes : \"\";\n this.cardID = cardID !== null && cardID !== void 0 ? cardID : \"\";\n this.cardHolderUserID = cardHolderUserID !== null && cardHolderUserID !== void 0 ? cardHolderUserID : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n this.expiration = expiration !== null && expiration !== void 0 ? expiration : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.checkNumber = checkNumber !== null && checkNumber !== void 0 ? checkNumber : \"\";\n this.stripeCustomerID = stripeCustomerID !== null && stripeCustomerID !== void 0 ? stripeCustomerID : \"\";\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n this.coverFee = coverFee !== null && coverFee !== void 0 ? coverFee : false;\n this.coverCostFeeAmountCents = coverCostFeeAmountCents !== null && coverCostFeeAmountCents !== void 0 ? coverCostFeeAmountCents : 0;\n this.feeAmountCents = feeAmountCents !== null && feeAmountCents !== void 0 ? feeAmountCents : 0;\n this.ticketFeeAmountCents = ticketFeeAmountCents !== null && ticketFeeAmountCents !== void 0 ? ticketFeeAmountCents : 0;\n this.salesTaxAmountCents = salesTaxAmountCents !== null && salesTaxAmountCents !== void 0 ? salesTaxAmountCents : 0;\n this.description = description !== null && description !== void 0 ? description : new PaymentDescription();\n this.returnFake = returnFake !== null && returnFake !== void 0 ? returnFake : \"\";\n }\n fixClasses() {\n this.description = PaymentDescription.fromObject(this.description).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddPaymentInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.partnerMerchantId, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.userID, input === null || input === void 0 ? void 0 : input.submittedByUserID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.sourceName, input === null || input === void 0 ? void 0 : input.paymentType, input === null || input === void 0 ? void 0 : input.PaymentTypeOtherNotes, input === null || input === void 0 ? void 0 : input.cardID, input === null || input === void 0 ? void 0 : input.cardHolderUserID, input === null || input === void 0 ? void 0 : input.cardName, input === null || input === void 0 ? void 0 : input.expiration, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.checkNumber, input === null || input === void 0 ? void 0 : input.stripeCustomerID, input === null || input === void 0 ? void 0 : input.amount, input === null || input === void 0 ? void 0 : input.coverFee, input === null || input === void 0 ? void 0 : input.coverCostFeeAmountCents, input === null || input === void 0 ? void 0 : input.feeAmountCents, input === null || input === void 0 ? void 0 : input.ticketFeeAmountCents, input === null || input === void 0 ? void 0 : input.salesTaxAmountCents, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.returnFake);\n }\n}\nclass AddPaymentOutput {\n constructor(id, transactionID, transactionSuccess, stripeCustomerID, purchaseSummary) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.transactionSuccess = transactionSuccess !== null && transactionSuccess !== void 0 ? transactionSuccess : false;\n this.stripeCustomerID = stripeCustomerID !== null && stripeCustomerID !== void 0 ? stripeCustomerID : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddPaymentOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.transactionSuccess, input === null || input === void 0 ? void 0 : input.stripeCustomerID, input === null || input === void 0 ? void 0 : input.purchaseSummary);\n }\n}\nclass AddReceiptInput {\n constructor(organizationID, paymentID, receiptNumber, url) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.receiptNumber = receiptNumber !== null && receiptNumber !== void 0 ? receiptNumber : \"\";\n this.url = url !== null && url !== void 0 ? url : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddReceiptInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.receiptNumber, input === null || input === void 0 ? void 0 : input.url);\n }\n}\nclass AddReceiptOutput {\n constructor(receiptID) {\n this.receiptID = receiptID !== null && receiptID !== void 0 ? receiptID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddReceiptOutput(input === null || input === void 0 ? void 0 : input.receiptID);\n }\n}\nclass AddRefundInput {\n constructor(organizationID, paymentID, reason, amount) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.reason = reason !== null && reason !== void 0 ? reason : \"\";\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddRefundInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.reason, input === null || input === void 0 ? void 0 : input.amount);\n }\n}\nclass AddRefundOutput {\n constructor(refundID, refundType, refundAmount, status) {\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.refundType = refundType !== null && refundType !== void 0 ? refundType : \"\";\n this.refundAmount = refundAmount !== null && refundAmount !== void 0 ? refundAmount : \"\";\n this.status = status !== null && status !== void 0 ? status : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AddRefundOutput(input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.refundType, input === null || input === void 0 ? void 0 : input.refundAmount, input === null || input === void 0 ? void 0 : input.status);\n }\n}\nclass AddTicketInput {\n constructor(organizationID, purchaseID, source, sourceID, sourceName, amount, ticketTypeID, ticketTypeName, ticketDetails, eventDetails) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.sourceName = sourceName !== null && sourceName !== void 0 ? sourceName : \"\";\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n this.ticketTypeID = ticketTypeID !== null && ticketTypeID !== void 0 ? ticketTypeID : \"\";\n this.ticketTypeName = ticketTypeName !== null && ticketTypeName !== void 0 ? ticketTypeName : \"\";\n this.ticketDetails = ticketDetails !== null && ticketDetails !== void 0 ? ticketDetails : new TicketDetails();\n this.eventDetails = eventDetails !== null && eventDetails !== void 0 ? eventDetails : new EventDetails();\n }\n fixClasses() {\n this.ticketDetails = TicketDetails.fromObject(this.ticketDetails).fixClasses();\n this.eventDetails = EventDetails.fromObject(this.eventDetails).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new AddTicketInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.sourceName, input === null || input === void 0 ? void 0 : input.amount, input === null || input === void 0 ? void 0 : input.ticketTypeID, input === null || input === void 0 ? void 0 : input.ticketTypeName, input === null || input === void 0 ? void 0 : input.ticketDetails, input === null || input === void 0 ? void 0 : input.eventDetails);\n }\n}\nclass AllInOneDonationOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AllInOneDonationOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass AllInOnePaymentOutput {\n constructor(id, transactionID, transactionSuccess, stripeCustomerID) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.transactionID = transactionID !== null && transactionID !== void 0 ? transactionID : \"\";\n this.transactionSuccess = transactionSuccess !== null && transactionSuccess !== void 0 ? transactionSuccess : false;\n this.stripeCustomerID = stripeCustomerID !== null && stripeCustomerID !== void 0 ? stripeCustomerID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new AllInOnePaymentOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.transactionID, input === null || input === void 0 ? void 0 : input.transactionSuccess, input === null || input === void 0 ? void 0 : input.stripeCustomerID);\n }\n}\nclass AllInOnePurchaseInput {\n constructor(organizationID, purchase, donations, payments) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchase = purchase !== null && purchase !== void 0 ? purchase : new InitializePurchaseInput();\n this.donations = donations !== null && donations !== void 0 ? donations : [];\n this.payments = payments !== null && payments !== void 0 ? payments : [];\n }\n convertUnexpectedNulls() {\n if (!this.donations) {\n this.donations = [];\n }\n for (let i0 = 0; i0 < this.donations.length; i0 += 1) {\n this.donations[i0] = this.donations[i0] ? this.donations[i0].convertUnexpectedNulls() : this.donations[i0];\n }\n if (!this.payments) {\n this.payments = [];\n }\n return this;\n }\n fixClasses() {\n this.purchase = InitializePurchaseInput.fromObject(this.purchase).fixClasses();\n for (let i0 = 0; i0 < this.donations.length; i0 += 1) {\n this.donations[i0] = AddDonationInput.fromObject(this.donations[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.payments.length; i0 += 1) {\n this.payments[i0] = AddPaymentInput.fromObject(this.payments[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new AllInOnePurchaseInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchase, input === null || input === void 0 ? void 0 : input.donations, input === null || input === void 0 ? void 0 : input.payments);\n }\n}\nclass AllInOnePurchaseOutput {\n constructor(purchaseID, purchaseSummary, donations, payments) {\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n this.donations = donations !== null && donations !== void 0 ? donations : [];\n this.payments = payments !== null && payments !== void 0 ? payments : [];\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.donations) {\n this.donations = [];\n }\n if (!this.payments) {\n this.payments = [];\n }\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n for (let i0 = 0; i0 < this.donations.length; i0 += 1) {\n this.donations[i0] = AllInOneDonationOutput.fromObject(this.donations[i0]).fixClasses();\n }\n for (let i0 = 0; i0 < this.payments.length; i0 += 1) {\n this.payments[i0] = AllInOnePaymentOutput.fromObject(this.payments[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new AllInOnePurchaseOutput(input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchaseSummary, input === null || input === void 0 ? void 0 : input.donations, input === null || input === void 0 ? void 0 : input.payments);\n }\n}\nclass CreateMerchantAccountUpdateInput {\n constructor(externalId, merchantType, status) {\n this.externalId = externalId !== null && externalId !== void 0 ? externalId : \"\";\n this.merchantType = merchantType !== null && merchantType !== void 0 ? merchantType : \"\";\n this.status = status !== null && status !== void 0 ? status : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateMerchantAccountUpdateInput(input === null || input === void 0 ? void 0 : input.externalId, input === null || input === void 0 ? void 0 : input.merchantType, input === null || input === void 0 ? void 0 : input.status);\n }\n}\nclass CreateMerchantAccountUpdateOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new CreateMerchantAccountUpdateOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass DonationDescription {\n constructor(donorFirstname, donorLastName, donorStreet, donorCity, donorState, donorZip, donorPhone, donorEmail, recipient, recipientUrl, displayName, isAnonymous, isDedication, dedicationOptions, dedicationHonoree) {\n this.donorFirstname = donorFirstname !== null && donorFirstname !== void 0 ? donorFirstname : \"\";\n this.donorLastName = donorLastName !== null && donorLastName !== void 0 ? donorLastName : \"\";\n this.donorStreet = donorStreet !== null && donorStreet !== void 0 ? donorStreet : \"\";\n this.donorCity = donorCity !== null && donorCity !== void 0 ? donorCity : \"\";\n this.donorState = donorState !== null && donorState !== void 0 ? donorState : \"\";\n this.donorZip = donorZip !== null && donorZip !== void 0 ? donorZip : \"\";\n this.donorPhone = donorPhone !== null && donorPhone !== void 0 ? donorPhone : \"\";\n this.donorEmail = donorEmail !== null && donorEmail !== void 0 ? donorEmail : \"\";\n this.recipient = recipient !== null && recipient !== void 0 ? recipient : \"\";\n this.recipientUrl = recipientUrl !== null && recipientUrl !== void 0 ? recipientUrl : \"\";\n this.displayName = displayName !== null && displayName !== void 0 ? displayName : \"\";\n this.isAnonymous = isAnonymous !== null && isAnonymous !== void 0 ? isAnonymous : false;\n this.isDedication = isDedication !== null && isDedication !== void 0 ? isDedication : false;\n this.dedicationOptions = dedicationOptions !== null && dedicationOptions !== void 0 ? dedicationOptions : \"\";\n this.dedicationHonoree = dedicationHonoree !== null && dedicationHonoree !== void 0 ? dedicationHonoree : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new DonationDescription(input === null || input === void 0 ? void 0 : input.donorFirstname, input === null || input === void 0 ? void 0 : input.donorLastName, input === null || input === void 0 ? void 0 : input.donorStreet, input === null || input === void 0 ? void 0 : input.donorCity, input === null || input === void 0 ? void 0 : input.donorState, input === null || input === void 0 ? void 0 : input.donorZip, input === null || input === void 0 ? void 0 : input.donorPhone, input === null || input === void 0 ? void 0 : input.donorEmail, input === null || input === void 0 ? void 0 : input.recipient, input === null || input === void 0 ? void 0 : input.recipientUrl, input === null || input === void 0 ? void 0 : input.displayName, input === null || input === void 0 ? void 0 : input.isAnonymous, input === null || input === void 0 ? void 0 : input.isDedication, input === null || input === void 0 ? void 0 : input.dedicationOptions, input === null || input === void 0 ? void 0 : input.dedicationHonoree);\n }\n}\nclass Donor {\n constructor(name) {\n this.name = name !== null && name !== void 0 ? name : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Donor(input === null || input === void 0 ? void 0 : input.name);\n }\n}\nclass EventDetails {\n constructor(logoURL, name, eventDateDisplay, color, attendeeMessage) {\n this.logoURL = logoURL !== null && logoURL !== void 0 ? logoURL : \"\";\n this.name = name !== null && name !== void 0 ? name : \"\";\n this.eventDateDisplay = eventDateDisplay !== null && eventDateDisplay !== void 0 ? eventDateDisplay : \"\";\n this.color = color !== null && color !== void 0 ? color : \"\";\n this.attendeeMessage = attendeeMessage !== null && attendeeMessage !== void 0 ? attendeeMessage : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new EventDetails(input === null || input === void 0 ? void 0 : input.logoURL, input === null || input === void 0 ? void 0 : input.name, input === null || input === void 0 ? void 0 : input.eventDateDisplay, input === null || input === void 0 ? void 0 : input.color, input === null || input === void 0 ? void 0 : input.attendeeMessage);\n }\n}\nclass GetCardInfoInput {\n constructor(organizationID, merchantAccountID, creditCardCryptogram) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n this.creditCardCryptogram = creditCardCryptogram !== null && creditCardCryptogram !== void 0 ? creditCardCryptogram : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetCardInfoInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.merchantAccountID, input === null || input === void 0 ? void 0 : input.creditCardCryptogram);\n }\n}\nclass GetCardInfoOutput {\n constructor(token, cardType, cardLastFour, cardExpiration, cardName) {\n this.token = token !== null && token !== void 0 ? token : \"\";\n this.cardType = cardType !== null && cardType !== void 0 ? cardType : \"\";\n this.cardLastFour = cardLastFour !== null && cardLastFour !== void 0 ? cardLastFour : \"\";\n this.cardExpiration = cardExpiration !== null && cardExpiration !== void 0 ? cardExpiration : \"\";\n this.cardName = cardName !== null && cardName !== void 0 ? cardName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetCardInfoOutput(input === null || input === void 0 ? void 0 : input.token, input === null || input === void 0 ? void 0 : input.cardType, input === null || input === void 0 ? void 0 : input.cardLastFour, input === null || input === void 0 ? void 0 : input.cardExpiration, input === null || input === void 0 ? void 0 : input.cardName);\n }\n}\nclass GetIframeInput {\n constructor(organizationID, merchantAccountID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.merchantAccountID = merchantAccountID !== null && merchantAccountID !== void 0 ? merchantAccountID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetIframeInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.merchantAccountID);\n }\n}\nclass GetIframeOutput {\n constructor(template) {\n this.template = template !== null && template !== void 0 ? template : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetIframeOutput(input === null || input === void 0 ? void 0 : input.template);\n }\n}\nclass GetMerchantAccountUpdateInput {\n constructor(externalID) {\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetMerchantAccountUpdateInput(input === null || input === void 0 ? void 0 : input.externalID);\n }\n}\nclass GetMerchantAccountUpdateOutput {\n constructor(merchantAccountUpdate) {\n this.merchantAccountUpdate = merchantAccountUpdate !== null && merchantAccountUpdate !== void 0 ? merchantAccountUpdate : new MerchantAccountUpdate();\n }\n convertDates() {\n this.merchantAccountUpdate = this.merchantAccountUpdate ? this.merchantAccountUpdate.convertDates() : this.merchantAccountUpdate;\n return this;\n }\n fixClasses() {\n this.merchantAccountUpdate = MerchantAccountUpdate.fromObject(this.merchantAccountUpdate).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new GetMerchantAccountUpdateOutput(input === null || input === void 0 ? void 0 : input.merchantAccountUpdate);\n }\n}\nclass GetPurchaseSummaryInput {\n constructor(organizationID, purchaseID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPurchaseSummaryInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID);\n }\n}\nclass GetPurchaseSummaryOutput {\n constructor(id, total, totalDonations, totalTickets, totalPaid, totalPaidDonations, totalPaidTickets, totalCoveredCosts, totalSalesTax, totalCard, totalCardRefundsAmount, totalCash, totalCheck, totalOther, totalFeesWithheldFromRefundsAmount, isPaid, donationCount, ticketCount, paymentCount, refundedPaymentCount, latestRefundStatus, latestDisputeStatus, created) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.total = total !== null && total !== void 0 ? total : 0;\n this.totalDonations = totalDonations !== null && totalDonations !== void 0 ? totalDonations : 0;\n this.totalTickets = totalTickets !== null && totalTickets !== void 0 ? totalTickets : 0;\n this.totalPaid = totalPaid !== null && totalPaid !== void 0 ? totalPaid : 0;\n this.totalPaidDonations = totalPaidDonations !== null && totalPaidDonations !== void 0 ? totalPaidDonations : 0;\n this.totalPaidTickets = totalPaidTickets !== null && totalPaidTickets !== void 0 ? totalPaidTickets : 0;\n this.totalCoveredCosts = totalCoveredCosts !== null && totalCoveredCosts !== void 0 ? totalCoveredCosts : 0;\n this.totalSalesTax = totalSalesTax !== null && totalSalesTax !== void 0 ? totalSalesTax : 0;\n this.totalCard = totalCard !== null && totalCard !== void 0 ? totalCard : 0;\n this.totalCardRefundsAmount = totalCardRefundsAmount !== null && totalCardRefundsAmount !== void 0 ? totalCardRefundsAmount : 0;\n this.totalCash = totalCash !== null && totalCash !== void 0 ? totalCash : 0;\n this.totalCheck = totalCheck !== null && totalCheck !== void 0 ? totalCheck : 0;\n this.totalOther = totalOther !== null && totalOther !== void 0 ? totalOther : 0;\n this.totalFeesWithheldFromRefundsAmount = totalFeesWithheldFromRefundsAmount !== null && totalFeesWithheldFromRefundsAmount !== void 0 ? totalFeesWithheldFromRefundsAmount : 0;\n this.isPaid = isPaid !== null && isPaid !== void 0 ? isPaid : false;\n this.donationCount = donationCount !== null && donationCount !== void 0 ? donationCount : 0;\n this.ticketCount = ticketCount !== null && ticketCount !== void 0 ? ticketCount : 0;\n this.paymentCount = paymentCount !== null && paymentCount !== void 0 ? paymentCount : 0;\n this.refundedPaymentCount = refundedPaymentCount !== null && refundedPaymentCount !== void 0 ? refundedPaymentCount : 0;\n this.latestRefundStatus = latestRefundStatus !== null && latestRefundStatus !== void 0 ? latestRefundStatus : \"\";\n this.latestDisputeStatus = latestDisputeStatus !== null && latestDisputeStatus !== void 0 ? latestDisputeStatus : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetPurchaseSummaryOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.total, input === null || input === void 0 ? void 0 : input.totalDonations, input === null || input === void 0 ? void 0 : input.totalTickets, input === null || input === void 0 ? void 0 : input.totalPaid, input === null || input === void 0 ? void 0 : input.totalPaidDonations, input === null || input === void 0 ? void 0 : input.totalPaidTickets, input === null || input === void 0 ? void 0 : input.totalCoveredCosts, input === null || input === void 0 ? void 0 : input.totalSalesTax, input === null || input === void 0 ? void 0 : input.totalCard, input === null || input === void 0 ? void 0 : input.totalCardRefundsAmount, input === null || input === void 0 ? void 0 : input.totalCash, input === null || input === void 0 ? void 0 : input.totalCheck, input === null || input === void 0 ? void 0 : input.totalOther, input === null || input === void 0 ? void 0 : input.totalFeesWithheldFromRefundsAmount, input === null || input === void 0 ? void 0 : input.isPaid, input === null || input === void 0 ? void 0 : input.donationCount, input === null || input === void 0 ? void 0 : input.ticketCount, input === null || input === void 0 ? void 0 : input.paymentCount, input === null || input === void 0 ? void 0 : input.refundedPaymentCount, input === null || input === void 0 ? void 0 : input.latestRefundStatus, input === null || input === void 0 ? void 0 : input.latestDisputeStatus, input === null || input === void 0 ? void 0 : input.created);\n }\n}\nclass GetReceiptDataInput {\n constructor(organizationID, paymentID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetReceiptDataInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paymentID);\n }\n}\nclass GetReceiptDataOutput {\n constructor(html) {\n this.html = html !== null && html !== void 0 ? html : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetReceiptDataOutput(input === null || input === void 0 ? void 0 : input.html);\n }\n}\nclass GetRefundByExternalIDInput {\n constructor(externalID) {\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetRefundByExternalIDInput(input === null || input === void 0 ? void 0 : input.externalID);\n }\n}\nclass GetRefundByExternalIDOutput {\n constructor(refund) {\n this.refund = refund !== null && refund !== void 0 ? refund : new Refund();\n }\n convertDates() {\n this.refund = this.refund ? this.refund.convertDates() : this.refund;\n return this;\n }\n fixClasses() {\n this.refund = Refund.fromObject(this.refund).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new GetRefundByExternalIDOutput(input === null || input === void 0 ? void 0 : input.refund);\n }\n}\nclass GetRefundListByPaymentIDInput {\n constructor(organizationID, paymentID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetRefundListByPaymentIDInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.paymentID);\n }\n}\nclass GetRefundListByPaymentIDOutput {\n constructor(refunds) {\n this.refunds = refunds !== null && refunds !== void 0 ? refunds : [];\n }\n convertDates() {\n if (!this.refunds) {\n this.refunds = [];\n }\n for (let i0 = 0; i0 < this.refunds.length; i0 += 1) {\n this.refunds[i0] = this.refunds[i0] ? this.refunds[i0].convertDates() : this.refunds[i0];\n }\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.refunds) {\n this.refunds = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.refunds.length; i0 += 1) {\n this.refunds[i0] = Refund.fromObject(this.refunds[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetRefundListByPaymentIDOutput(input === null || input === void 0 ? void 0 : input.refunds);\n }\n}\nclass GetSourceAggregatesInput {\n constructor(source) {\n this.source = source !== null && source !== void 0 ? source : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetSourceAggregatesInput(input === null || input === void 0 ? void 0 : input.source);\n }\n}\nclass GetSourceAggregatesOutput {\n constructor(totalDonated, seedAmount, totalExternalDonations) {\n this.totalDonated = totalDonated !== null && totalDonated !== void 0 ? totalDonated : 0;\n this.seedAmount = seedAmount !== null && seedAmount !== void 0 ? seedAmount : 0;\n this.totalExternalDonations = totalExternalDonations !== null && totalExternalDonations !== void 0 ? totalExternalDonations : 0;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetSourceAggregatesOutput(input === null || input === void 0 ? void 0 : input.totalDonated, input === null || input === void 0 ? void 0 : input.seedAmount, input === null || input === void 0 ? void 0 : input.totalExternalDonations);\n }\n}\nclass GetSourceLatestDonorsInput {\n constructor(source, paging) {\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingInput();\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new GetSourceLatestDonorsInput(input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass GetSourceLatestDonorsOutput {\n constructor(donors, paging) {\n this.donors = donors !== null && donors !== void 0 ? donors : [];\n this.paging = paging !== null && paging !== void 0 ? paging : new PagingOutput();\n }\n convertUnexpectedNulls() {\n if (!this.donors) {\n this.donors = [];\n }\n return this;\n }\n fixClasses() {\n for (let i0 = 0; i0 < this.donors.length; i0 += 1) {\n this.donors[i0] = Donor.fromObject(this.donors[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new GetSourceLatestDonorsOutput(input === null || input === void 0 ? void 0 : input.donors, input === null || input === void 0 ? void 0 : input.paging);\n }\n}\nclass IDOutput {\n constructor(id) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new IDOutput(input === null || input === void 0 ? void 0 : input.id);\n }\n}\nclass InitializePurchaseInput {\n constructor(organizationID, source, description, receiptDetails) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.source = source !== null && source !== void 0 ? source : \"\";\n this.description = description !== null && description !== void 0 ? description : new PurchaseDescription();\n this.receiptDetails = receiptDetails !== null && receiptDetails !== void 0 ? receiptDetails : new ReceiptDetails();\n }\n fixClasses() {\n this.description = PurchaseDescription.fromObject(this.description).fixClasses();\n this.receiptDetails = ReceiptDetails.fromObject(this.receiptDetails).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new InitializePurchaseInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.source, input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.receiptDetails);\n }\n}\nclass InitializePurchaseOutput {\n constructor(id, purchaseSummary) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new InitializePurchaseOutput(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.purchaseSummary);\n }\n}\nclass InitializeTicketOutput {\n constructor(sourceID, givingTicketID) {\n this.sourceID = sourceID !== null && sourceID !== void 0 ? sourceID : \"\";\n this.givingTicketID = givingTicketID !== null && givingTicketID !== void 0 ? givingTicketID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new InitializeTicketOutput(input === null || input === void 0 ? void 0 : input.sourceID, input === null || input === void 0 ? void 0 : input.givingTicketID);\n }\n}\nclass InitializeTicketPurchaseInput {\n constructor(organizationID, purchase, tickets) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchase = purchase !== null && purchase !== void 0 ? purchase : new InitializePurchaseInput();\n this.tickets = tickets !== null && tickets !== void 0 ? tickets : [];\n }\n convertUnexpectedNulls() {\n if (!this.tickets) {\n this.tickets = [];\n }\n return this;\n }\n fixClasses() {\n this.purchase = InitializePurchaseInput.fromObject(this.purchase).fixClasses();\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = AddTicketInput.fromObject(this.tickets[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new InitializeTicketPurchaseInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchase, input === null || input === void 0 ? void 0 : input.tickets);\n }\n}\nclass InitializeTicketPurchaseOutput {\n constructor(purchaseID, purchaseSummary, tickets) {\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n this.tickets = tickets !== null && tickets !== void 0 ? tickets : [];\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.tickets) {\n this.tickets = [];\n }\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n for (let i0 = 0; i0 < this.tickets.length; i0 += 1) {\n this.tickets[i0] = InitializeTicketOutput.fromObject(this.tickets[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new InitializeTicketPurchaseOutput(input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchaseSummary, input === null || input === void 0 ? void 0 : input.tickets);\n }\n}\nclass ItemPurchaseAllInOneInput {\n constructor(organizationID, purchase, items, payment) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchase = purchase !== null && purchase !== void 0 ? purchase : new InitializePurchaseInput();\n this.items = items !== null && items !== void 0 ? items : [];\n this.payment = payment !== null && payment !== void 0 ? payment : new AddPaymentInput();\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = this.items[i0] ? this.items[i0].convertUnexpectedNulls() : this.items[i0];\n }\n return this;\n }\n fixClasses() {\n this.purchase = InitializePurchaseInput.fromObject(this.purchase).fixClasses();\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = AddItemInput.fromObject(this.items[i0]).fixClasses();\n }\n this.payment = AddPaymentInput.fromObject(this.payment).fixClasses();\n return this;\n }\n static fromObject(input) {\n return new ItemPurchaseAllInOneInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchase, input === null || input === void 0 ? void 0 : input.items, input === null || input === void 0 ? void 0 : input.payment);\n }\n}\nclass ItemPurchaseAllInOneOutput {\n constructor(purchaseID, purchaseSummary, payment, items) {\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.purchaseSummary = purchaseSummary !== null && purchaseSummary !== void 0 ? purchaseSummary : new GetPurchaseSummaryOutput();\n this.payment = payment !== null && payment !== void 0 ? payment : new AllInOnePaymentOutput();\n this.items = items !== null && items !== void 0 ? items : [];\n }\n convertDates() {\n this.purchaseSummary = this.purchaseSummary ? this.purchaseSummary.convertDates() : this.purchaseSummary;\n return this;\n }\n convertUnexpectedNulls() {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n fixClasses() {\n this.purchaseSummary = GetPurchaseSummaryOutput.fromObject(this.purchaseSummary).fixClasses();\n this.payment = AllInOnePaymentOutput.fromObject(this.payment).fixClasses();\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = IDOutput.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n static fromObject(input) {\n return new ItemPurchaseAllInOneOutput(input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.purchaseSummary, input === null || input === void 0 ? void 0 : input.payment, input === null || input === void 0 ? void 0 : input.items);\n }\n}\nclass MerchantAccountUpdate {\n constructor(id, created, externalId, merchantType, status) {\n this.id = id !== null && id !== void 0 ? id : \"\";\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.externalId = externalId !== null && externalId !== void 0 ? externalId : \"\";\n this.merchantType = merchantType !== null && merchantType !== void 0 ? merchantType : \"\";\n this.status = status !== null && status !== void 0 ? status : \"\";\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new MerchantAccountUpdate(input === null || input === void 0 ? void 0 : input.id, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.externalId, input === null || input === void 0 ? void 0 : input.merchantType, input === null || input === void 0 ? void 0 : input.status);\n }\n}\nclass PaymentDescription {\n constructor(payerName, payerStreet, payerCity, payerState, payerCountry, payerZip, payerPhone, payerEmail) {\n this.payerName = payerName !== null && payerName !== void 0 ? payerName : \"\";\n this.payerStreet = payerStreet !== null && payerStreet !== void 0 ? payerStreet : \"\";\n this.payerCity = payerCity !== null && payerCity !== void 0 ? payerCity : \"\";\n this.payerState = payerState !== null && payerState !== void 0 ? payerState : \"\";\n this.payerCountry = payerCountry !== null && payerCountry !== void 0 ? payerCountry : \"\";\n this.payerZip = payerZip !== null && payerZip !== void 0 ? payerZip : \"\";\n this.payerPhone = payerPhone !== null && payerPhone !== void 0 ? payerPhone : \"\";\n this.payerEmail = payerEmail !== null && payerEmail !== void 0 ? payerEmail : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PaymentDescription(input === null || input === void 0 ? void 0 : input.payerName, input === null || input === void 0 ? void 0 : input.payerStreet, input === null || input === void 0 ? void 0 : input.payerCity, input === null || input === void 0 ? void 0 : input.payerState, input === null || input === void 0 ? void 0 : input.payerCountry, input === null || input === void 0 ? void 0 : input.payerZip, input === null || input === void 0 ? void 0 : input.payerPhone, input === null || input === void 0 ? void 0 : input.payerEmail);\n }\n}\nclass PurchaseDescription {\n constructor(orgName, orgStreet, orgCity, orgState, orgZip, orgPhone, orgWebsite, orgEmail, orgLogoURL, orgTaxID) {\n this.orgName = orgName !== null && orgName !== void 0 ? orgName : \"\";\n this.orgStreet = orgStreet !== null && orgStreet !== void 0 ? orgStreet : \"\";\n this.orgCity = orgCity !== null && orgCity !== void 0 ? orgCity : \"\";\n this.orgState = orgState !== null && orgState !== void 0 ? orgState : \"\";\n this.orgZip = orgZip !== null && orgZip !== void 0 ? orgZip : \"\";\n this.orgPhone = orgPhone !== null && orgPhone !== void 0 ? orgPhone : \"\";\n this.orgWebsite = orgWebsite !== null && orgWebsite !== void 0 ? orgWebsite : \"\";\n this.orgEmail = orgEmail !== null && orgEmail !== void 0 ? orgEmail : \"\";\n this.orgLogoURL = orgLogoURL !== null && orgLogoURL !== void 0 ? orgLogoURL : \"\";\n this.orgTaxID = orgTaxID !== null && orgTaxID !== void 0 ? orgTaxID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new PurchaseDescription(input === null || input === void 0 ? void 0 : input.orgName, input === null || input === void 0 ? void 0 : input.orgStreet, input === null || input === void 0 ? void 0 : input.orgCity, input === null || input === void 0 ? void 0 : input.orgState, input === null || input === void 0 ? void 0 : input.orgZip, input === null || input === void 0 ? void 0 : input.orgPhone, input === null || input === void 0 ? void 0 : input.orgWebsite, input === null || input === void 0 ? void 0 : input.orgEmail, input === null || input === void 0 ? void 0 : input.orgLogoURL, input === null || input === void 0 ? void 0 : input.orgTaxID);\n }\n}\nclass ReceiptDetails {\n constructor(themePrimaryColor, firstName, lastName, primaryColor, taxMessage, logoImageURL, eventName, recurringDonationPeriod, receiptMessageMarkdown) {\n this.themePrimaryColor = themePrimaryColor !== null && themePrimaryColor !== void 0 ? themePrimaryColor : \"\";\n this.firstName = firstName !== null && firstName !== void 0 ? firstName : \"\";\n this.lastName = lastName !== null && lastName !== void 0 ? lastName : \"\";\n this.primaryColor = primaryColor !== null && primaryColor !== void 0 ? primaryColor : \"\";\n this.taxMessage = taxMessage !== null && taxMessage !== void 0 ? taxMessage : \"\";\n this.logoImageURL = logoImageURL !== null && logoImageURL !== void 0 ? logoImageURL : \"\";\n this.eventName = eventName !== null && eventName !== void 0 ? eventName : \"\";\n this.recurringDonationPeriod = recurringDonationPeriod !== null && recurringDonationPeriod !== void 0 ? recurringDonationPeriod : \"\";\n this.receiptMessageMarkdown = receiptMessageMarkdown !== null && receiptMessageMarkdown !== void 0 ? receiptMessageMarkdown : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new ReceiptDetails(input === null || input === void 0 ? void 0 : input.themePrimaryColor, input === null || input === void 0 ? void 0 : input.firstName, input === null || input === void 0 ? void 0 : input.lastName, input === null || input === void 0 ? void 0 : input.primaryColor, input === null || input === void 0 ? void 0 : input.taxMessage, input === null || input === void 0 ? void 0 : input.logoImageURL, input === null || input === void 0 ? void 0 : input.eventName, input === null || input === void 0 ? void 0 : input.recurringDonationPeriod, input === null || input === void 0 ? void 0 : input.receiptMessageMarkdown);\n }\n}\nclass Refund {\n constructor(refundID, externalID, organizationID, purchaseID, paymentID, initiatedByUserID, reason, status, refundType, amount, feesWithheldAmount, created, updated) {\n this.refundID = refundID !== null && refundID !== void 0 ? refundID : \"\";\n this.externalID = externalID !== null && externalID !== void 0 ? externalID : \"\";\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.paymentID = paymentID !== null && paymentID !== void 0 ? paymentID : \"\";\n this.initiatedByUserID = initiatedByUserID !== null && initiatedByUserID !== void 0 ? initiatedByUserID : \"\";\n this.reason = reason !== null && reason !== void 0 ? reason : \"\";\n this.status = status !== null && status !== void 0 ? status : \"\";\n this.refundType = refundType !== null && refundType !== void 0 ? refundType : \"\";\n this.amount = amount !== null && amount !== void 0 ? amount : 0;\n this.feesWithheldAmount = feesWithheldAmount !== null && feesWithheldAmount !== void 0 ? feesWithheldAmount : 0;\n this.created = created !== null && created !== void 0 ? created : new Date();\n this.updated = updated !== null && updated !== void 0 ? updated : new Date();\n }\n convertDates() {\n this.created = this.created ? new Date(this.created) : this.created;\n this.updated = this.updated ? new Date(this.updated) : this.updated;\n return this;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new Refund(input === null || input === void 0 ? void 0 : input.refundID, input === null || input === void 0 ? void 0 : input.externalID, input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.paymentID, input === null || input === void 0 ? void 0 : input.initiatedByUserID, input === null || input === void 0 ? void 0 : input.reason, input === null || input === void 0 ? void 0 : input.status, input === null || input === void 0 ? void 0 : input.refundType, input === null || input === void 0 ? void 0 : input.amount, input === null || input === void 0 ? void 0 : input.feesWithheldAmount, input === null || input === void 0 ? void 0 : input.created, input === null || input === void 0 ? void 0 : input.updated);\n }\n}\nclass SendReceiptInput {\n constructor(organizationID, purchaseID, email, preserveEmail) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.preserveEmail = preserveEmail !== null && preserveEmail !== void 0 ? preserveEmail : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendReceiptInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.preserveEmail);\n }\n}\nclass SendReceiptOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new SendReceiptOutput();\n }\n}\nclass TicketDetails {\n constructor(description, purchaserFirstName, purchaserLastName) {\n this.description = description !== null && description !== void 0 ? description : \"\";\n this.purchaserFirstName = purchaserFirstName !== null && purchaserFirstName !== void 0 ? purchaserFirstName : \"\";\n this.purchaserLastName = purchaserLastName !== null && purchaserLastName !== void 0 ? purchaserLastName : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new TicketDetails(input === null || input === void 0 ? void 0 : input.description, input === null || input === void 0 ? void 0 : input.purchaserFirstName, input === null || input === void 0 ? void 0 : input.purchaserLastName);\n }\n}\nclass UpdatePurchaseAggregatesInput {\n constructor(organizationID, purchaseID) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchaseAggregatesInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID);\n }\n}\nclass UpdatePurchaseAggregatesOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new UpdatePurchaseAggregatesOutput();\n }\n}\nclass VoidReceiptAndReissueInput {\n constructor(organizationID, purchaseID, email, preserveEmail) {\n this.organizationID = organizationID !== null && organizationID !== void 0 ? organizationID : \"\";\n this.purchaseID = purchaseID !== null && purchaseID !== void 0 ? purchaseID : \"\";\n this.email = email !== null && email !== void 0 ? email : \"\";\n this.preserveEmail = preserveEmail !== null && preserveEmail !== void 0 ? preserveEmail : false;\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new VoidReceiptAndReissueInput(input === null || input === void 0 ? void 0 : input.organizationID, input === null || input === void 0 ? void 0 : input.purchaseID, input === null || input === void 0 ? void 0 : input.email, input === null || input === void 0 ? void 0 : input.preserveEmail);\n }\n}\nclass VoidReceiptAndReissueOutput {\n constructor() {\n }\n fixClasses() {\n return this;\n }\n static fromObject(input) {\n return new VoidReceiptAndReissueOutput();\n }\n}\n\nclass IframeService {\n constructor(environmentService) {\n this.environmentService = environmentService;\n }\n getIframeURL(organizationID, merchantAccountID) {\n const urlPath = `organizations/${organizationID}/merchant-accounts/${merchantAccountID}/iframe`;\n return this.environmentService.getURL('phaas-giving-api', urlPath).pipe(map(url => {\n return url;\n }));\n }\n}\nIframeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: IframeService, deps: [{ token: i1$1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });\nIframeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: IframeService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: IframeService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: i1$1.EnvironmentService }]; } });\n\nclass PaymentApiJsComponent {\n constructor(iframeService, elementRef) {\n this.iframeService = iframeService;\n this.elementRef = elementRef;\n this.organizationID = '';\n this.merchantAccountID = '';\n this.paymentJsLoaded = new EventEmitter();\n this.loaded = false;\n }\n ngAfterViewInit() {\n this.loadPaymentJs();\n }\n ngOnChanges(changes) {\n if (changes.merchantAccountID) {\n this.loadPaymentJs();\n }\n }\n loadPaymentJs() {\n if (!this.loaded && this.organizationID && this.merchantAccountID) {\n const self = this;\n self.loaded = true;\n const script = document.createElement('script');\n script.type = 'text/javascript';\n const style = document.createElement('style');\n style.innerHTML = `\n .StripeElement {\n box-sizing: border-box;\n\n height: 40px;\n\n padding: 10px 12px;\n\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n\n box-shadow: 0 1px 3px 0 #e6ebf1;\n -webkit-transition: box-shadow 150ms ease;\n transition: box-shadow 150ms ease;\n }\n\n .StripeElement--focus {\n box-shadow: 0 1px 3px 0 #cfd7df;\n }\n\n .StripeElement--invalid {\n border-color: #c84026;\n }\n `;\n script.onload = () => self.scriptLoaded();\n this.iframeService.getIframeURL(this.organizationID, this.merchantAccountID).subscribe(url => {\n script.src = url;\n this.elementRef.nativeElement.appendChild(script);\n this.elementRef.nativeElement.appendChild(style);\n });\n }\n }\n scriptLoaded() {\n this.paymentJsLoaded.emit();\n }\n}\nPaymentApiJsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentApiJsComponent, deps: [{ token: IframeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });\nPaymentApiJsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentApiJsComponent, selector: \"ngcart-payment-api-js\", inputs: { organizationID: \"organizationID\", merchantAccountID: \"merchantAccountID\" }, outputs: { paymentJsLoaded: \"paymentJsLoaded\" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentApiJsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ngcart-payment-api-js',\n template: ''\n }]\n }], ctorParameters: function () { return [{ type: IframeService }, { type: i0.ElementRef }]; }, propDecorators: { organizationID: [{\n type: Input\n }], merchantAccountID: [{\n type: Input\n }], paymentJsLoaded: [{\n type: Output\n }] } });\n\nclass CardInfo {\n}\nclass CreditCardFormComponent {\n constructor(givingRestService) {\n this.givingRestService = givingRestService;\n this.iFrameID = '';\n this.organizationID = '';\n this.merchantAccountID = '';\n this.tokenized = new EventEmitter();\n this.onChange = (val) => { };\n this.onTouched = () => { };\n }\n writeValue(value) {\n // do nothing - required for ControlValueAccessor but no value can be provided\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n paymentJsLoaded() {\n const options = {\n iFrameID: this.iFrameID,\n };\n initializePaymentJsV2((response) => this.handleIframeResponse(response), // Success callback\n () => this.handleIframeResponse(null), // Error callback\n options);\n }\n handleIframeResponse(response) {\n this.onTouched();\n if (response) { // Success callback handler\n const input = new GetCardInfoInput(this.organizationID, this.merchantAccountID, response);\n this.givingRestService.getCardInfo(input).subscribe((cardInfoOutput) => {\n const cardInfo = {\n name: cardInfoOutput.cardName,\n nonce: cardInfoOutput.token,\n cardType: cardInfoOutput.cardType,\n expiration: cardInfoOutput.cardExpiration,\n lastFourDigits: cardInfoOutput.cardLastFour,\n };\n this.tokenized.next(cardInfo);\n this.onChange(cardInfo);\n });\n }\n else { // Error callback handler\n this.tokenized.next({});\n }\n }\n}\nCreditCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CreditCardFormComponent, deps: [{ token: GivingRestService }], target: i0.ɵɵFactoryTarget.Component });\nCreditCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: CreditCardFormComponent, selector: \"phaas-ngcart-credit-card-form\", inputs: { iFrameID: \"iFrameID\", organizationID: \"organizationID\", merchantAccountID: \"merchantAccountID\" }, outputs: { tokenized: \"tokenized\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CreditCardFormComponent),\n multi: true\n }\n ], ngImport: i0, template: \"\\n\\n
\\n \\n
\\n
\", styles: [\":host{width:100%}label{font-size:12px;color:#0000008a}.iframeTarget{width:100%}.iframeTarget #tokenFrame{width:100%;height:130px}.creditCardContainer{align-self:baseline}.creditCardContainer img{margin-right:16px}\\n\"], components: [{ type: PaymentApiJsComponent, selector: \"ngcart-payment-api-js\", inputs: [\"organizationID\", \"merchantAccountID\"], outputs: [\"paymentJsLoaded\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: CreditCardFormComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-credit-card-form',\n templateUrl: './credit-card-form.component.html',\n styleUrls: ['./credit-card-form.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CreditCardFormComponent),\n multi: true\n }\n ]\n }]\n }], ctorParameters: function () { return [{ type: GivingRestService }]; }, propDecorators: { iFrameID: [{\n type: Input\n }], organizationID: [{\n type: Input\n }], merchantAccountID: [{\n type: Input\n }], tokenized: [{\n type: Output\n }] } });\n\nclass PaymentMethodCreditCardComponent {\n constructor(environmentService, matDialog, attendeeService) {\n this.environmentService = environmentService;\n this.matDialog = matDialog;\n this.attendeeService = attendeeService;\n this.organizationID = '';\n this.merchantAccountID = '';\n this.iFrameID = '';\n this.guestCardSummaries = [];\n this.guestSummary = new GuestSummary();\n this.showPaymentLinkButton = false;\n this.showBillingAddressForm = false;\n this.requireBillingAddressForm = false;\n this.currencyCode = 'USD';\n this.showSaveCreditCardCheckbox = true;\n this.saveCreditCardCheckboxLabel = 'Make this my primary credit card';\n this.creditCardData = new EventEmitter();\n this.selectedGuestCardSummaryOutput = new EventEmitter();\n this.paymentLinkOutput = new EventEmitter();\n this.domain = '';\n this.showCreditCardForm = false;\n this.creditCardForm = new FormGroup({});\n this.cardName = new FormControl(null, [Validators.required,]);\n this.cardInfo = new FormControl(null, [Validators.required]);\n this.billingAddress = new FormControl(null);\n this.selectedCardSummary = new FormControl(null, [Validators.required]);\n this.saveCreditCardCheckboxDefaultValue = false;\n this.saveCreditCardOnFile = new FormControl(this.showSaveCreditCardCheckbox && this.saveCreditCardCheckboxDefaultValue, {});\n this.mobileView = false;\n }\n onResize() {\n this.mobileView = window.innerWidth <= 550;\n }\n ngOnInit() {\n this.onResize();\n this.environmentService.getURL('assets', 'cards/creditcard_').subscribe((domain) => {\n this.domain = domain;\n });\n if (this.requireBillingAddressForm) {\n this.billingAddress = new FormControl(null, [Validators.required]);\n }\n this.creditCardForm = new FormGroup({\n cardName: this.cardName,\n cardInfo: this.cardInfo,\n });\n this.cardName.setValue(`${this.guestSummary.firstName} ${this.guestSummary.lastName}`.trim());\n if (this.showBillingAddressForm) {\n this.creditCardForm.addControl('billingAddress', this.billingAddress);\n }\n this.saveCreditCardCheckboxDefaultValue = !this.guestCardSummaries || !this.guestCardSummaries.length;\n this.saveCreditCardOnFile = new FormControl(this.showSaveCreditCardCheckbox && this.saveCreditCardCheckboxDefaultValue, {});\n if (this.showSaveCreditCardCheckbox) {\n this.creditCardForm.addControl('saveCreditCardOnFile', this.saveCreditCardOnFile);\n }\n this.creditCardForm.valueChanges.subscribe(() => {\n this.creditCardData.emit(this.getOutputData());\n });\n this.setDefaultSelectedGuestCardSummary();\n this.selectedCardSummary.valueChanges.subscribe(() => {\n this.selectedGuestCardSummaryOutput.emit(this.getSelectedCardSummaryOutputData());\n });\n this.attendeeService.getGuestCreditCardSummaries().subscribe((guestCardSummaries) => {\n this.guestCardSummaries = guestCardSummaries;\n this.setDefaultSelectedGuestCardSummary();\n });\n }\n ngAfterViewInit() {\n this.selectedGuestCardSummaryOutput.emit(this.getSelectedCardSummaryOutputData());\n }\n setDefaultSelectedGuestCardSummary() {\n var _a;\n if (!((_a = this.guestCardSummaries) === null || _a === void 0 ? void 0 : _a.length)) {\n this.selectedCardSummary.setValue(null);\n return;\n }\n // Use matching card or first card\n const found = this.guestCardSummaries.find(card => card.guestID === this.guestSummary.id);\n if (found) {\n this.selectedCardSummary.setValue(found);\n }\n else {\n this.selectedCardSummary.setValue(this.guestCardSummaries[0]);\n }\n }\n setShowCardEntryForm() {\n this.showCreditCardForm = !this.showCreditCardForm;\n this.creditCardData.emit(this.getOutputData());\n this.selectedGuestCardSummaryOutput.emit(this.getSelectedCardSummaryOutputData());\n }\n getSelectedCardSummaryOutputData() {\n if (!this.showCreditCardForm && this.selectedCardSummary.value !== null) {\n return this.selectedCardSummary.value;\n }\n return null;\n }\n getOutputData() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n if (this.showCreditCardForm) {\n const creditCardFormData = this.cardInfo.value;\n if (this.creditCardForm.invalid) {\n return null;\n }\n if (!(creditCardFormData === null || creditCardFormData === void 0 ? void 0 : creditCardFormData.nonce)) {\n return null;\n }\n if (!this.cardName.value || (typeof this.cardName.value === 'string' && this.cardName.value.trim().length === 0)) {\n return null;\n }\n const billingAddress = new AddressInformation(((_c = (_b = (_a = this.billingAddress) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.street) === null || _c === void 0 ? void 0 : _c.trim()) || '', ((_f = (_e = (_d = this.billingAddress) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.city) === null || _f === void 0 ? void 0 : _f.trim()) || '', ((_j = (_h = (_g = this.billingAddress) === null || _g === void 0 ? void 0 : _g.value) === null || _h === void 0 ? void 0 : _h.state) === null || _j === void 0 ? void 0 : _j.trim()) || '', ((_m = (_l = (_k = this.billingAddress) === null || _k === void 0 ? void 0 : _k.value) === null || _l === void 0 ? void 0 : _l.zip) === null || _m === void 0 ? void 0 : _m.trim()) || '', ((_q = (_p = (_o = this.billingAddress) === null || _o === void 0 ? void 0 : _o.value) === null || _p === void 0 ? void 0 : _p.country) === null || _q === void 0 ? void 0 : _q.trim()) || '');\n if (this.requireBillingAddressForm && !this.isBillingAddressInformationValid(billingAddress)) {\n return null;\n }\n const data = {\n name: this.cardName.value,\n nonce: creditCardFormData.nonce,\n cardType: creditCardFormData.cardType,\n expiration: creditCardFormData.expiration,\n lastFourDigits: creditCardFormData.lastFourDigits,\n useCreditCardOnFile: false,\n saveCreditCardOnFile: false,\n };\n if (this.showSaveCreditCardCheckbox) {\n data.saveCreditCardOnFile = !!this.saveCreditCardOnFile.value;\n }\n if (this.isBillingAddressInformationValid(billingAddress)) {\n data.billingStreet = billingAddress.street;\n data.billingCity = billingAddress.city;\n data.billingState = billingAddress.state;\n data.billingZip = billingAddress.zip;\n data.billingCountry = billingAddress.country;\n }\n return data;\n }\n return null;\n }\n getCardImageURL(cardType) {\n let url = this.domain;\n switch (cardType) {\n case 'VISA': {\n url += 'visa.svg';\n break;\n }\n case 'MC': {\n url += 'mc.svg';\n break;\n }\n case 'AMX': {\n url += 'amex.svg';\n break;\n }\n case 'DSC': {\n url += 'discover.svg';\n break;\n }\n }\n return url;\n }\n openPaymentLinkDialog() {\n if (!this.showPaymentLinkButton) {\n return;\n }\n const dialogRef = this.matDialog.open(PaymentLinkDialogComponent, {\n width: '95%',\n maxWidth: '25rem',\n minHeight: '14rem',\n restoreFocus: false,\n data: new PaymentLinkDialogData(this.guestSummary),\n });\n dialogRef.afterClosed().subscribe((out) => {\n this.paymentLinkOutput.emit(out);\n });\n }\n isBillingAddressInformationValid(address) {\n return !!(address.street && address.city && address.state && address.zip && address.country);\n }\n}\nPaymentMethodCreditCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentMethodCreditCardComponent, deps: [{ token: i1$1.EnvironmentService }, { token: i2$1.MatDialog }, { token: AttendeeService }], target: i0.ɵɵFactoryTarget.Component });\nPaymentMethodCreditCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentMethodCreditCardComponent, selector: \"phaas-ngcart-payment-method-credit-card\", inputs: { organizationID: \"organizationID\", merchantAccountID: \"merchantAccountID\", iFrameID: \"iFrameID\", guestCardSummaries: \"guestCardSummaries\", guestSummary: \"guestSummary\", showPaymentLinkButton: \"showPaymentLinkButton\", showBillingAddressForm: \"showBillingAddressForm\", requireBillingAddressForm: \"requireBillingAddressForm\", currencyCode: \"currencyCode\", showSaveCreditCardCheckbox: \"showSaveCreditCardCheckbox\", saveCreditCardCheckboxLabel: \"saveCreditCardCheckboxLabel\" }, outputs: { creditCardData: \"creditCardData\", selectedGuestCardSummaryOutput: \"selectedGuestCardSummaryOutput\", paymentLinkOutput: \"paymentLinkOutput\" }, host: { listeners: { \"window:resize\": \"onResize()\" } }, ngImport: i0, template: \"
\\n
\\n
\\n \\n \\n \\n 1;then manyCardView\\\">\\n \\n No Card on File\\n \\n \\n Enter Card\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n Name on Card\\n \\n \\n Name on Card is required.\\n \\n \\n \\n \\n \\n
{{ saveCreditCardCheckboxLabel }}
\\n
\\n \\n
\\n
\\n\\n\\n \\n
{{selectedCardSummary.value?.firstName}}\\n {{selectedCardSummary.value?.lastName?.length ? selectedCardSummary.value?.lastName + \\\"'s\\\" : 'Guest'}}\\n Credit Card\\n
\\n
\\n \\\"credit\\n more_horiz\\n {{selectedCardSummary.value?.cardLastFour}}\\n
\\n
\\n
\\n\\n\\n \\n Whose card on file should be used for this shared cart purchase?\\n \\n \\n
{{guestCardSummary?.firstName}}\\n {{guestCardSummary?.lastName?.length ? guestCardSummary?.lastName + \\\"'s\\\" : 'Guest'}} Credit Card\\n
\\n
\\n \\\"credit\\n more_horiz\\n {{this.guestCardSummary?.cardLastFour}}\\n
\\n
\\n
\\n
\\n
\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n \\n \\n\\n\\n\\n \\n credit_card\\n Use Another Card\\n \\n \\n settings_backup_restore\\n Use Primary Card\\n \\n \\n credit_card\\n Enter Card\\n \\n\\n\", styles: [\".payment-method-credit-card{margin-top:4px;width:100%}.payment-method-credit-card__row{width:100%;display:flex;flex-direction:row}.payment-method-credit-card__column{width:100%;display:flex;flex-direction:column}.payment-method-credit-card__column_top{width:100%;display:flex;flex-direction:column;flex-grow:1}.payment-method-credit-card__column_bottom{display:flex;flex-direction:row;justify-content:flex-end}.payment-method-credit-card__container{margin:0 0 16px}.payment-method-credit-card__cc-last-four{display:flex;align-items:center;height:24px;font-size:14px;line-height:0}.payment-method-credit-card__text-payment-link,.payment-method-credit-card__cc-use-another{text-align:center;font-size:.875rem;margin-left:.5rem;height:34px}.payment-method-credit-card__credit-card-form,.payment-method-credit-card__credit-card-form-name{width:100%}.payment-method-credit-card__icon{margin-right:.2rem}.payment-method-credit-card__icon.mat-icon{height:20px;width:20px;font-size:18px}.payment-method-credit-card__mobile-menu-button{height:1.25rem;width:1.25rem;font-size:1.25rem;border-radius:50%}.payment-method-credit-card__mobile-menu-button.mat-icon-button{line-height:0}.payment-method-credit-card__mobile-menu-item.mat-menu-item{height:45px;line-height:45px}.payment-method-credit-card__mobile-menu-item.mat-menu-item .mat-icon{margin-right:6px;color:#17232c}.payment-method-credit-card__billing-address-container{margin-bottom:16px}.payment-method-credit-card__card-select-radio-group{display:flex;flex-direction:column;padding-left:20px}.payment-method-credit-card__card-select-radio-option{padding-top:15px}.payment-method-credit-card__save-card-label{flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;text-align:left;color:#17232c}.payment-method-credit-card__cc-name{font-size:15px;font-weight:400}\\n\"], components: [{ type: CreditCardFormComponent, selector: \"phaas-ngcart-credit-card-form\", inputs: [\"iFrameID\", \"organizationID\", \"merchantAccountID\"], outputs: [\"tokenized\"] }, { type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i1$1.AddressFormComponent, selector: \"phaas-ngcommon-address-form\", inputs: [\"addressFormFieldsRequired\", \"currencyCode\"], outputs: [\"addressInformation\"] }, { type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: i8.MatRadioButton, selector: \"mat-radio-button\", inputs: [\"disableRipple\", \"tabIndex\"], exportAs: [\"matRadioButton\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }, { type: i10.MatMenu, selector: \"mat-menu\", exportAs: [\"matMenu\"] }, { type: i10.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"disabled\", \"disableRipple\", \"role\"], exportAs: [\"matMenuItem\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i8.MatRadioGroup, selector: \"mat-radio-group\", exportAs: [\"matRadioGroup\"] }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i10.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", exportAs: [\"matMenuTrigger\"] }, { type: i6.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentMethodCreditCardComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-method-credit-card',\n templateUrl: './payment-method-credit-card.component.html',\n styleUrls: ['./payment-method-credit-card.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: i1$1.EnvironmentService }, { type: i2$1.MatDialog }, { type: AttendeeService }]; }, propDecorators: { organizationID: [{\n type: Input\n }], merchantAccountID: [{\n type: Input\n }], iFrameID: [{\n type: Input\n }], guestCardSummaries: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], showPaymentLinkButton: [{\n type: Input\n }], showBillingAddressForm: [{\n type: Input\n }], requireBillingAddressForm: [{\n type: Input\n }], currencyCode: [{\n type: Input\n }], showSaveCreditCardCheckbox: [{\n type: Input\n }], saveCreditCardCheckboxLabel: [{\n type: Input\n }], creditCardData: [{\n type: Output\n }], selectedGuestCardSummaryOutput: [{\n type: Output\n }], paymentLinkOutput: [{\n type: Output\n }], onResize: [{\n type: HostListener,\n args: ['window:resize']\n }] } });\n\nclass PaymentOutput {\n}\nclass PaymentOptionsConfig {\n constructor(isCardDisabled, isCashDisabled, isCheckDisabled, isOtherDisabled) {\n this.isCardDisabled = isCardDisabled;\n this.isCashDisabled = isCashDisabled;\n this.isCheckDisabled = isCheckDisabled;\n this.isOtherDisabled = isOtherDisabled;\n }\n}\nclass PaymentOption {\n}\nvar PaymentType;\n(function (PaymentType) {\n PaymentType[\"card\"] = \"CARD\";\n PaymentType[\"cash\"] = \"CASH\";\n PaymentType[\"check\"] = \"CHECK\";\n PaymentType[\"other\"] = \"OTHER\";\n})(PaymentType || (PaymentType = {}));\nclass PaymentMethodDropdownComponent {\n constructor() {\n this.guestCardSummaries = [];\n this.organizationID = '';\n this.merchantAccountID = '';\n this.iFrameID = '';\n this.guestSummary = new GuestSummary();\n this.showPaymentLinkButton = false;\n this.showBillingAddressForm = false;\n this.requireBillingAddressForm = false;\n this.currencyCode = 'USD';\n this.showSaveCreditCardCheckbox = true;\n this.saveCreditCardCheckboxLabel = 'Make this my primary credit card';\n this.paymentFormOutput = new EventEmitter();\n this.paymentLinkOutput = new EventEmitter();\n this.paymentOptions = [];\n this.selectedPaymentOption = {};\n // The payment form\n this.paymentMethod = new FormControl(null, Validators.required);\n this.paymentDescription = new FormControl('');\n this.paymentFormGroup = new FormGroup({\n paymentMethod: this.paymentMethod,\n paymentDescription: this.paymentDescription,\n });\n this.creditCardData = null;\n this.selectedGuestCardSummaryData = null;\n }\n ngOnChanges() {\n this.configurePaymentOptions();\n this.paymentFormOutput.emit(this.getPaymentFormOutput());\n }\n ngOnInit() {\n // trigger an emit if the payment form or the cc form values change\n this.paymentFormGroup.valueChanges.subscribe(() => {\n this.paymentFormOutput.emit(this.getPaymentFormOutput());\n });\n }\n getPaymentFormOutput() {\n var _a, _b, _c;\n let formsAreValid = true;\n if (!this.paymentFormGroup.valid) {\n formsAreValid = false;\n }\n // if you don't have a card selected, or if you didn't fill out the form it is invalid\n if (((_a = this.paymentMethod.value) === null || _a === void 0 ? void 0 : _a.value) == PaymentType.card && !(this.creditCardData || this.selectedGuestCardSummaryData)) {\n formsAreValid = false;\n }\n if (((_b = this.paymentMethod.value) === null || _b === void 0 ? void 0 : _b.value) == PaymentType.card &&\n this.creditCardData &&\n this.requireBillingAddressForm &&\n !this.isBillingAddressInformationValid(this.creditCardData)) {\n formsAreValid = false;\n }\n return {\n isValid: formsAreValid,\n paymentType: (_c = this.paymentMethod.value) === null || _c === void 0 ? void 0 : _c.value,\n paymentDescription: this.selectedPaymentOption.showPaymentDescription ? this.paymentDescription.value : '',\n useCardOnFile: !!(this.selectedGuestCardSummaryData) && !this.creditCardData,\n creditCardFormData: this.creditCardData,\n selectedGuestCardData: this.selectedGuestCardSummaryData\n };\n }\n onSelectionChange(selectedOption) {\n // Reset payment description text and validators\n this.paymentDescription.setValue('');\n this.paymentDescription.clearValidators();\n if (selectedOption.paymentDescriptionValidation) {\n this.paymentDescription.setValidators(selectedOption.paymentDescriptionValidation);\n }\n this.paymentDescription.updateValueAndValidity();\n // Make the option selected\n this.selectedPaymentOption = selectedOption;\n }\n configurePaymentOptions() {\n var _a, _b, _c, _d;\n this.paymentOptions = [\n {\n value: PaymentType.card,\n disabled: !!((_a = this.optionConfig) === null || _a === void 0 ? void 0 : _a.isCardDisabled),\n displayText: 'Credit/Debt Card',\n showPaymentDescription: false,\n },\n {\n value: PaymentType.check,\n disabled: !!((_b = this.optionConfig) === null || _b === void 0 ? void 0 : _b.isCheckDisabled),\n displayText: 'Check',\n showPaymentDescription: true,\n paymentDescriptionLabel: 'Check Number',\n paymentDescriptionValidation: [Validators.maxLength(10)],\n },\n {\n value: PaymentType.cash,\n disabled: !!((_c = this.optionConfig) === null || _c === void 0 ? void 0 : _c.isCashDisabled),\n displayText: 'Cash',\n showPaymentDescription: false,\n },\n {\n value: PaymentType.other,\n disabled: !!((_d = this.optionConfig) === null || _d === void 0 ? void 0 : _d.isOtherDisabled),\n displayText: 'Other',\n showPaymentDescription: true,\n paymentDescriptionLabel: 'How did they pay? *',\n paymentDescriptionValidation: [Validators.maxLength(25), Validators.required],\n }\n ];\n const value = this.paymentOptions.find(option => !option.disabled);\n if (value) {\n this.paymentMethod.setValue(value);\n this.onSelectionChange(value);\n }\n }\n setCreditCardData(data) {\n this.creditCardData = data;\n this.paymentFormOutput.emit(this.getPaymentFormOutput());\n }\n setGuestCardSummaryData(data) {\n this.selectedGuestCardSummaryData = data;\n this.paymentFormOutput.emit(this.getPaymentFormOutput());\n }\n isBillingAddressInformationValid(creditCardData) {\n return !!(creditCardData.billingStreet && creditCardData.billingCity && creditCardData.billingState && creditCardData.billingZip && creditCardData.billingCountry);\n }\n}\nPaymentMethodDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentMethodDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nPaymentMethodDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentMethodDropdownComponent, selector: \"phaas-ngcart-payment-method-dropdown\", inputs: { guestCardSummaries: \"guestCardSummaries\", optionConfig: \"optionConfig\", organizationID: \"organizationID\", merchantAccountID: \"merchantAccountID\", iFrameID: \"iFrameID\", guestSummary: \"guestSummary\", showPaymentLinkButton: \"showPaymentLinkButton\", showBillingAddressForm: \"showBillingAddressForm\", requireBillingAddressForm: \"requireBillingAddressForm\", currencyCode: \"currencyCode\", showSaveCreditCardCheckbox: \"showSaveCreditCardCheckbox\", saveCreditCardCheckboxLabel: \"saveCreditCardCheckboxLabel\" }, outputs: { paymentFormOutput: \"paymentFormOutput\", paymentLinkOutput: \"paymentLinkOutput\" }, usesOnChanges: true, ngImport: i0, template: \"
\\n
\\n
\\n \\n Payment Method\\n \\n {{ option.displayText }}\\n \\n \\n \\n
\\n
\\n \\n {{ selectedPaymentOption.paymentDescriptionLabel }}\\n \\n Exceeded max length\\n \\n
\\n \\n\\n
\\n \\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Inter:wght@400&display=swap\\\";.payment-method-dropdown{margin-top:4px;width:100%}.payment-method-dropdown__dropdown,.payment-method-dropdown__dropdown-option{font-family:\\\"Inter\\\",sans-serif;font-weight:400}.payment-method-dropdown__description{margin:8px 0 5px}.payment-method-dropdown__field{width:100%;height:59px;font-family:\\\"Inter\\\",sans-serif;font-weight:400}.payment-method-dropdown__row{width:100%;display:flex;flex-direction:row}.payment-method-dropdown__column{width:100%;display:flex;flex-direction:column}.payment-method-dropdown__cc-display{margin:20px 0 16px}.payment-method-dropdown__cc-use-another{text-align:end}.payment-method-dropdown__cc-use-another span{color:#1d4764;cursor:pointer}.payment-method-dropdown__cc-last-four{display:flex;align-items:center;height:24px;font-size:14px;line-height:0px}.payment-method-dropdown__cc-container{padding-top:20px}\\n\"], components: [{ type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i3.MatSelect, selector: \"mat-select\", inputs: [\"disabled\", \"disableRipple\", \"tabIndex\"], exportAs: [\"matSelect\"] }, { type: i3$1.MatOption, selector: \"mat-option\", exportAs: [\"matOption\"] }, { type: PaymentMethodCreditCardComponent, selector: \"phaas-ngcart-payment-method-credit-card\", inputs: [\"organizationID\", \"merchantAccountID\", \"iFrameID\", \"guestCardSummaries\", \"guestSummary\", \"showPaymentLinkButton\", \"showBillingAddressForm\", \"requireBillingAddressForm\", \"currencyCode\", \"showSaveCreditCardCheckbox\", \"saveCreditCardCheckboxLabel\"], outputs: [\"creditCardData\", \"selectedGuestCardSummaryOutput\", \"paymentLinkOutput\"] }], directives: [{ type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i5$1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentMethodDropdownComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-method-dropdown',\n templateUrl: './payment-method-dropdown.component.html',\n styleUrls: ['./payment-method-dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { guestCardSummaries: [{\n type: Input\n }], optionConfig: [{\n type: Input\n }], organizationID: [{\n type: Input\n }], merchantAccountID: [{\n type: Input\n }], iFrameID: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], showPaymentLinkButton: [{\n type: Input\n }], showBillingAddressForm: [{\n type: Input\n }], requireBillingAddressForm: [{\n type: Input\n }], currencyCode: [{\n type: Input\n }], showSaveCreditCardCheckbox: [{\n type: Input\n }], saveCreditCardCheckboxLabel: [{\n type: Input\n }], paymentFormOutput: [{\n type: Output\n }], paymentLinkOutput: [{\n type: Output\n }] } });\n\nvar PaymentStatus;\n(function (PaymentStatus) {\n PaymentStatus[\"PROCESSING\"] = \"processing\";\n PaymentStatus[\"SUCCESSFUL\"] = \"successful\";\n PaymentStatus[\"UNSUCCESSFUL\"] = \"unsuccessful\";\n})(PaymentStatus || (PaymentStatus = {}));\nclass PaymentDialogData {\n}\nclass PaymentStatusDialogComponent {\n constructor(dialogRef, data) {\n this.dialogRef = dialogRef;\n this.data = data;\n }\n ngOnInit() { }\n}\nPaymentStatusDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentStatusDialogComponent, deps: [{ token: i2$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });\nPaymentStatusDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentStatusDialogComponent, selector: \"phaas-ngcart-payment-status-dialog\", ngImport: i0, template: \"
\\n
\\n \\n
\\n
\\n check_circle\\n
\\n {{ data.successMessage }}\\n
\\n
\\n
\\n warning\\n
\\n {{ data?.errorMessage ? data.errorMessage : 'Sorry we were unable to process your request.' }}\\n
\\n
\\n {{ data.errorMessageSubtext }}\\n
\\n \\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600&display=swap\\\";.payment-status-dialog{height:100%;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center}.payment-status-dialog__successful,.payment-status-dialog__processing,.payment-status-dialog__unsuccessful{display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:\\\"Lato\\\",sans-serif;font-size:24px}.payment-status-dialog__success-icon{height:60px;width:60px;font-size:60px;color:#26a65b}.payment-status-dialog__success-text{margin-top:24px;font-size:20px;font-weight:600;text-align:center;white-space:normal}.payment-status-dialog__unsuccess-icon{height:60px;width:60px;font-size:60px;color:#c0920c}.payment-status-dialog__unsuccessful-text{margin-top:24px;font-size:20px;font-weight:600;text-align:center;white-space:normal}.payment-status-dialog__unsuccessful-text-helper{margin-top:16px;font-size:14px;font-weight:400;text-align:center;white-space:normal}.payment-status-dialog__successful-text,.payment-status-dialog__processing-text{margin-top:24px}.payment-status-dialog__unsuccess-button{margin-top:24px;width:100%;background-color:#002846;color:#fff;bottom:0}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentStatusDialogComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-status-dialog',\n templateUrl: './payment-status-dialog.component.html',\n styleUrls: ['./payment-status-dialog.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: i2$1.MatDialogRef }, { type: PaymentDialogData, decorators: [{\n type: Inject,\n args: [MAT_DIALOG_DATA]\n }] }]; } });\n\nclass PickupDialogData {\n}\nclass PaymentActionDialogComponent {\n constructor(data) {\n this.data = data;\n this.closeButtonClicked = new EventEmitter();\n this.actionButtonClicked = new EventEmitter();\n }\n ngOnInit() { }\n closeButtonClick() {\n this.closeButtonClicked.emit(true);\n }\n actionButtonClick() {\n this.actionButtonClicked.emit(true);\n }\n}\nPaymentActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentActionDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });\nPaymentActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentActionDialogComponent, selector: \"phaas-ngcart-payment-action-dialog\", outputs: { closeButtonClicked: \"closeButtonClicked\", actionButtonClicked: \"actionButtonClicked\" }, ngImport: i0, template: \"
\\n
\\n \\n
\\n
\\n check_circle\\n warning\\n
\\n {{ data.message }}\\n
\\n
\\n {{ data.messageSubtext }}\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600&display=swap\\\";.payment-action-dialog{height:100%;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center}.payment-action-dialog__info,.payment-action-dialog__processing{display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:\\\"Lato\\\",sans-serif;font-size:24px}.payment-action-dialog__icon{height:60px;width:60px;font-size:60px}.payment-action-dialog__text{margin-top:24px;font-size:1.5rem;font-weight:600;text-align:center;white-space:normal;color:#000000de}.payment-action-dialog__success-icon{color:#26a65b}.payment-action-dialog__unsuccess-icon{color:#c0920c}.payment-action-dialog__text-helper{margin-top:16px;font-weight:400;text-align:center;white-space:normal;color:#000000de;font-size:1rem}.payment-action-dialog__action-button{width:100%;background-color:#002846;color:#fff;margin-left:40px;min-width:unset}.payment-action-dialog__close-button{width:100%;background-color:#fff;color:#002846}.payment-action-dialog__action{margin-top:24px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;bottom:0}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentActionDialogComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-action-dialog',\n templateUrl: './payment-action-dialog.component.html',\n styleUrls: ['./payment-action-dialog.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: PickupDialogData, decorators: [{\n type: Inject,\n args: [MAT_DIALOG_DATA]\n }] }]; }, propDecorators: { closeButtonClicked: [{\n type: Output\n }], actionButtonClicked: [{\n type: Output\n }] } });\n\nclass FixedPriceFormComponent {\n constructor(virtualEventRestService) {\n this.virtualEventRestService = virtualEventRestService;\n this.organizationID = '';\n this.eventID = '';\n this.fixedPriceOrderIDs = [];\n this.fixedPriceFormGroup = new FormGroup({});\n this.fixedPriceItem$ = new BehaviorSubject([]);\n this.fixedPriceItemSelect = new FormControl();\n this.fixedPriceItemQuantity = new FormControl();\n this.total = 0;\n this.maxQuantity = 1;\n this.showQuantity = false;\n }\n ngOnInit() {\n this.loadFixedPriceItems();\n this.fixedPriceItemSelect = new FormControl(null, Validators.required);\n this.fixedPriceFormGroup.addControl('fixedPriceItemSelect', this.fixedPriceItemSelect);\n this.fixedPriceItemQuantity = new FormControl(1, [Validators.required, Validators.min(1)]);\n this.fixedPriceItemQuantity.addValidators((control) => Validators.max(this.maxQuantity)(control));\n this.fixedPriceFormGroup.addControl('fixedPriceItemQuantity', this.fixedPriceItemQuantity);\n this.fixedPriceFormGroup.controls['fixedPriceItemSelect'].valueChanges.subscribe(() => {\n if (this.fixedPriceItemSelect.value) {\n this.calculateTotal();\n this.setQuantity();\n }\n });\n this.fixedPriceFormGroup.controls['fixedPriceItemQuantity'].valueChanges.subscribe(() => {\n this.fixedPriceItemQuantity.markAsTouched();\n this.calculateTotal();\n });\n }\n calculateTotal() {\n var _a, _b, _c;\n this.total = (((_b = (_a = this.fixedPriceItemSelect.value) === null || _a === void 0 ? void 0 : _a.priceCents) !== null && _b !== void 0 ? _b : 0) / 100) * ((_c = this.fixedPriceItemQuantity.value) !== null && _c !== void 0 ? _c : 1);\n }\n setQuantity() {\n var _a, _b, _c;\n this.fixedPriceItemQuantity.setValue(1);\n if (!((_a = this.fixedPriceItemSelect.value) === null || _a === void 0 ? void 0 : _a.numUnlimited)) {\n this.maxQuantity = ((_b = this.fixedPriceItemSelect.value) === null || _b === void 0 ? void 0 : _b.maxNumAvailable) - ((_c = this.fixedPriceItemSelect.value) === null || _c === void 0 ? void 0 : _c.numPurchased);\n // hide quantity input when max quantity available is 1\n this.showQuantity = this.maxQuantity >= 2;\n }\n else {\n this.maxQuantity = 99;\n this.showQuantity = true;\n }\n }\n isSoldOut(fixedPriceItem) {\n var _a, _b;\n if (fixedPriceItem.numUnlimited) {\n return false;\n }\n return ((_a = fixedPriceItem.maxNumAvailable) !== null && _a !== void 0 ? _a : 0) - ((_b = fixedPriceItem.numPurchased) !== null && _b !== void 0 ? _b : 0) <= 0;\n }\n getNumAvailableString(fixedPriceItem) {\n var _a, _b;\n if (fixedPriceItem.numUnlimited) {\n return 'Unlimited Quantity';\n }\n return this.isSoldOut(fixedPriceItem) ? 'Sold Out' : `${((_a = fixedPriceItem.maxNumAvailable) !== null && _a !== void 0 ? _a : 0) - ((_b = fixedPriceItem.numPurchased) !== null && _b !== void 0 ? _b : 0)} remaining`;\n }\n // Load fixed price items in order\n loadFixedPriceItems() {\n forkJoin(this.fixedPriceOrderIDs.map(itemID => {\n return this.virtualEventRestService.readFixedPriceItem(new ReadFixedPriceItemInput(itemID, this.organizationID, this.eventID));\n })).subscribe(items => {\n this.moveSoldoutItemsToBottom(items);\n });\n }\n // In order to display the items in the same order as Flow\n moveSoldoutItemsToBottom(items) {\n // soldout items should be put on the bottom of the list while\n // otherwise maintaining the order specified on admin page\n const results = [];\n const soldoutItems = [];\n items.forEach(item => {\n if (this.isSoldOut(item)) {\n soldoutItems.push(item);\n }\n else {\n results.push(item);\n }\n });\n this.fixedPriceItem$.next(results.concat(soldoutItems));\n }\n}\nFixedPriceFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: FixedPriceFormComponent, deps: [{ token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Component });\nFixedPriceFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: FixedPriceFormComponent, selector: \"phaas-ngcart-fixed-price-form\", inputs: { organizationID: \"organizationID\", eventID: \"eventID\", fixedPriceOrderIDs: \"fixedPriceOrderIDs\", fixedPriceFormGroup: \"fixedPriceFormGroup\" }, ngImport: i0, template: \"
\\n
\\n \\n Fixed Price Item\\n \\n {{fixedPriceItemSelect.value?.name}}\\n \\n
\\n
\\n
\\n {{ item.name }}\\n
\\n
\\n {{ getNumAvailableString(item) }}\\n
\\n
\\n
\\n {{ ( item.priceCents ?? 0 ) / 100 | currency }}\\n
\\n
\\n
\\n
\\n Selection is required\\n
\\n \\n Quantity\\n \\n {{ getNumAvailableString(fixedPriceItemSelect?.value) }}\\n \\n Item quantity is required\\n \\n \\n Item quantity must be at least 1\\n \\n \\n Item quantity must be less than {{ maxQuantity + 1 }}\\n \\n \\n \\n
\\n Total\\n
{{ total | currency}}
\\n
\\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700&display=swap|Inter:wght@600&display=swap\\\";.fixed-price-form{height:100%;width:100%;font-family:\\\"Lato\\\",sans-serif}.fixed-price-form__form{position:relative;display:flex;flex-direction:column}.fixed-price-form__form-field{width:100%;font-weight:400}.fixed-price-form__quantity{width:220px;font-weight:400}.fixed-price-form__total{margin-top:1rem;width:100%;font-weight:600;font-size:1.25rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#404040}.fixed-price-form__break-line{margin-top:2rem;margin-bottom:1rem;width:100%;border-top:1px solid #ccc}.fixed-price-form__option{height:65px!important}.fixed-price-form__option-details{font-weight:400;display:flex;flex-direction:row;justify-content:space-between;align-items:center;max-height:4.5rem;max-width:100%}.fixed-price-form__option-name-container{display:flex;line-height:20px;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden}.fixed-price-form__option-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fixed-price-form__option-remaining{margin-top:0;font-size:.7rem;color:#0009}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\\n\"], components: [{ type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i3.MatSelect, selector: \"mat-select\", inputs: [\"disabled\", \"disableRipple\", \"tabIndex\"], exportAs: [\"matSelect\"] }, { type: i3$1.MatOption, selector: \"mat-option\", exportAs: [\"matOption\"] }], directives: [{ type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i3.MatSelectTrigger, selector: \"mat-select-trigger\" }, { type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i5$1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1$2.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }], pipes: { \"async\": i6.AsyncPipe, \"currency\": i1$1.ExtendedCurrencyPipe }, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: FixedPriceFormComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-fixed-price-form',\n templateUrl: './fixed-price-form.component.html',\n styleUrls: ['./fixed-price-form.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }]; }, propDecorators: { organizationID: [{\n type: Input\n }], eventID: [{\n type: Input\n }], fixedPriceOrderIDs: [{\n type: Input\n }], fixedPriceFormGroup: [{\n type: Input\n }] } });\n\nclass BuyItemsRestService {\n constructor(authHttpClient) {\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-virtualevent-api';\n }\n buyItemsAuth(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items`;\n return this.authHttpClient.post(url, input).pipe(map((response) => {\n return response.payload;\n }));\n }\n}\nBuyItemsRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: BuyItemsRestService, deps: [{ token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nBuyItemsRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: BuyItemsRestService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: BuyItemsRestService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1$1.AuthHttpClient }]; } });\n\nclass MiscChargeFormComponent {\n constructor() {\n this.miscChargeFormGroup = new FormGroup({});\n this.amount = new FormControl();\n this.description = new FormControl();\n }\n ngOnInit() {\n this.amount = new FormControl(null, [Validators.required, Validators.pattern('^\\\\d+(?:\\\\.\\\\d{1,2})?$')]);\n this.description = new FormControl('', [Validators.required, Validators.maxLength(50)]);\n this.miscChargeFormGroup.addControl('amount', this.amount);\n this.miscChargeFormGroup.addControl('description', this.description);\n }\n}\nMiscChargeFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: MiscChargeFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nMiscChargeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: MiscChargeFormComponent, selector: \"phaas-ngcart-misc-charge-form\", inputs: { miscChargeFormGroup: \"miscChargeFormGroup\" }, ngImport: i0, template: \"
\\n
\\n \\n Amount\\n \\n attach_money\\n \\n \\n Invalid amount\\n Amount is required\\n \\n \\n \\n Description\\n \\n Exceeded max length\\n Description is required\\n \\n \\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700&display=swap|Inter:wght@600&display=swap\\\";.misc-charge-form{height:100%;width:100%;font-family:\\\"Lato\\\",sans-serif;font-weight:600}.misc-charge-form__form{position:relative;display:flex;flex-direction:column}.misc-charge-form__form-field{width:100%;font-weight:400}\\n\"], components: [{ type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i1$2.MatPrefix, selector: \"[matPrefix]\" }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i5$1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: MiscChargeFormComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-misc-charge-form',\n templateUrl: './misc-charge-form.component.html',\n styleUrls: ['./misc-charge-form.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { miscChargeFormGroup: [{\n type: Input\n }] } });\n\nclass NumbersOnlyFormatter {\n static initialize(control) {\n let formattedValue = '';\n control.valueChanges.subscribe((value) => {\n formattedValue = this.removeNonNumbers(value);\n control.setValue(formattedValue, { emitEvent: false, emitViewToModelChange: false });\n });\n }\n static removeNonNumbers(newValue) {\n let value = '';\n if (newValue !== null && newValue !== undefined) {\n value = newValue.toString().replace(/[^0-9]/g, '');\n }\n return value;\n }\n}\nclass RaffleWithPurchaseLevels {\n constructor() {\n this.eventID = '';\n this.raffleID = '';\n this.name = '';\n this.endDate = '';\n this.maxTicketsCount = 0;\n this.totalTicketsCount = 0;\n this.ticketPurchaseLevels = [];\n }\n}\nclass RaffleTicketPurchaseLevel {\n constructor() {\n this.id = '';\n this.priceCents = 0;\n this.quantityTickets = 0;\n }\n}\nclass QuantityControl {\n constructor() {\n this.id = '';\n this.control = new FormControl();\n }\n}\nconst incrementorMax = 99;\nvar RaffleStatuses;\n(function (RaffleStatuses) {\n RaffleStatuses[\"loading\"] = \"Loading\";\n RaffleStatuses[\"loaded\"] = \"Loaded\";\n RaffleStatuses[\"soldOut\"] = \"Sold Out\";\n RaffleStatuses[\"closed\"] = \"Closed\";\n})(RaffleStatuses || (RaffleStatuses = {}));\nclass RaffleFormComponent {\n constructor(currency, raffleRestService) {\n this.currency = currency;\n this.raffleRestService = raffleRestService;\n this.organizationID = '';\n this.eventID = '';\n this.activeRaffleID = '';\n this.raffle = {};\n this.raffleFormGroup = new FormGroup({});\n this.raffleWithPurchaseLevels = {};\n this.purchaseLevels = [];\n this.remainingTicketsDisplay = 'unlimited';\n this.expandedID = '';\n this.expandedQuantityControls = [];\n this.raffleStatus = RaffleStatuses.loading;\n this.selectedPurchaseLevelID = new FormControl();\n this.selectedQuantityTickets = new FormControl();\n this.selectedAmountCents = new FormControl();\n }\n ngOnInit() {\n // Set up the controls that return the selected purchase level and info back to the add-charge-dialog\n this.selectedPurchaseLevelID = new FormControl(null, Validators.required);\n this.raffleFormGroup.addControl('selectedPurchaseLevelID', this.selectedPurchaseLevelID);\n this.selectedQuantityTickets = new FormControl(null, Validators.required);\n this.raffleFormGroup.addControl('selectedQuantityTickets', this.selectedQuantityTickets);\n this.selectedAmountCents = new FormControl(null, Validators.required);\n this.raffleFormGroup.addControl('selectedAmountCents', this.selectedAmountCents);\n // load the raffle\n this.loadRaffle();\n }\n ngOnChanges() {\n // load the raffle\n this.loadRaffle();\n }\n loadRaffle() {\n // See if there is a raffle ID from the input\n if (this.raffle.id) {\n // Set the raffle status\n this.setRaffleStatus();\n // If the status hasn't changed (not sold out or closed), go get the purchase levels\n if (this.raffleStatus == RaffleStatuses.loading) {\n // Load the purchase levels for the raffle\n const purchaseListInput = new ListPurchaseLevelsInput(this.organizationID, this.activeRaffleID);\n this.raffleRestService.listPurchaseLevels(purchaseListInput).subscribe(out => {\n var _a;\n this.raffleWithPurchaseLevels = {\n eventID: this.eventID,\n raffleID: this.raffle.id,\n name: this.raffle.name,\n endDate: (_a = this.raffle.endDate) === null || _a === void 0 ? void 0 : _a.toString(),\n maxTicketsCount: this.raffle.maxTicketsCount,\n totalTicketsCount: this.raffle.totalTicketsCount,\n ticketPurchaseLevels: out.items,\n };\n if (this.raffle.maxTicketsCount && this.raffle.totalTicketsCount && this.raffle.maxTicketsCount > 0) {\n this.remainingTicketsDisplay = (this.raffle.maxTicketsCount - this.raffle.totalTicketsCount) + ' remaining';\n }\n // Sort and create the quantity input controls for each of the purchase levels\n this.raffleWithPurchaseLevels.ticketPurchaseLevels.sort((a, b) => a.quantityTickets > b.quantityTickets ? 1 : -1);\n this.expandedQuantityControls = this.raffleWithPurchaseLevels.ticketPurchaseLevels.map(purchaseLevel => {\n const control = new FormControl(1, [\n Validators.required,\n Validators.min(1),\n Validators.max(this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel)),\n ]);\n NumbersOnlyFormatter.initialize(control);\n control.valueChanges.subscribe((value) => {\n if (control.valid) {\n this.selectedQuantityTickets.setValue(value);\n this.selectedAmountCents.setValue(this.getTotalPriceCalculation());\n }\n else {\n this.selectedQuantityTickets.setValue(undefined);\n this.selectedAmountCents.setValue(undefined);\n }\n });\n return { id: purchaseLevel.id, control: control };\n });\n // Set the purchase levels and the status as loaded\n this.purchaseLevels = this.raffleWithPurchaseLevels.ticketPurchaseLevels;\n this.raffleStatus = RaffleStatuses.loaded;\n });\n }\n }\n }\n setRaffleStatus() {\n // Set the status if the raffle is sold out\n if (this.raffle.hasSoldOut) {\n this.raffleStatus = RaffleStatuses.soldOut;\n }\n // Set the status if the raffle has ended\n const now = new Date();\n if (this.raffle.endDate && this.raffle.endDate < now) {\n this.raffleStatus = RaffleStatuses.closed;\n }\n }\n getMaxQuantityAllowedForPurchaseLevel(purchaseLevel) {\n // If there is no max ticket count, just return the max number of tickets that can be bought\n if (!this.raffle.maxTicketsCount) {\n return incrementorMax;\n }\n // Figure out and return if the max number of tickets this purchase level can have\n const maxTicketsCurrentlyAvailable = this.raffle.maxTicketsCount - (this.raffle.totalTicketsCount || 0);\n const quantityAllowed = Math.floor(maxTicketsCurrentlyAvailable / purchaseLevel.quantityTickets);\n return quantityAllowed < incrementorMax ? quantityAllowed : incrementorMax;\n }\n isPurchaseLevelExpanded(purchaseLevel) {\n return this.expandedID === purchaseLevel.id;\n }\n onPurchaseLevelSelected(purchaseLevel) {\n if (!this.isPurchaseLevelExpanded(purchaseLevel) && this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel) > 0) {\n // Set the selected purchase level as expanded\n this.expandedID = purchaseLevel.id;\n // Set the returned purchase level ID value (the other two will get set below)\n this.selectedPurchaseLevelID.setValue(purchaseLevel.id);\n // Set the newly opened purchase level control to 1\n const expandedControl = this.getExpandedQuantityControl(purchaseLevel.id);\n expandedControl.setValue(1);\n }\n }\n getExpandedPurchaseLevel() {\n // If ther is an expanded purchase level, return it\n if (!this.expandedID) {\n return new RaffleTicketPurchaseLevel();\n }\n const found = this.purchaseLevels.find(element => element.id == this.expandedID);\n if (!found) {\n return new RaffleTicketPurchaseLevel();\n }\n return found;\n }\n getExpandedQuantityControl(id) {\n // If there is an form control (quantity input) for the purchase level ID passed in, return it\n if (!id) {\n return new FormControl();\n }\n const selectedControl = this.expandedQuantityControls.find(control => control.id === id);\n return selectedControl.control;\n }\n getPurchaseLevelText(purchaseLevel) {\n // Set the purchase level text for the expanding panel\n const quantity = purchaseLevel.quantityTickets;\n const label = quantity > 1 ? 'tickets' : 'ticket';\n const price = this.currency.transform(purchaseLevel.priceCents / 100);\n return `${quantity} ${label} for ${price}`;\n }\n canDecrease() {\n // If there is an expanded purchase level, check to see if the value in the input can be decreased\n if (!this.expandedID) {\n return false;\n }\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n return expandedControl.value > 1;\n }\n decreaseCount() {\n // If the quantity value can be decreased, decrease it and update the input\n if (!this.canDecrease()) {\n return;\n }\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const quantity = Number(expandedControl.value);\n expandedControl.setValue(quantity - 1);\n }\n canIncrease() {\n // If there is an expanded purchase level, check to see if the value in the input can be increased\n if (!this.expandedID) {\n return false;\n }\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const purchaseLevel = this.purchaseLevels.find(level => level.id === this.expandedID);\n const totalQuantityAllowed = this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel);\n return expandedControl.value < totalQuantityAllowed;\n }\n increaseCount() {\n // If the quantity value can be increased, increase it and update the input\n if (!this.canIncrease()) {\n return;\n }\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const numberOfTickets = Number(expandedControl.value);\n expandedControl.setValue(numberOfTickets + 1);\n }\n getErrorMessageText(purchaseLevel) {\n // Get the quantity input for the passed in purchase level and see if it is valid.\n // If not valid, return the meaningful text\n const expandedControl = this.getExpandedQuantityControl(purchaseLevel.id);\n if (expandedControl.hasError('max')) {\n const totalQuantityAllowed = this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel);\n if (totalQuantityAllowed === incrementorMax) {\n return `Only ${incrementorMax} ticket sets may be purchased at a time.`;\n }\n else {\n return `Only ${totalQuantityAllowed} ticket ${totalQuantityAllowed === 1 ? 'set remains' : 'sets remain'}.`;\n }\n }\n else {\n return 'The selected number is invalid.';\n }\n }\n getTotalTicketCalculation() {\n // Get the purchase level that is currently expanded\n const expandedPurchaseLevel = this.getExpandedPurchaseLevel();\n if (!expandedPurchaseLevel) {\n return 0;\n }\n // Get the quantity input for the expanded purchase level\n const expandedControl = this.getExpandedQuantityControl(expandedPurchaseLevel.id);\n const incrementorValue = Number(expandedControl.value);\n if (!expandedControl.valid) {\n return 0;\n }\n // Return the total number of tickets\n return expandedPurchaseLevel.quantityTickets * incrementorValue;\n }\n getTotalPriceCalculation() {\n // Get the purchase level that is currently expanded\n const expandedPurchaseLevel = this.getExpandedPurchaseLevel();\n if (!expandedPurchaseLevel) {\n return 0;\n }\n // Get the quantity input for the expanded purchase level\n const expandedControl = this.getExpandedQuantityControl(expandedPurchaseLevel.id);\n const incrementorValue = Number(expandedControl.value);\n if (!expandedControl.valid) {\n return 0;\n }\n // Return the total price of the tickets\n return (expandedPurchaseLevel.priceCents * incrementorValue);\n }\n}\nRaffleFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RaffleFormComponent, deps: [{ token: i1$1.ExtendedCurrencyPipe }, { token: RaffleRestService }], target: i0.ɵɵFactoryTarget.Component });\nRaffleFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RaffleFormComponent, selector: \"phaas-ngcart-raffle-form\", inputs: { organizationID: \"organizationID\", eventID: \"eventID\", activeRaffleID: \"activeRaffleID\", raffle: \"raffle\", raffleFormGroup: \"raffleFormGroup\" }, usesOnChanges: true, ngImport: i0, template: \"
\\n
\\n {{ raffle.name }} ({{ remainingTicketsDisplay }})\\n
\\n \\n \\n
\\n \\n Getting Raffle Purchase Levels\\n
\\n
\\n \\n
\\n Raffle tickets are sold out.\\n
\\n
\\n \\n
\\n Raffle ticket sales closed on {{ raffle.endDate | date:'MM/dd/yyyy \\\\'at\\\\' h:mm a' }}.\\n
\\n
\\n \\n
\\n
\\n
\\n
{{ getPurchaseLevelText(purchaseLevel) }}
\\n
\\n \\n
\\n \\n remove_circle\\n \\n \\n \\n add_circle\\n \\n
\\n \\n {{ getErrorMessageText(purchaseLevel) }}\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Total\\n
\\n
\\n
{{ getTotalTicketCalculation() }} {{ getTotalTicketCalculation() == 1 ? \\\"ticket \\\" : \\\"tickets\\\" }}
\\n
\\n
{{ (getTotalPriceCalculation() / 100) | currency}}
\\n
\\n
\\n
\\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700&display=swap|Inter:wght@600&display=swap\\\";.raffle-form{height:100%;width:100%;font-family:\\\"Lato\\\",sans-serif}.raffle-form__name{color:#0c0916cc;font-weight:bold;font-size:1rem}.raffle-form__status-container{margin:1rem 0}.raffle-form__loading{display:flex;flex-direction:column;justify-content:center;align-items:center}.raffle-form__tickets-remaining{font-weight:normal}.raffle-form__form{position:relative;display:flex;flex-direction:column}.raffle-form__secondary-color{color:#0c0916}.raffle-form__primary-color{color:#2e729f}.raffle-form__purchase-levels{padding:10px 0}.raffle-form__purchase-level{text-align:center;font-size:.87rem;padding:10px 10px 0;margin-bottom:10px;cursor:pointer;border-radius:3px;box-shadow:0 0 4px #0000001f,0 4px 4px #00000059}.raffle-form__purchase-level:hover{background-color:#f4f5f5}.raffle-form__purchase-level_expanded{cursor:default}.raffle-form__purchase-level_expanded:hover{background-color:#fff}.raffle-form__purchase-level_disabled{pointer-events:none;background-color:#f4f5f5}.raffle-form__purchase-level_disabled .purchase-level__text{opacity:.3}.purchase-level__text{padding-bottom:10px}.purchase-level__quantity mat-expansion-panel.purchase-level__quantity-form{box-shadow:none;background-color:transparent}.purchase-level__quantity .mat-action-row{justify-content:center;padding:5px 0}.purchase-level__quantity-field{display:flex;align-items:center;justify-content:center}.purchase-level__quantity-input{color:#0c0916cc;border:1px solid #969ca0;border-radius:4px;font-size:1rem;width:40px;height:34px;text-align:center;margin:0 6px}.purchase-level__quantity-input:focus{outline:none}.purchase-level__quantity-input.ng-touched.ng-invalid{border-color:#c84026}.purchase-level__quantity-button.mat-icon{font-size:40px;height:40px;width:40px;opacity:.8}.purchase-level__quantity-button.mat-icon:hover{cursor:pointer}.purchase-level__quantity-button.mat-icon.disabled{opacity:.2;cursor:default}.purchase-level__quantity-error{display:block;text-align:center;font-size:.7rem;line-height:18px;margin-top:10px}.raffle-form__totals-row{display:flex;width:100%;flex-direction:row;grid-column-gap:16px;column-gap:16px;align-items:center;color:#404040;font-weight:600;font-size:1.25rem}.raffle-form__totals-column{display:flex;flex-grow:0;flex-direction:column}.raffle-form__totals-column-cost{display:flex;flex-grow:1;flex-direction:column;align-items:flex-end}.raffle-form__pill{height:32px;padding:0 12px 2px;white-space:nowrap;flex-grow:0;display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:1rem;font-weight:normal;border-radius:36px;background-color:#f4f5f5}.raffle-form__break-line{margin-top:2rem;margin-bottom:1rem;width:100%;border-top:1px solid #ccc}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i4$2.MatExpansionPanel, selector: \"mat-expansion-panel\", inputs: [\"disabled\", \"expanded\", \"hideToggle\", \"togglePosition\"], outputs: [\"opened\", \"closed\", \"expandedChange\", \"afterExpand\", \"afterCollapse\"], exportAs: [\"matExpansionPanel\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i6.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i6.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }, { type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i6.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i5$1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }], pipes: { \"date\": i6.DatePipe, \"currency\": i1$1.ExtendedCurrencyPipe }, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RaffleFormComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-raffle-form',\n templateUrl: './raffle-form.component.html',\n styleUrls: ['./raffle-form.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: i1$1.ExtendedCurrencyPipe }, { type: RaffleRestService }]; }, propDecorators: { organizationID: [{\n type: Input\n }], eventID: [{\n type: Input\n }], activeRaffleID: [{\n type: Input\n }], raffle: [{\n type: Input\n }], raffleFormGroup: [{\n type: Input\n }] } });\n\nclass AddChargeDialogInput {\n constructor(orgID, event, guestSummary, guestCardSummaries, type, subtitle, fixedPriceOrderIDs, cssTheme) {\n this.orgID = orgID;\n this.event = event;\n this.guestSummary = guestSummary;\n this.guestCardSummaries = guestCardSummaries;\n this.type = type;\n this.subtitle = subtitle;\n this.fixedPriceOrderIDs = fixedPriceOrderIDs;\n this.cssTheme = cssTheme;\n }\n}\nclass AddChargeDialogOutput {\n constructor(success) {\n this.success = success;\n }\n}\nvar ItemType;\n(function (ItemType) {\n ItemType[\"miscCharge\"] = \"vevt-misc\";\n ItemType[\"fixedPrice\"] = \"vevt-fixed-price\";\n ItemType[\"raffle\"] = \"vevt-raffle\";\n})(ItemType || (ItemType = {}));\nclass AddChargeDialogComponent {\n constructor(buyItemsRestService, raffleRestService, virtualEventRestService, dialog, dialogRef, data, snackBar) {\n this.buyItemsRestService = buyItemsRestService;\n this.raffleRestService = raffleRestService;\n this.virtualEventRestService = virtualEventRestService;\n this.dialog = dialog;\n this.dialogRef = dialogRef;\n this.data = data;\n this.snackBar = snackBar;\n this.orgID = '';\n this.eventID = '';\n this.guestCardSummaries = [];\n this.guestSummary = {};\n this.type = '';\n this.subtitle = '';\n this.fixedPriceOrderIDs = [];\n this.activeRaffleID = '';\n this.attendeeFullName = '';\n this.merchantAccountID = '';\n this.isCoveringCosts = false;\n this.coverCostsEnabled = false;\n this.coverCostsPercent = 0;\n this.coverCostsAmountCents = 0;\n this.coverCostsMessage = '';\n this.totalAmountCents = 0;\n this.disableAddToCart = false;\n this.payAfterEvent = false;\n this.submitButtonDisabled$ = new BehaviorSubject(true);\n this.addChargeFormGroup = new FormGroup({});\n this.itemTypeFormGroup = new FormGroup({});\n this.paymentSelection = new FormControl();\n this.saveCreditCardCheckboxLabel = '';\n this.fixedPriceFormChild = null;\n this.titleMap = new Map()\n .set(ItemType.miscCharge, 'Add Miscellaneous Charge')\n .set(ItemType.fixedPrice, 'Add Fixed Price Item')\n .set(ItemType.raffle, 'Add Raffle Item');\n this.modalAction = new Map()\n .set('buyNow', false)\n .set('addToCart', true);\n this.raffle = new ReadRaffleOutput();\n this.isDestroyed$ = new Subject();\n }\n ngOnInit() {\n var _a, _b, _c, _d, _e;\n this.orgID = this.data.orgID;\n this.eventID = (_a = this.data.event.id) !== null && _a !== void 0 ? _a : '';\n this.guestSummary = this.data.guestSummary;\n this.guestCardSummaries = this.data.guestCardSummaries;\n this.type = this.data.type;\n this.subtitle = this.data.subtitle;\n this.fixedPriceOrderIDs = this.data.fixedPriceOrderIDs;\n this.activeRaffleID = (_b = this.data.event.activeRaffleID) !== null && _b !== void 0 ? _b : '';\n this.attendeeFullName = [this.guestSummary.firstName, this.guestSummary.lastName].join(' ').trim();\n this.merchantAccountID = (_c = this.data.event.merchantAccountID) !== null && _c !== void 0 ? _c : '';\n this.coverCostsEnabled = (_d = this.data.event.isCoverCostActive) !== null && _d !== void 0 ? _d : false;\n this.coverCostsPercent = (_e = this.data.event.coverCostPercent) !== null && _e !== void 0 ? _e : 0;\n this.saveCreditCardCheckboxLabel = `Make this the primary credit card on file for ${this.guestSummary.firstName.length ? this.guestSummary.firstName : 'this guest'}`;\n if (this.type === ItemType.raffle) {\n this.configureRaffle();\n }\n this.paymentSelection = new FormControl('buyNow', [Validators.required]);\n this.addChargeFormGroup = new FormGroup({\n paymentSelection: this.paymentSelection,\n itemTypeFormGroup: this.itemTypeFormGroup,\n });\n this.addChargeFormGroup.valueChanges.subscribe(() => {\n this.payAfterEvent = this.modalAction.get(this.paymentSelection.value);\n this.getSubmitButtonState();\n this.calculateTotals();\n });\n }\n ngOnDestroy() {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n }\n // Called whenever the selected items update, or when the cover costs button is clicked\n calculateTotals() {\n var _a, _b, _c, _d, _e, _f;\n let subtotalAmountCents = 0;\n // Update the pay input based on the type\n switch (this.type) {\n case ItemType.miscCharge:\n subtotalAmountCents = ((_a = this.itemTypeFormGroup.get('amount')) === null || _a === void 0 ? void 0 : _a.value) * 100;\n break;\n case ItemType.fixedPrice:\n const fixedPriceItem = (_b = this.itemTypeFormGroup.get('fixedPriceItemSelect')) === null || _b === void 0 ? void 0 : _b.value;\n subtotalAmountCents = ((_c = fixedPriceItem === null || fixedPriceItem === void 0 ? void 0 : fixedPriceItem.priceCents) !== null && _c !== void 0 ? _c : 0) * ((_e = (_d = this.itemTypeFormGroup.get('fixedPriceItemQuantity')) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : 1);\n break;\n case ItemType.raffle:\n subtotalAmountCents = (_f = this.itemTypeFormGroup.get('selectedAmountCents')) === null || _f === void 0 ? void 0 : _f.value;\n break;\n default:\n return;\n }\n this.coverCostsAmountCents = Math.round(subtotalAmountCents * this.coverCostsPercent);\n this.totalAmountCents = subtotalAmountCents + (this.isCoveringCosts ? this.coverCostsAmountCents : 0);\n this.coverCostsMessage = `${this.guestSummary.firstName || 'Attendee'} would like to cover ${(this.coverCostsPercent * 100).toFixed(2)}% of costs totaling $${(this.coverCostsAmountCents / 100).toFixed(2)}`;\n }\n onCoverCostChange(isChecked) {\n this.isCoveringCosts = isChecked;\n this.calculateTotals();\n }\n cancel() {\n this.dialogRef.close(new AddChargeDialogOutput(false));\n }\n save() {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!this.isPaymentMethodValid() || !this.isValidType()) {\n return;\n }\n if (!this.addChargeFormGroup.valid) {\n this.addChargeFormGroup.markAllAsTouched();\n return;\n }\n const input = new BuyItemsInput();\n input.organizationID = this.orgID;\n input.eventID = this.eventID;\n input.firstName = this.guestSummary.firstName;\n input.lastName = this.guestSummary.lastName;\n input.email = this.guestSummary.email;\n input.mobilePhone = this.guestSummary.mobilePhone;\n input.payAfterEvent = this.payAfterEvent;\n input.coverFee = false;\n input.isExternalPayment = false;\n input.overrideUserID = this.guestSummary.userID;\n input.guestID = this.guestSummary.id;\n // Payment method is only required for buying now\n if (!input.payAfterEvent) {\n input.paymentType = this.paymentMethod.paymentType || '';\n if (this.paymentMethod.paymentType === PaymentType.card) {\n // by default cc form data is null, if it was entered use it\n // otherwise use the selected card\n if (this.paymentMethod.creditCardFormData) {\n input.cardType = this.paymentMethod.creditCardFormData.cardType || '';\n input.cardLastFour = this.paymentMethod.creditCardFormData.lastFourDigits || '';\n input.expiration = this.paymentMethod.creditCardFormData.expiration || '';\n input.cardName = this.paymentMethod.creditCardFormData.name || '';\n input.payerName = this.paymentMethod.creditCardFormData.name || '';\n input.token = this.paymentMethod.creditCardFormData.nonce || '';\n // Add the billing address if the form is visible\n if (this.data.event.showBillingAddress) {\n input.payerStreet = this.paymentMethod.creditCardFormData.billingStreet || '';\n input.payerCity = this.paymentMethod.creditCardFormData.billingCity || '';\n input.payerState = this.paymentMethod.creditCardFormData.billingState || '';\n input.payerZip = this.paymentMethod.creditCardFormData.billingZip || '';\n input.payerCountry = this.paymentMethod.creditCardFormData.billingCountry || '';\n }\n }\n else {\n input.cardID = this.paymentMethod.selectedGuestCardData.userCardID;\n input.cardHolderGuestID = this.paymentMethod.selectedGuestCardData.guestID;\n }\n }\n else if (this.paymentMethod.paymentType === PaymentType.check) {\n input.checkNumber = this.paymentMethod.paymentDescription || '';\n }\n else if (this.paymentMethod.paymentType === PaymentType.other) {\n input.paymentOtherTypeNotes = this.paymentMethod.paymentDescription || '';\n }\n }\n // Update the pay input based on the type\n switch (this.type) {\n case ItemType.miscCharge:\n input.miscellaneousCharges = [new BuyMiscellaneousCharges((_a = this.itemTypeFormGroup.get('description')) === null || _a === void 0 ? void 0 : _a.value, ((_b = this.itemTypeFormGroup.get('amount')) === null || _b === void 0 ? void 0 : _b.value) * 100)];\n break;\n case ItemType.fixedPrice:\n const fixedPriceItem = (_c = this.itemTypeFormGroup.get('fixedPriceItemSelect')) === null || _c === void 0 ? void 0 : _c.value;\n input.fixedPrices = [new BuyFixedPrices(fixedPriceItem.id, fixedPriceItem.name, \n // fixedPriceItemQuantity will be a positive int\n +((_d = this.itemTypeFormGroup.get('fixedPriceItemQuantity')) === null || _d === void 0 ? void 0 : _d.value), fixedPriceItem.priceCents)];\n break;\n case ItemType.raffle:\n const purchaseLevelID = (_e = this.itemTypeFormGroup.get('selectedPurchaseLevelID')) === null || _e === void 0 ? void 0 : _e.value;\n const quantityTickets = (_f = this.itemTypeFormGroup.get('selectedQuantityTickets')) === null || _f === void 0 ? void 0 : _f.value;\n const priceCents = (_g = this.itemTypeFormGroup.get('selectedAmountCents')) === null || _g === void 0 ? void 0 : _g.value;\n input.raffleTickets = [\n new BuyItemRaffleTickets(priceCents || 0, this.activeRaffleID, purchaseLevelID, quantityTickets),\n ];\n break;\n default:\n return;\n }\n const submittingDialogRef = this.dialog.open(PaymentActionDialogComponent, {\n data: { status: PaymentStatus.PROCESSING },\n height: '300px', width: '90%', maxWidth: '420px',\n disableClose: true\n });\n this.buyItemsRestService.buyItemsAuth(input).subscribe(() => {\n var _a;\n if (this.type === ItemType.fixedPrice) {\n const fixedPriceItem = (_a = this.itemTypeFormGroup.get('fixedPriceItemSelect')) === null || _a === void 0 ? void 0 : _a.value;\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.SUCCESSFUL,\n message: this.payAfterEvent ? 'Purchase Successful' : 'Payment Successful',\n messageSubtext: `Would you like to mark ${fixedPriceItem.name} as picked up?`,\n closeButtonText: 'Close',\n actionButtonText: 'Mark as Picked Up',\n };\n submittingDialogRef.componentInstance.actionButtonClicked.pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n this.markItemAsPickedUp(submittingDialogRef, fixedPriceItem);\n });\n submittingDialogRef.componentInstance.closeButtonClicked.pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n submittingDialogRef.close();\n this.dialogRef.close(new AddChargeDialogOutput(true));\n });\n }\n else {\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.SUCCESSFUL,\n message: this.payAfterEvent ? 'Purchase Successful' : 'Payment Successful'\n };\n setTimeout(() => { submittingDialogRef.close(); }, 3000);\n this.dialogRef.close(new AddChargeDialogOutput(true));\n }\n if (!input.payAfterEvent && this.paymentMethod.paymentType === PaymentType.card && this.paymentMethod.creditCardFormData.saveCreditCardOnFile) {\n const saveGuestCreditCardInput = {\n organizationID: this.orgID,\n eventID: this.eventID,\n guestID: this.guestSummary.id,\n creditCardData: {\n token: this.paymentMethod.creditCardFormData.nonce || '',\n cardType: this.paymentMethod.creditCardFormData.cardType || '',\n cardLastFour: this.paymentMethod.creditCardFormData.lastFourDigits || '',\n expiration: this.paymentMethod.creditCardFormData.expiration || '',\n cardName: this.paymentMethod.creditCardFormData.name || '',\n },\n };\n if (this.data.event.showBillingAddress) {\n saveGuestCreditCardInput.creditCardData.payerStreet = this.paymentMethod.creditCardFormData.billingStreet || '';\n saveGuestCreditCardInput.creditCardData.payerCity = this.paymentMethod.creditCardFormData.billingCity || '';\n saveGuestCreditCardInput.creditCardData.payerState = this.paymentMethod.creditCardFormData.billingState || '';\n saveGuestCreditCardInput.creditCardData.payerZip = this.paymentMethod.creditCardFormData.billingZip || '';\n saveGuestCreditCardInput.creditCardData.payerCountry = this.paymentMethod.creditCardFormData.billingCountry || '';\n }\n // call saveGuestCardOnFile - and don't do anything with the response since the payment was successful\n this.virtualEventRestService.saveGuestCardOnFile(saveGuestCreditCardInput).subscribe(() => { }, () => { });\n }\n }, (err) => {\n this.reloadData();\n // If there's a user friendly error - we display that. Otherwise, default error message.\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n message: this.errorResponseHandler(err, ''),\n actionButtonText: 'Ok'\n };\n submittingDialogRef.componentInstance.actionButtonClicked.pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n submittingDialogRef.close();\n });\n });\n }\n markItemAsPickedUp(submittingDialogRef, fixedPriceItem) {\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.PROCESSING\n };\n const updateFixedPricePickedUpInput = new UpdateFixedPricePickedUpInput(this.orgID, this.eventID, fixedPriceItem.id, true, this.guestSummary.id);\n this.virtualEventRestService.updateFixedPricePickedUp(updateFixedPricePickedUpInput).pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n submittingDialogRef.close();\n this.dialogRef.close(new AddChargeDialogOutput(true));\n this.snackBar.open(`${fixedPriceItem.name} marked as picked up`, 'Ok', { duration: 3000, horizontalPosition: 'start', verticalPosition: 'bottom', panelClass: ['add-charge-dialog__snack-action'] });\n }, (err) => {\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n message: 'Something Went Wrong',\n messageSubtext: `We were unable to mark ${fixedPriceItem.name} as picked up.`,\n closeButtonText: 'Cancel',\n actionButtonText: 'Retry',\n };\n submittingDialogRef.componentInstance.actionButtonClicked.pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n this.markItemAsPickedUp(submittingDialogRef, fixedPriceItem);\n });\n submittingDialogRef.componentInstance.closeButtonClicked.pipe(takeUntil(this.isDestroyed$)).subscribe(() => {\n submittingDialogRef.close();\n this.dialogRef.close(new AddChargeDialogOutput(true));\n });\n });\n }\n onPaymentMethodUpdated(paymentMethod) {\n this.paymentMethod = paymentMethod;\n this.getSubmitButtonState();\n }\n configureRaffle() {\n const raffleInput = new ReadRaffleInput(this.orgID, this.activeRaffleID);\n this.raffleRestService.readRaffle(raffleInput).subscribe((output) => {\n var _a;\n this.raffle = output;\n this.disableAddToCart = (_a = output.hasPaymentRestrictions) !== null && _a !== void 0 ? _a : false;\n this.payOptionConfig = new PaymentOptionsConfig(!output.isCardAllowed, !output.isCashAllowed, !output.isCheckAllowed, !output.isOtherAllowed);\n });\n }\n getSubmitButtonState() {\n var _a;\n if (this.payAfterEvent) {\n this.submitButtonDisabled$.next(this.addChargeFormGroup.invalid);\n }\n else {\n this.submitButtonDisabled$.next(!((_a = this.paymentMethod) === null || _a === void 0 ? void 0 : _a.isValid) || this.addChargeFormGroup.invalid);\n }\n }\n errorResponseHandler(err, defaultMessage) {\n if (UserFriendlyError.isFriendlyError(err)) {\n const friendlyErr = new UserFriendlyError(err);\n return friendlyErr.message;\n }\n else {\n return defaultMessage;\n }\n }\n isValidType() {\n return this.type === ItemType.raffle || this.type === ItemType.fixedPrice || this.type === ItemType.miscCharge;\n }\n reloadData() {\n switch (this.type) {\n case ItemType.fixedPrice:\n if (this.fixedPriceFormChild) {\n this.fixedPriceFormChild.loadFixedPriceItems();\n }\n break;\n case ItemType.raffle:\n this.configureRaffle();\n break;\n default:\n return;\n }\n }\n isPaymentMethodValid() {\n var _a, _b, _c;\n if (!((_a = this.paymentMethod) === null || _a === void 0 ? void 0 : _a.paymentType) || (!this.paymentMethod.isValid && !this.payAfterEvent)) {\n return false;\n }\n // Cannot pay after event if disabling add to cart feature\n if (this.disableAddToCart && this.payAfterEvent) {\n return false;\n }\n // Cannot pay by disabled options\n if (this.payOptionConfig) {\n if (this.paymentMethod.paymentType === PaymentType.card && this.payOptionConfig.isCardDisabled)\n return false;\n if (this.paymentMethod.paymentType === PaymentType.check && this.payOptionConfig.isCheckDisabled)\n return false;\n if (this.paymentMethod.paymentType === PaymentType.cash && this.payOptionConfig.isCashDisabled)\n return false;\n if (this.paymentMethod.paymentType === PaymentType.other && this.payOptionConfig.isOtherDisabled)\n return false;\n }\n // If paying with card and not paying after the event\n if (this.paymentMethod.paymentType === PaymentType.card && !this.payAfterEvent) {\n // if card form data is present then use it, null until entered\n // If paying by card, make sure a saved card is on file and no form data entered\n if (!this.paymentMethod.useCardOnFile && !((_b = this.paymentMethod.creditCardFormData) === null || _b === void 0 ? void 0 : _b.nonce)) {\n return false;\n }\n else if (this.guestCardSummaries.length > 0 && !((_c = this.paymentMethod.selectedGuestCardData) === null || _c === void 0 ? void 0 : _c.userCardID) && !this.paymentMethod.creditCardFormData) {\n return false;\n }\n }\n return true;\n }\n}\nAddChargeDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AddChargeDialogComponent, deps: [{ token: BuyItemsRestService }, { token: RaffleRestService }, { token: VirtualEventRestService }, { token: i2$1.MatDialog }, { token: i2$1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i5$2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });\nAddChargeDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: AddChargeDialogComponent, selector: \"phaas-ngcart-add-charge-dialog\", viewQueries: [{ propertyName: \"fixedPriceFormChild\", first: true, predicate: FixedPriceFormComponent, descendants: true }], ngImport: i0, template: \"
\\n
\\n
\\n
\\n {{ titleMap.get(type) }}\\n
\\n {{ subtitle }}\\n
\\n
\\n\\n \\n
\\n
\\n\\n
\\n
\\n {{ guestSummary.firstName + \\\" \\\" + guestSummary.lastName }}\\n
\\n
\\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
\\n Payment Selection\\n
\\n\\n \\n \\n Collect Payment Now\\n \\n\\n
\\n \\n \\n
\\n\\n
\\n \\n
\\n {{ coverCostsMessage }}\\n
\\n
\\n
\\n\\n \\n Add to Cart\\n info\\n \\n
\\n Raffle tickets must be paid upon purchase.
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n\\n \\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700&display=swap|Inter:wght@600&display=swap\\\";.mat-dialog-full-screen .mat-dialog-container{padding:0;overflow-y:hidden}.add-charge__dialog{display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:scroll;height:calc(100% - 8.125rem);padding:1rem 1rem 0}.add-charge-dialog__section{flex-grow:0;justify-content:flex-start;align-items:flex-start}.add-charge-dialog__header{align-self:stretch;flex-grow:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.add-charge-dialog__title{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:1rem;text-align:left;color:#0c0916cc}.add-charge-dialog__subtitle{font-size:.85rem;margin-top:7px;color:#0c091699}.add-charge-dialog__close-icon{color:#0c091699}.add-charge-dialog__guest-name{margin-top:.875rem;font-family:\\\"Lato\\\",sans-serif;font-size:1.25rem;font-weight:bold;line-height:1.6;text-align:left;color:#0c0916cc}.add-charge-dialog__form{margin-top:26px;margin-bottom:26px;position:relative;display:flex;flex-direction:column}.add-charge-dialog__form-field{width:100%;font-weight:400}.add-charge-dialog__payment-selection{width:100%;margin:15px 0;flex-grow:0;font-family:\\\"Lato\\\",sans-serif;font-size:1.25rem;font-weight:600;line-height:1.6;text-align:left;color:#17232c}.add-charge-dialog__payment-selection-radio-group{display:flex;flex-direction:column}.add-charge-dialog__payment-selection-radio-option{padding-top:15px}.add-charge-dialog__payment-selection-radio-option .mat-radio-label .mat-radio-label-content{font-weight:400;font-size:16px;color:#0c0916cc}.add-charge-dialog__payment-method-select{margin-top:15px;margin-bottom:10px}.add-charge-dialog__payment-method-field{margin-bottom:10px;width:100%}.add-charge-dialog__footer{position:relative;height:8.125rem;box-shadow:0 2px 4px #0003,0 1px 10px #0000001f,0 4px 5px #00000024;background-color:#fff}.add-charge-dialog__buttons{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:1rem 1rem 0}.add-charge-dialog__button-submit{color:#fff;background-color:#002846;font-family:\\\"Inter\\\",sans-serif;width:100%;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:15px}.add-charge-dialog__button-cancel{color:#002846;width:100%;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.5px}.add-charge-dialog__disable-add-to-cart-icon{margin-left:6px;font-size:20px;height:20px;width:20px;vertical-align:bottom}.add-charge-dialog__disable-add-to-cart-message{margin-top:12px;color:#000000bd;font-size:.75rem}.add-charge-dialog__cover-cost-container{display:flex;flex-direction:row;align-items:flex-start;font-family:\\\"Inter\\\",sans-serif;font-size:12px;color:#17232c;padding:10px 0 15px;border-bottom:1px solid #e7e8e9}.add-charge-dialog__cover-cost-checkbox{margin-right:16px}.add-charge-dialog__cover-cost-description{flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;text-align:left;color:#17232c}.add-charge-dialog__snack-action .mat-simple-snackbar-action{color:#a2cdef}\\n\"], components: [{ type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: MiscChargeFormComponent, selector: \"phaas-ngcart-misc-charge-form\", inputs: [\"miscChargeFormGroup\"] }, { type: FixedPriceFormComponent, selector: \"phaas-ngcart-fixed-price-form\", inputs: [\"organizationID\", \"eventID\", \"fixedPriceOrderIDs\", \"fixedPriceFormGroup\"] }, { type: RaffleFormComponent, selector: \"phaas-ngcart-raffle-form\", inputs: [\"organizationID\", \"eventID\", \"activeRaffleID\", \"raffle\", \"raffleFormGroup\"] }, { type: i8.MatRadioButton, selector: \"mat-radio-button\", inputs: [\"disableRipple\", \"tabIndex\"], exportAs: [\"matRadioButton\"] }, { type: PaymentMethodDropdownComponent, selector: \"phaas-ngcart-payment-method-dropdown\", inputs: [\"guestCardSummaries\", \"optionConfig\", \"organizationID\", \"merchantAccountID\", \"iFrameID\", \"guestSummary\", \"showPaymentLinkButton\", \"showBillingAddressForm\", \"requireBillingAddressForm\", \"currencyCode\", \"showSaveCreditCardCheckbox\", \"saveCreditCardCheckboxLabel\"], outputs: [\"paymentFormOutput\", \"paymentLinkOutput\"] }, { type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }], directives: [{ type: i1$1.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5$1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i5$1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i5$1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i6.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i6.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }, { type: i8.MatRadioGroup, selector: \"mat-radio-group\", exportAs: [\"matRadioGroup\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }], pipes: { \"async\": i6.AsyncPipe, \"currency\": i1$1.ExtendedCurrencyPipe }, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AddChargeDialogComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-add-charge-dialog',\n templateUrl: './add-charge-dialog.component.html',\n styleUrls: ['./add-charge-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None\n }]\n }], ctorParameters: function () { return [{ type: BuyItemsRestService }, { type: RaffleRestService }, { type: VirtualEventRestService }, { type: i2$1.MatDialog }, { type: i2$1.MatDialogRef }, { type: AddChargeDialogInput, decorators: [{\n type: Inject,\n args: [MAT_DIALOG_DATA]\n }] }, { type: i5$2.MatSnackBar }]; }, propDecorators: { fixedPriceFormChild: [{\n type: ViewChild,\n args: [FixedPriceFormComponent]\n }] } });\n\nclass AddChargeComponent {\n constructor(virtualEventService, dialog) {\n this.virtualEventService = virtualEventService;\n this.dialog = dialog;\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.guestSummary = {};\n this.guestCardSummaries = [];\n this.cssTheme = '';\n this.chargeAdded = new EventEmitter();\n this.fixedPriceOrderIDs = [];\n }\n ngOnInit() {\n this.filterForFixedPrice();\n }\n onAddChargeItemClick(type) {\n this.dialog.open(AddChargeDialogComponent, {\n data: new AddChargeDialogInput(this.organizationID, this.event, this.guestSummary, this.guestCardSummaries, type, this.getSubtitle(type), this.fixedPriceOrderIDs, this.cssTheme),\n maxWidth: '100vw',\n maxHeight: '100vh',\n width: '100%',\n height: '100%',\n panelClass: 'mat-dialog-full-screen',\n autoFocus: false,\n }).afterClosed().subscribe((out) => {\n if (out.success) {\n this.chargeAdded.emit();\n }\n });\n }\n getSubtitle(type) {\n var _a;\n if (type === ItemType.fixedPrice) {\n return (_a = this.event.fixedPriceItemTabTitle) !== null && _a !== void 0 ? _a : '';\n }\n return '';\n }\n filterForFixedPrice() {\n this.virtualEventService.listImpacts(new ListImpactsInput(this.organizationID, this.event.id, new PagingInput().Take(100))).pipe(switchMap(output => { var _a; return (_a = output.items) !== null && _a !== void 0 ? _a : []; }), filter(impact => !!impact.fixedPriceItemID), toArray(), map(impacts => this.orderImpactList(impacts))).subscribe(items => {\n this.fixedPriceOrderIDs = items.map(item => item.fixedPriceItemID);\n });\n }\n // We need to use the event's impact order array if it exists\n orderImpactList(items) {\n if (this.event.impactOrderIDs && this.event.impactOrderIDs.length > 0) {\n const mappedItems = this.event.impactOrderIDs.reduce((arr, id) => {\n const item = items.find(item => item.id === id);\n if (item) {\n arr.push(item);\n }\n return arr;\n }, []);\n // In the off chance that we miss any I am forcing them at the end. Don't think this'll happen (ve-ui doesn't do this so it must trust it a lot)\n items.forEach(item => {\n if (!mappedItems.includes(item)) {\n mappedItems.push(item);\n }\n });\n return mappedItems;\n }\n return items;\n }\n}\nAddChargeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AddChargeComponent, deps: [{ token: VirtualEventRestService }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });\nAddChargeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: AddChargeComponent, selector: \"phaas-ngcart-add-charge\", inputs: { organizationID: \"organizationID\", event: \"event\", guestSummary: \"guestSummary\", guestCardSummaries: \"guestCardSummaries\", cssTheme: \"cssTheme\" }, outputs: { chargeAdded: \"chargeAdded\" }, ngImport: i0, template: \"\\n\\n\\n \\n \\n \\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap|Inter:wght@600&display=swap\\\";.add-charge__button{width:8.813rem;height:3rem;background-color:#002846;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;font-weight:600;color:#fff;box-shadow:0 3px 5px #0003,0 1px 18px #0000001f,0 6px 10px #00000024}.add-charge__button.mat-button{border-radius:35px}.add-charge__menu{margin-bottom:15px}.add-charge__menu .mat-menu-item{display:flex;flex-direction:row;justify-content:left;align-items:center;background-color:#fff;font-family:\\\"Inter\\\",sans-serif;font-size:1rem;line-height:1.75;color:#17232c}.add-charge__menu-item-fixed-price{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.add-charge__menu-item-fixed-price-title{line-height:1}.add-charge__menu-item-fixed-price-subtitle{font-size:.8rem;line-height:.75;color:#0009;margin-top:5px}.add-charge__menu-item-disabled{color:#0006}.add-charge__backdrop{background:rgba(0,0,0,.4)}\\n\"], components: [{ type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: i10.MatMenu, selector: \"mat-menu\", exportAs: [\"matMenu\"] }, { type: i10.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"disabled\", \"disableRipple\", \"role\"], exportAs: [\"matMenuItem\"] }], directives: [{ type: i10.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", exportAs: [\"matMenuTrigger\"] }, { type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: AddChargeComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-add-charge',\n templateUrl: './add-charge.component.html',\n styleUrls: ['./add-charge.component.scss'],\n encapsulation: ViewEncapsulation.None\n }]\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }, { type: i2$1.MatDialog }]; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], guestCardSummaries: [{\n type: Input\n }], cssTheme: [{\n type: Input\n }], chargeAdded: [{\n type: Output\n }] } });\n\nclass OrderSummaryComponent {\n constructor() {\n this.subtotal = 0;\n this.tax = 0;\n this.coverCosts = 0;\n this.showCoverCosts = false;\n }\n}\nOrderSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: OrderSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nOrderSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: OrderSummaryComponent, selector: \"phaas-ngcart-order-summary\", inputs: { subtotal: \"subtotal\", tax: \"tax\", coverCosts: \"coverCosts\", showCoverCosts: \"showCoverCosts\" }, ngImport: i0, template: \"
\\n
\\n
\\n
\\n
Subtotal
\\n
{{ subtotal | currency:'USD':2 }}
\\n
\\n
\\n
Sales Tax
\\n
{{ tax | currency:'USD':2 }}
\\n
\\n
\\n
Cover Costs*
\\n
{{ coverCosts | currency:'USD':2 }}
\\n
\\n
\\n
Total
\\n
\\n {{ (+subtotal + tax + ( showCoverCosts ? +coverCosts : 0 )) | currency:'USD':2 }}
\\n
\\n
\\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap|Inter:wght@300;400;500;600&display=swap\\\";.order-summary{display:flex;flex-direction:column;height:100%;flex-grow:1}.order-summary__item-list{flex-grow:1;overflow-x:hidden;overflow-y:auto}.order-summary__item-container{display:flex;flex-direction:column}.order-summary__item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-family:\\\"Lato\\\",sans-serif;color:#0c0916cc}.order-summary__item.order-summary__subtotal{margin-top:1rem}.order-summary__item.order-summary__subtotal,.order-summary__item.order-summary__tax,.order-summary__item.order-summary__cover-costs{font-weight:400;font-size:14px}.order-summary__item.order-summary__tax,.order-summary__item.order-summary__cover-costs,.order-summary__item.order-summary__total{margin-top:.5rem}.order-summary__item.order-summary__total{font-weight:600;font-size:18px;line-height:30px}.order-summary__item-amount{margin-left:32px}.order-summary__total{font-size:18px;font-weight:bold;margin-top:15px}\\n\"], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }], pipes: { \"currency\": i1$1.ExtendedCurrencyPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: OrderSummaryComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-order-summary',\n templateUrl: './order-summary.component.html',\n styleUrls: ['./order-summary.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { subtotal: [{\n type: Input\n }], tax: [{\n type: Input\n }], coverCosts: [{\n type: Input\n }], showCoverCosts: [{\n type: Input\n }] } });\n\nclass ComponentsModule {\n}\nComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: ComponentsModule, declarations: [CartListComponent,\n CartItemComponent,\n CartItemsListComponent,\n AddChargeComponent,\n AddChargeDialogComponent,\n MiscChargeFormComponent,\n FixedPriceFormComponent,\n RaffleFormComponent,\n PaymentMethodDropdownComponent,\n CreditCardFormComponent,\n PaymentApiJsComponent,\n PaymentStatusDialogComponent,\n PaymentActionDialogComponent,\n PaymentMethodCreditCardComponent,\n OrderSummaryComponent,\n PaymentLinkDialogComponent], imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n AddressFormModule,\n PhoneNumberModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule,\n MatSnackBarModule], exports: [PaymentMethodDropdownComponent,\n PaymentMethodCreditCardComponent,\n PaymentStatusDialogComponent,\n PaymentActionDialogComponent,\n AddChargeComponent,\n CartListComponent,\n CreditCardFormComponent,\n OrderSummaryComponent] });\nComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: ComponentsModule, providers: [\n GivingRestService,\n AttendeeService\n ], imports: [[\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n AddressFormModule,\n PhoneNumberModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule,\n MatSnackBarModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: ComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n CartListComponent,\n CartItemComponent,\n CartItemsListComponent,\n AddChargeComponent,\n AddChargeDialogComponent,\n MiscChargeFormComponent,\n FixedPriceFormComponent,\n RaffleFormComponent,\n PaymentMethodDropdownComponent,\n CreditCardFormComponent,\n PaymentApiJsComponent,\n PaymentStatusDialogComponent,\n PaymentActionDialogComponent,\n PaymentMethodCreditCardComponent,\n OrderSummaryComponent,\n PaymentLinkDialogComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n AddressFormModule,\n PhoneNumberModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule,\n MatSnackBarModule\n ],\n exports: [\n PaymentMethodDropdownComponent,\n PaymentMethodCreditCardComponent,\n PaymentStatusDialogComponent,\n PaymentActionDialogComponent,\n AddChargeComponent,\n CartListComponent,\n CreditCardFormComponent,\n OrderSummaryComponent,\n ],\n providers: [\n GivingRestService,\n AttendeeService\n ]\n }]\n }] });\n\nclass GetSubtotalAndTaxFromItemsOutput {\n constructor(subtotalAmountCents, taxAmountCents) {\n this.subtotalAmountCents = subtotalAmountCents || 0;\n this.taxAmountCents = taxAmountCents || 0;\n }\n}\nclass CartUtils {\n static getSubtotalAndTaxFromItems(items) {\n if (!items.length) {\n return new GetSubtotalAndTaxFromItemsOutput();\n }\n ;\n return items.reduce((acc, curr) => {\n acc.subtotalAmountCents += curr.amountCents || 0;\n acc.taxAmountCents += curr.taxAmountCents || 0;\n return acc;\n }, new GetSubtotalAndTaxFromItemsOutput());\n }\n}\n\nclass PaymentDetailsComponent {\n constructor(cartService, virtualEventService, dialog) {\n this.cartService = cartService;\n this.virtualEventService = virtualEventService;\n this.dialog = dialog;\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.guestSummary = {};\n this.guestCardSummaries = [];\n this.hideSuccessModal = false;\n this.paymentSubmitted = new EventEmitter();\n this.exitCart = new EventEmitter();\n this.attendeeName = '';\n this.isCoveringCosts = false;\n this.coverCostsEnabled = false;\n this.coverCostsPercent = 0;\n this.coverCostsMessage = '';\n this.subtotalAmountCents = 0;\n this.coverCostsAmountCents = 0;\n this.taxAmountCents = 0;\n this.totalAmountCents = 0;\n this.paymentTotalVerified = true;\n this.selectedItemIDs = [];\n this.merchantAccountID = '';\n this.saveCreditCardCheckboxLabel = '';\n }\n ngOnInit() {\n var _a, _b, _c, _d;\n this.attendeeName = this.guestSummary.firstName || '';\n this.saveCreditCardCheckboxLabel = `Make this the primary credit card on file for ${this.attendeeName.length ? this.attendeeName : 'this guest'}`;\n this.coverCostsEnabled = (_a = this.event.isCoverCostActive) !== null && _a !== void 0 ? _a : false;\n this.coverCostsPercent = (_b = this.event.coverCostPercent) !== null && _b !== void 0 ? _b : 0;\n this.eventContactPhone = (_c = this.event.contactPhone) !== null && _c !== void 0 ? _c : '';\n this.merchantAccountID = (_d = this.event.merchantAccountID) !== null && _d !== void 0 ? _d : '';\n this.calculateTotals();\n this.setupItemSubscription();\n }\n onSubmit() {\n const dialogRef = this.dialog.open(PaymentStatusDialogComponent, {\n data: { status: PaymentStatus.PROCESSING, contactPhone: this.eventContactPhone },\n height: '300px', width: '90%', maxWidth: '420px'\n });\n this.virtualEventService.payForAttendeeItems(this.buildPayForAttendeeItemsInput()).subscribe({\n next: out => {\n var _a;\n if (out.transactionID || ((_a = this.paymentMethod) === null || _a === void 0 ? void 0 : _a.paymentType) !== PaymentType.card) {\n if (this.hideSuccessModal)\n dialogRef.close();\n else {\n dialogRef.componentInstance.data = { status: PaymentStatus.SUCCESSFUL, successMessage: 'Payment Successful' };\n setTimeout(() => { dialogRef.close(); }, 3000);\n }\n this.paymentSubmitted.emit(this.selectedItemIDs);\n }\n else {\n // Something went wrong for credit card\n dialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n errorMessage: 'That card was unable to be processed. Please try a different card.',\n };\n }\n },\n error: () => {\n dialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n errorMessage: 'That card was unable to be processed. Please try a different card.',\n };\n },\n });\n }\n // Called whenever the selected items update, or when the cover costs button is clicked\n calculateTotals() {\n this.paymentTotalVerified = false;\n this.coverCostsAmountCents = Math.round((this.subtotalAmountCents + this.taxAmountCents) * this.coverCostsPercent);\n this.totalAmountCents = this.subtotalAmountCents + this.taxAmountCents + (this.isCoveringCosts ? this.coverCostsAmountCents : 0);\n this.coverCostsMessage = `${this.attendeeName || 'Attendee'} would like to cover ${(this.coverCostsPercent * 100).toFixed(2)}% of costs totaling $${(this.coverCostsAmountCents / 100).toFixed(2)}`;\n // Validate the total amount if we have selected items. If none, keep the pay button disabled.\n if (this.selectedItemIDs.length) {\n this.virtualEventService.calculateTotalAmount(new CalculateTotalAmountInput(this.organizationID, this.event.id, this.guestSummary.userID, this.guestSummary.id, this.selectedItemIDs, this.isCoveringCosts)).subscribe(totals => {\n this.paymentTotalVerified = this.totalAmountCents === totals.totalAmountCents;\n });\n }\n }\n onFormChange(paymentOutput) {\n this.paymentMethod = paymentOutput;\n }\n handlePaymentLinkOutput(output) {\n if (output === null || output === void 0 ? void 0 : output.refreshCart) {\n this.paymentSubmitted.emit();\n }\n if (output === null || output === void 0 ? void 0 : output.exitCart) {\n this.exitCart.emit();\n }\n }\n buildPayForAttendeeItemsInput() {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const payInput = new PayForAttendeeItemsInput();\n payInput.organizationID = this.organizationID;\n payInput.eventID = this.event.id;\n payInput.firstName = this.guestSummary.firstName;\n payInput.lastName = this.guestSummary.lastName;\n payInput.email = this.guestSummary.email;\n payInput.mobilePhone = this.guestSummary.mobilePhone;\n payInput.itemIDs = this.selectedItemIDs;\n payInput.coverFee = this.isCoveringCosts;\n // PayForAttendee specific properties\n payInput.attendeeUserID = this.guestSummary.userID;\n payInput.guestID = this.guestSummary.id;\n payInput.paymentType = ((_a = this.paymentMethod) === null || _a === void 0 ? void 0 : _a.paymentType) || '';\n payInput.paymentTotalAmountCents = this.totalAmountCents;\n switch ((_b = this.paymentMethod) === null || _b === void 0 ? void 0 : _b.paymentType) {\n case PaymentType.card:\n // if user filled out card form then populate with that,\n // else use one of the selected cards\n if (this.paymentMethod.creditCardFormData) {\n payInput.cardType = this.paymentMethod.creditCardFormData.cardType || '';\n payInput.cardLastFour = this.paymentMethod.creditCardFormData.lastFourDigits || '';\n payInput.expiration = this.paymentMethod.creditCardFormData.expiration || '';\n payInput.cardName = this.paymentMethod.creditCardFormData.name || '';\n payInput.payerName = this.paymentMethod.creditCardFormData.name || '';\n payInput.token = this.paymentMethod.creditCardFormData.nonce || '';\n payInput.saveCardOnFile = this.paymentMethod.creditCardFormData.saveCreditCardOnFile || false;\n // Add the billing address if the form is visible\n if (this.event.showBillingAddress) {\n payInput.payerStreet = this.paymentMethod.creditCardFormData.billingStreet || '';\n payInput.payerCity = this.paymentMethod.creditCardFormData.billingCity || '';\n payInput.payerState = this.paymentMethod.creditCardFormData.billingState || '';\n payInput.payerZip = this.paymentMethod.creditCardFormData.billingZip || '';\n payInput.payerCountry = this.paymentMethod.creditCardFormData.billingCountry || '';\n }\n }\n else {\n payInput.cardID = ((_d = (_c = this.paymentMethod) === null || _c === void 0 ? void 0 : _c.selectedGuestCardData) === null || _d === void 0 ? void 0 : _d.userCardID) || '';\n payInput.cardHolderGuestID = ((_f = (_e = this.paymentMethod) === null || _e === void 0 ? void 0 : _e.selectedGuestCardData) === null || _f === void 0 ? void 0 : _f.guestID) || '';\n }\n break;\n case PaymentType.check:\n payInput.checkNumber = ((_g = this.paymentMethod) === null || _g === void 0 ? void 0 : _g.paymentDescription) || '';\n break;\n case PaymentType.other:\n payInput.paymentTypeOtherNotes = ((_h = this.paymentMethod) === null || _h === void 0 ? void 0 : _h.paymentDescription) || '';\n break;\n }\n return payInput;\n }\n setupItemSubscription() {\n this.cartService.getSelectedCartItems().subscribe(items => {\n if (items === null || items === void 0 ? void 0 : items.length) {\n this.selectedItemIDs = items.map(item => item.id);\n const subtotalAndTax = CartUtils.getSubtotalAndTaxFromItems(items);\n this.subtotalAmountCents = subtotalAndTax.subtotalAmountCents;\n this.taxAmountCents = subtotalAndTax.taxAmountCents;\n }\n else {\n this.selectedItemIDs = [];\n this.subtotalAmountCents = 0;\n this.taxAmountCents = 0;\n }\n this.calculateTotals();\n });\n }\n}\nPaymentDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentDetailsComponent, deps: [{ token: CartItemsService }, { token: VirtualEventRestService }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });\nPaymentDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: PaymentDetailsComponent, selector: \"phaas-ngcart-payment-details\", inputs: { organizationID: \"organizationID\", event: \"event\", guestSummary: \"guestSummary\", guestCardSummaries: \"guestCardSummaries\", hideSuccessModal: \"hideSuccessModal\" }, outputs: { paymentSubmitted: \"paymentSubmitted\", exitCart: \"exitCart\" }, viewQueries: [{ propertyName: \"dropdownComponent\", first: true, predicate: PaymentMethodDropdownComponent, descendants: true }], ngImport: i0, template: \"
\\n
\\n
PAYMENT DETAILS
\\n
\\n \\n \\n
\\n
\\n \\n
\\n {{ coverCostsMessage }}\\n
\\n
\\n
\\n \\n
\\n
\\n\", styles: [\".payment-details{width:100%;background:#fff}.payment-details__content{margin:0 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.payment-details__header{height:48px;display:flex;flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;text-align:left;align-items:center;justify-content:left;color:#17232cbd}.payment-details__payment-method{width:100%}.payment-details__cover-cost-container{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-family:\\\"Inter\\\",sans-serif;font-size:12px;color:#17232c;padding-top:12px;margin-top:18px;border-top:1px solid rgba(0,0,0,.1)}.payment-details__cover-cost-checkbox{margin-right:16px}.payment-details__pay-button{margin:16px 0 24px;height:36px;width:100%;background-color:#002846;font-family:\\\"Inter\\\",sans-serif;font-size:14px;font-weight:600;color:#fff;overflow:hidden}.payment-details__cover-cost-description{flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:.875rem;text-align:left;color:#17232c}\\n\"], components: [{ type: PaymentMethodDropdownComponent, selector: \"phaas-ngcart-payment-method-dropdown\", inputs: [\"guestCardSummaries\", \"optionConfig\", \"organizationID\", \"merchantAccountID\", \"iFrameID\", \"guestSummary\", \"showPaymentLinkButton\", \"showBillingAddressForm\", \"requireBillingAddressForm\", \"currencyCode\", \"showSaveCreditCardCheckbox\", \"saveCreditCardCheckboxLabel\"], outputs: [\"paymentFormOutput\", \"paymentLinkOutput\"] }, { type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], pipes: { \"currency\": i1$1.ExtendedCurrencyPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: PaymentDetailsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-payment-details',\n templateUrl: './payment-details.component.html',\n styleUrls: ['./payment-details.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: CartItemsService }, { type: VirtualEventRestService }, { type: i2$1.MatDialog }]; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], guestCardSummaries: [{\n type: Input\n }], hideSuccessModal: [{\n type: Input\n }], paymentSubmitted: [{\n type: Output\n }], exitCart: [{\n type: Output\n }], dropdownComponent: [{\n type: ViewChild,\n args: [PaymentMethodDropdownComponent]\n }] } });\n\nclass EventDayToolsCartComponent {\n constructor(attendeeService, cartItemsService, virtualEventRestService) {\n this.attendeeService = attendeeService;\n this.cartItemsService = cartItemsService;\n this.virtualEventRestService = virtualEventRestService;\n this.guestID = '';\n this.organizationID = '';\n this.eventID = '';\n this.hidePaidItems = false;\n this.hideSuccessModal = false;\n this.exitCart = new EventEmitter();\n this.paymentSubmitted = new EventEmitter();\n this.cssTheme = '#2e729f';\n this.cartState = CartState.LOADING;\n this.event = new ReadEventOutput();\n this.selectedUnpaidItems = [];\n this.unpaidItems = [];\n this.paidItems = [];\n this.guestSummary = {};\n this.userCard = {};\n this.guestCardSummaries = [];\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.virtualEventRestService.readEvent(new ReadEventInput(this.eventID, this.organizationID)).subscribe(event => {\n this.event = event;\n this.initAttendee();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n initAttendee() {\n this.attendeeService.loadAttendee(this.organizationID, this.eventID, this.guestID);\n this.attendeeService.getGuestSummary().pipe(takeUntil(this.destroy$)).subscribe(guestSummary => {\n this.guestSummary = guestSummary;\n this.initCartItems();\n });\n this.attendeeService.getGuestCreditCardSummaries().pipe(takeUntil(this.destroy$)).subscribe(guestCardSummaries => this.guestCardSummaries = guestCardSummaries);\n }\n initCartItems() {\n this.cartItemsService.getCartItems(this.organizationID, this.eventID, this.guestSummary, !!this.event.salesTaxPercent)\n .pipe(takeUntil(this.destroy$))\n .subscribe(items => {\n if (items) {\n this.unpaidItems = items.filter(item => item.purchaseID === '' && item.type !== 'vevt-ticket');\n this.paidItems = !this.hidePaidItems ? items.filter(item => item.purchaseID !== '' && item.type !== 'vevt-ticket') : [];\n this.setCartState();\n }\n });\n this.cartItemsService.getCartItemSelected().pipe(takeUntil(this.destroy$)).subscribe(selectedItem => {\n this.handleItemSelected(selectedItem);\n });\n this.cartItemsService.getSelectedCartItems().pipe(takeUntil(this.destroy$)).subscribe(items => {\n this.selectedUnpaidItems = JSON.parse(JSON.stringify(items)) || [];\n });\n }\n setCartState() {\n if (!this.unpaidItems.length && !this.paidItems.length) {\n this.cartState = CartState.EMPTY;\n }\n else {\n this.cartState = CartState.LOADED;\n }\n }\n handlePaymentSubmitted(itemIDs = []) {\n if (itemIDs.length > 0) {\n this.paymentSubmitted.emit(itemIDs);\n }\n this.reloadPurchasedItems();\n }\n reloadPurchasedItems() {\n this.cartState = CartState.LOADING;\n this.attendeeService.loadAttendeeCreditCards(this.organizationID, this.eventID, this.guestID);\n const paging = new PagingInput().Take(100).Filters([\n new FilterParameter('refund_id', FilterComparator.Equal, ''),\n new FilterParameter('is_external', FilterComparator.Equal, false)\n ]);\n this.cartItemsService.loadPurchasedItems(this.organizationID, this.eventID, this.guestSummary, paging, [], !!this.event.salesTaxPercent);\n }\n handleItemSelected(selectedItem) {\n if (selectedItem.selected) {\n this.selectedUnpaidItems.push(JSON.parse(JSON.stringify(selectedItem)));\n }\n else {\n this.selectedUnpaidItems = this.selectedUnpaidItems.filter(item => item.id !== selectedItem.id);\n }\n this.cartItemsService.setSelectedCartItems(this.selectedUnpaidItems);\n }\n}\nEventDayToolsCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartComponent, deps: [{ token: AttendeeService }, { token: CartItemsService }, { token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Component });\nEventDayToolsCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: EventDayToolsCartComponent, selector: \"phaas-ngcart-event-day-tools-cart\", inputs: { guestID: \"guestID\", organizationID: \"organizationID\", eventID: \"eventID\", hidePaidItems: \"hidePaidItems\", hideSuccessModal: \"hideSuccessModal\" }, outputs: { exitCart: \"exitCart\", paymentSubmitted: \"paymentSubmitted\" }, providers: [\n CartItemsService,\n AttendeeService\n ], ngImport: i0, template: \"
\\n \\n
\\n \\n
Getting Items
\\n
\\n
\\n\\n \\n
\\n no_sim\\n
\\n No items to show\\n
\\n
\\n Add a charge to get started\\n
\\n
\\n
\\n\\n \\n
\\n
\\n
UNPAID ITEMS
\\n
{{unpaidItems.length}} Items
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n
PAID ITEMS
\\n
\\n \\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap|Inter:wght@600&display=swap\\\";.cart{height:100%;width:100%;background:#fff;overflow-y:scroll}.cart__page-body{width:100%;display:flex;flex-direction:column}.cart__loading-container,.cart__no-items-container{height:100%;width:100%;color:#0c091699;font-family:\\\"Lato\\\",sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center}.cart__loading-text{font-size:20px;margin-top:32px;font-weight:400;font-family:\\\"Roboto\\\",sans-serif}.cart__no-items-icon{font-size:60px;height:60px;width:60px}.cart__no-items-header{font-size:24px;font-weight:bold;font-stretch:normal;font-style:normal;letter-spacing:0px;text-align:center;line-height:32px;margin-top:12px}.cart__no-items-description{font-size:14px;font-weight:bold;font-stretch:normal;font-style:normal;letter-spacing:0px;color:#0c091673;line-height:25px}.cart__items-header-container{flex-grow:0;height:48px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;background-color:#f5f7f9;margin-right:12px}.cart__items-header{font-family:\\\"Inter\\\",sans-serif;font-size:12px;letter-spacing:0px;font-weight:600;text-align:left;color:#17232cbd;margin-left:16px}.cart__add-charge{position:fixed;right:0;bottom:0;z-index:1;margin:1.125rem 1rem 1rem 13.625rem}.cart__unpaid-items-quantity{font-family:\\\"Lato\\\",sans-serif;font-size:.875rem;font-weight:400;margin-right:16px}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: CartListComponent, selector: \"phaas-ngcart-cart-list\", inputs: [\"items\", \"aggregateItemsByType\", \"allowUnpaidItemsSelection\", \"useCompactRows\"] }, { type: PaymentDetailsComponent, selector: \"phaas-ngcart-payment-details\", inputs: [\"organizationID\", \"event\", \"guestSummary\", \"guestCardSummaries\", \"hideSuccessModal\"], outputs: [\"paymentSubmitted\", \"exitCart\"] }, { type: AddChargeComponent, selector: \"phaas-ngcart-add-charge\", inputs: [\"organizationID\", \"event\", \"guestSummary\", \"guestCardSummaries\", \"cssTheme\"], outputs: [\"chargeAdded\"] }], directives: [{ type: i1$1.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-event-day-tools-cart',\n templateUrl: './event-day-tools-cart.component.html',\n styleUrls: ['./event-day-tools-cart.component.scss'],\n providers: [\n CartItemsService,\n AttendeeService\n ],\n }]\n }], ctorParameters: function () { return [{ type: AttendeeService }, { type: CartItemsService }, { type: VirtualEventRestService }]; }, propDecorators: { guestID: [{\n type: Input\n }], organizationID: [{\n type: Input\n }], eventID: [{\n type: Input\n }], hidePaidItems: [{\n type: Input\n }], hideSuccessModal: [{\n type: Input\n }], exitCart: [{\n type: Output\n }], paymentSubmitted: [{\n type: Output\n }] } });\n\nclass GivingManagementRestService {\n constructor(authHttpClient) {\n this.authHttpClient = authHttpClient;\n this.urlHost = 'env:phaas-givingmanagement-api';\n }\n findUserCard(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/user-cards/find-by-user-id/${input.userID}`;\n return this.authHttpClient.get(url).pipe(map((res) => res.payload));\n }\n getUserCardForSourceByUserID(input) {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/user-cards/find-by-user-id`;\n return this.authHttpClient.get(url).pipe(map((res) => {\n return res.payload;\n }));\n }\n}\nGivingManagementRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingManagementRestService, deps: [{ token: i1$1.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nGivingManagementRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingManagementRestService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: GivingManagementRestService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: i1$1.AuthHttpClient }]; } });\nclass UserCard {\n}\nclass FindUserCardInput {\n constructor(organizationID, sourceID, userID) {\n this.organizationID = organizationID;\n this.sourceID = sourceID;\n this.userID = userID;\n }\n}\nclass FindUserCardOutput {\n constructor(userCard) {\n this.userCard = userCard;\n }\n}\nclass GetUserCardForSourceByUserIDInput {\n constructor(organizationID, sourceID) {\n this.organizationID = organizationID;\n this.sourceID = sourceID;\n }\n}\nclass GetUserCardForSourceByUserIDOutput {\n constructor(userCard) {\n this.userCard = userCard;\n }\n}\n\n// Core\nclass EventDayToolsCartModule {\n}\nEventDayToolsCartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nEventDayToolsCartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartModule, declarations: [EventDayToolsCartComponent,\n PaymentDetailsComponent], imports: [CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule], exports: [EventDayToolsCartComponent] });\nEventDayToolsCartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartModule, providers: [\n GivingManagementRestService,\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n ], imports: [[\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: EventDayToolsCartModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n GivingManagementRestService,\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n ],\n declarations: [\n EventDayToolsCartComponent,\n PaymentDetailsComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule\n ],\n exports: [\n EventDayToolsCartComponent,\n ]\n }]\n }] });\n\nclass OrderSummaryDetails {\n constructor(subtotalAmountCents, isCoveringCosts, coverCostsAmountCents, taxAmountCents) {\n this.subtotalAmountCents = subtotalAmountCents;\n this.isCoveringCosts = isCoveringCosts;\n this.coverCostsAmountCents = coverCostsAmountCents;\n this.taxAmountCents = taxAmountCents;\n }\n}\nclass RegisteredGuestCartOrderSummaryComponent {\n constructor() {\n this.event = new ReadEventOutput();\n this.orderSummaryDetails = new OrderSummaryDetails(0, false, 0, 0);\n this.coverCostsEnabled = false;\n }\n ngOnInit() {\n var _a;\n this.coverCostsEnabled = (_a = this.event.isCoverCostActive) !== null && _a !== void 0 ? _a : false;\n }\n}\nRegisteredGuestCartOrderSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartOrderSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nRegisteredGuestCartOrderSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegisteredGuestCartOrderSummaryComponent, selector: \"phaas-ngcart-registered-guest-cart-order-summary\", inputs: { event: \"event\", orderSummaryDetails: \"orderSummaryDetails\" }, ngImport: i0, template: \"
\\n
\\n
ORDER SUMMARY
\\n\\n \\n \\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Inter:wght@400&display=swap\\\";.registered-guest-cart__order-summary{width:100%;background:#fff;margin-top:15px}.registered-guest-cart__order-summary__content{margin:0 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.registered-guest-cart__order-summary__header{height:48px;display:flex;flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;text-align:left;align-items:center;justify-content:left;color:#17232cbd}.registered-guest-cart__order-summary__details{width:100%;margin-bottom:15px}\\n\"], components: [{ type: OrderSummaryComponent, selector: \"phaas-ngcart-order-summary\", inputs: [\"subtotal\", \"tax\", \"coverCosts\", \"showCoverCosts\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartOrderSummaryComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registered-guest-cart-order-summary',\n templateUrl: './registered-guest-cart-order-summary.component.html',\n styleUrls: ['./registered-guest-cart-order-summary.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { event: [{\n type: Input\n }], orderSummaryDetails: [{\n type: Input\n }] } });\n\nclass RegisteredGuestCartPaymentDetailsComponent {\n constructor() {\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.guestSummary = {};\n this.guestCardSummaries = [];\n this.cardInfoUpdated = new EventEmitter();\n this.guestCardUpdated = new EventEmitter();\n this.paymentMethodVerified = new EventEmitter();\n this.merchantAccountID = '';\n this.cardInfo = null;\n this.guestCardSummary = null;\n }\n ngOnInit() {\n var _a;\n this.merchantAccountID = (_a = this.event.merchantAccountID) !== null && _a !== void 0 ? _a : '';\n }\n ngAfterViewInit() {\n this.verifyPaymentMethod(true);\n }\n setCreditCardData(data) {\n this.cardInfo = data;\n this.verifyPaymentMethod(false);\n this.cardInfoUpdated.emit(this.cardInfo);\n }\n setGuestCardSummaryData(data) {\n this.guestCardSummary = data;\n this.verifyPaymentMethod(true);\n this.guestCardUpdated.emit(this.guestCardSummary);\n }\n verifyPaymentMethod(guestCard) {\n if (guestCard) {\n this.paymentMethodVerified.emit(!!this.guestCardSummary);\n }\n else {\n this.paymentMethodVerified.emit(!!this.cardInfo);\n }\n }\n}\nRegisteredGuestCartPaymentDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartPaymentDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nRegisteredGuestCartPaymentDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegisteredGuestCartPaymentDetailsComponent, selector: \"phaas-ngcart-registered-guest-cart-payment-details\", inputs: { organizationID: \"organizationID\", event: \"event\", guestSummary: \"guestSummary\", guestCardSummaries: \"guestCardSummaries\" }, outputs: { cardInfoUpdated: \"cardInfoUpdated\", guestCardUpdated: \"guestCardUpdated\", paymentMethodVerified: \"paymentMethodVerified\" }, ngImport: i0, template: \"
\\n
\\n
PAYMENT METHOD
\\n\\n \\n \\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Inter:wght@400&display=swap\\\";.registered-guest-cart__payment-details{width:100%;background:#fff;margin-top:16px}.registered-guest-cart__payment-details__content{margin:0 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.registered-guest-cart__payment-details__order-summary{width:100%;margin-bottom:15px}.registered-guest-cart__payment-details__payment-method{width:100%}.registered-guest-cart__payment-details__header{height:48px;display:flex;flex-grow:0;font-family:\\\"Inter\\\",sans-serif;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;text-align:left;align-items:center;justify-content:left;color:#17232cbd}\\n\"], components: [{ type: PaymentMethodCreditCardComponent, selector: \"phaas-ngcart-payment-method-credit-card\", inputs: [\"organizationID\", \"merchantAccountID\", \"iFrameID\", \"guestCardSummaries\", \"guestSummary\", \"showPaymentLinkButton\", \"showBillingAddressForm\", \"requireBillingAddressForm\", \"currencyCode\", \"showSaveCreditCardCheckbox\", \"saveCreditCardCheckboxLabel\"], outputs: [\"creditCardData\", \"selectedGuestCardSummaryOutput\", \"paymentLinkOutput\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartPaymentDetailsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registered-guest-cart-payment-details',\n templateUrl: './registered-guest-cart-payment-details.component.html',\n styleUrls: ['./registered-guest-cart-payment-details.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], guestCardSummaries: [{\n type: Input\n }], cardInfoUpdated: [{\n type: Output\n }], guestCardUpdated: [{\n type: Output\n }], paymentMethodVerified: [{\n type: Output\n }] } });\n\nclass PaymentSubmitted {\n constructor(successful, transactionID) {\n this.successful = successful;\n this.transactionID = transactionID;\n }\n}\nclass RegisteredGuestCartPaymentButtonComponent {\n constructor(virtualEventService, dialog, cartService) {\n this.virtualEventService = virtualEventService;\n this.dialog = dialog;\n this.cartService = cartService;\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.paymentMethodVerified = false;\n this.guestSummary = {};\n this.selectedGuestCardSummary = null;\n this.cardInfo = null;\n this.paymentSubmitted = new EventEmitter();\n this.orderSummaryUpdated = new EventEmitter();\n this.itemIDs = [];\n this.isCoveringCosts = false;\n this.coverCostsMessage = '';\n this.coverCostsEnabled = false;\n this.coverCostsPercent = 0;\n this.subtotalAmountCents = 0;\n this.coverCostsAmountCents = 0;\n this.taxAmountCents = 0;\n this.totalAmountCents = 0;\n this.paymentContainer = null;\n this.isSticky = false;\n }\n set stickyPaymentContainer(paymentContainer) {\n if (paymentContainer) {\n this.paymentContainer = paymentContainer;\n const observer = new IntersectionObserver(([e]) => {\n if (e.intersectionRatio < 1) {\n this.isSticky = true;\n }\n else {\n this.isSticky = false;\n }\n }, {\n threshold: [1],\n root: null,\n });\n observer.observe(this.paymentContainer.nativeElement);\n }\n }\n ngOnInit() {\n var _a, _b, _c, _d;\n this.coverCostsEnabled = (_a = this.event.isCoverCostActive) !== null && _a !== void 0 ? _a : false;\n this.coverCostsPercent = (_b = this.event.coverCostPercent) !== null && _b !== void 0 ? _b : 0;\n this.isCoveringCosts = (_c = this.event.coverCostDefault) !== null && _c !== void 0 ? _c : false;\n this.coverCostsMessage = (_d = this.event.coverCostCustomMessage) !== null && _d !== void 0 ? _d : 'I\\'d like to help cover the organization\\'s processing fees for my purchase.';\n this.setupItemSubscription();\n }\n calculateTotals() {\n this.coverCostsAmountCents = Math.round((this.subtotalAmountCents + this.taxAmountCents) * this.coverCostsPercent);\n this.totalAmountCents = this.subtotalAmountCents + this.taxAmountCents + (this.isCoveringCosts ? this.coverCostsAmountCents : 0);\n this.orderSummaryUpdated.emit(new OrderSummaryDetails(this.subtotalAmountCents, this.isCoveringCosts, this.coverCostsAmountCents, this.taxAmountCents));\n }\n onSubmit() {\n if (!this.paymentMethodVerified) {\n return;\n }\n // if both payment options are not supplied then return earlier\n if (!this.cardInfo && !this.selectedGuestCardSummary) {\n return;\n }\n const dialogRef = this.dialog.open(PaymentStatusDialogComponent, {\n data: { status: PaymentStatus.PROCESSING, contactPhone: this.event.contactPhone || '' },\n height: '300px', width: '90%', maxWidth: '420px'\n });\n this.virtualEventService.payForItems(this.buildPayForItemsInput()).subscribe({\n next: (out) => {\n dialogRef.componentInstance.data = { status: PaymentStatus.SUCCESSFUL, successMessage: 'Payment Successful' };\n setTimeout(() => { dialogRef.close(); }, 3000);\n this.paymentSubmitted.emit(new PaymentSubmitted(true, out.transactionID));\n }, error: () => {\n dialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n errorMessage: 'That card was unable to be processed. Please try a different card.',\n };\n },\n });\n }\n buildPayForItemsInput() {\n var _a;\n const payForItemsInput = new PayForItemsInput();\n payForItemsInput.organizationID = this.organizationID;\n payForItemsInput.eventID = this.event.id;\n payForItemsInput.guestID = this.guestSummary.id;\n payForItemsInput.firstName = this.guestSummary.firstName;\n payForItemsInput.lastName = this.guestSummary.lastName;\n payForItemsInput.email = this.guestSummary.email;\n payForItemsInput.mobilePhone = this.guestSummary.mobilePhone;\n payForItemsInput.itemIDs = this.itemIDs;\n payForItemsInput.coverFee = this.isCoveringCosts;\n payForItemsInput.paymentType = PaymentType.card;\n // if card data was filled in (from add card) use it\n // otherwise use the card that was selected\n if (this.cardInfo && ((_a = this.cardInfo) === null || _a === void 0 ? void 0 : _a.lastFourDigits)) {\n payForItemsInput.cardType = this.cardInfo.cardType;\n payForItemsInput.cardLastFour = this.cardInfo.lastFourDigits;\n payForItemsInput.expiration = this.cardInfo.expiration;\n payForItemsInput.cardName = this.cardInfo.name;\n payForItemsInput.payerName = this.cardInfo.name;\n payForItemsInput.token = this.cardInfo.nonce;\n payForItemsInput.saveCardOnFile = this.cardInfo.saveCreditCardOnFile || false;\n // Add the billing address if the form is visible\n if (this.event.showBillingAddress) {\n payForItemsInput.payerStreet = this.cardInfo.billingStreet || '';\n payForItemsInput.payerCity = this.cardInfo.billingCity || '';\n payForItemsInput.payerState = this.cardInfo.billingState || '';\n payForItemsInput.payerZip = this.cardInfo.billingZip || '';\n payForItemsInput.payerCountry = this.cardInfo.billingCountry || '';\n }\n }\n else {\n payForItemsInput.cardID = this.selectedGuestCardSummary.userCardID;\n payForItemsInput.cardHolderGuestID = this.selectedGuestCardSummary.guestID;\n }\n return payForItemsInput;\n }\n setupItemSubscription() {\n this.cartService.getSelectedCartItems().subscribe(items => {\n if (items === null || items === void 0 ? void 0 : items.length) {\n this.itemIDs = items.map(item => item.id);\n const subtotalAndTax = CartUtils.getSubtotalAndTaxFromItems(items);\n this.subtotalAmountCents = subtotalAndTax.subtotalAmountCents;\n this.taxAmountCents = subtotalAndTax.taxAmountCents;\n }\n else {\n this.itemIDs = [];\n this.subtotalAmountCents = 0;\n this.taxAmountCents = 0;\n }\n this.calculateTotals();\n });\n }\n}\nRegisteredGuestCartPaymentButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartPaymentButtonComponent, deps: [{ token: VirtualEventRestService }, { token: i2$1.MatDialog }, { token: CartItemsService }], target: i0.ɵɵFactoryTarget.Component });\nRegisteredGuestCartPaymentButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegisteredGuestCartPaymentButtonComponent, selector: \"phaas-ngcart-registered-guest-cart-payment-button\", inputs: { organizationID: \"organizationID\", event: \"event\", paymentMethodVerified: \"paymentMethodVerified\", guestSummary: \"guestSummary\", selectedGuestCardSummary: \"selectedGuestCardSummary\", cardInfo: \"cardInfo\" }, outputs: { paymentSubmitted: \"paymentSubmitted\", orderSummaryUpdated: \"orderSummaryUpdated\" }, viewQueries: [{ propertyName: \"stickyPaymentContainer\", first: true, predicate: [\"paymentContainer\"], descendants: true }], ngImport: i0, template: \"
\\n
\\n\\n
\\n
\\n \\n
\\n {{ coverCostsMessage }}\\n
\\n \\n {{ coverCostsAmountCents / 100 | currency:'USD':2 }} will be added to your total.\\n \\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n\", styles: [\".registered-guest-cart__payment-button{width:100%;background:#fff}.registered-guest-cart__payment-button__non-sticky-border{border-top:1px solid rgba(0,0,0,.2);width:calc(100% - 2rem);margin-left:1rem;margin-top:16px;margin-bottom:16px}.registered-guest-cart__payment-button_sticky-container{padding:16px 4%;box-shadow:0 -5px 5px #00000024}.registered-guest-cart__payment-button__content{margin:0 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.registered-guest-cart__cover-cost__help-description{font-size:16px;white-space:normal;color:#000}.registered-guest-cart__cover-cost__amount-description{font-size:12px;color:#0009}.registered-guest-cart__pay-button{margin:16px 0 24px;height:36px;width:100%;font-family:\\\"Inter\\\",sans-serif;font-size:14px;font-weight:600;overflow:hidden}::ng-deep .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin:5px 16px auto 0}\\n\"], components: [{ type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], pipes: { \"currency\": i1$1.ExtendedCurrencyPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartPaymentButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registered-guest-cart-payment-button',\n templateUrl: './registered-guest-cart-payment-button.component.html',\n styleUrls: ['./registered-guest-cart-payment-button.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }, { type: i2$1.MatDialog }, { type: CartItemsService }]; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], paymentMethodVerified: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], selectedGuestCardSummary: [{\n type: Input\n }], cardInfo: [{\n type: Input\n }], paymentSubmitted: [{\n type: Output\n }], orderSummaryUpdated: [{\n type: Output\n }], stickyPaymentContainer: [{\n type: ViewChild,\n args: ['paymentContainer', { static: false }]\n }] } });\n\nclass RegisteredGuestCartComponent {\n constructor(attendeeService, cartItemsService, virtualEventRestService) {\n this.attendeeService = attendeeService;\n this.cartItemsService = cartItemsService;\n this.virtualEventRestService = virtualEventRestService;\n this.guestID = '';\n this.organizationID = '';\n this.eventID = '';\n this.cardInfo = null;\n this.selectedGuestCardInfo = null;\n this.paymentMethodVerified = false;\n this.cartState = CartState.LOADING;\n this.event = new ReadEventOutput();\n this.unpaidItems = [];\n this.paidItems = [];\n this.guestSummary = {};\n this.guestCardSummaries = [];\n this.merchantAccountID = '';\n this.themePrimaryColor = '#2e729f';\n this.orderSummaryDetails = new OrderSummaryDetails(0, false, 0, 0);\n this.destroy$ = new Subject();\n this.paymentSubmitted = new EventEmitter();\n this.unpaidItemsListUpdated = new EventEmitter();\n }\n ngOnInit() {\n this.virtualEventRestService.readEvent(new ReadEventInput(this.eventID, this.organizationID)).subscribe(event => {\n this.event = event;\n this.themePrimaryColor = event.themePrimaryColor || '#2e729f';\n this.merchantAccountID = event.merchantAccountID || '';\n this.initAttendee();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n initAttendee() {\n this.attendeeService.loadAttendee(this.organizationID, this.eventID, this.guestID, undefined, true);\n this.attendeeService.getGuestSummary().pipe(takeUntil(this.destroy$)).subscribe(guestSummary => {\n this.guestSummary = guestSummary;\n this.initCartItems();\n });\n this.attendeeService.getGuestCreditCardSummaries().pipe(takeUntil(this.destroy$)).subscribe((guestCardSummaries) => {\n this.guestCardSummaries = guestCardSummaries;\n });\n }\n initCartItems() {\n this.cartItemsService.getCartItemsForUser(this.organizationID, this.eventID, !!this.event.salesTaxPercent)\n .pipe(takeUntil(this.destroy$))\n .subscribe(items => {\n if (items) {\n this.unpaidItems = items.filter(item => item.purchaseID === '' && item.type !== 'vevt-ticket');\n this.unpaidItemsListUpdated.emit(this.unpaidItems);\n this.paidItems = items.filter(item => item.purchaseID !== '' && item.type !== 'vevt-ticket');\n this.setCartState();\n }\n else {\n this.unpaidItemsListUpdated.emit([]);\n }\n });\n }\n setCartState() {\n if (!this.unpaidItems.length && !this.paidItems.length) {\n this.cartState = CartState.EMPTY;\n }\n else {\n this.cartState = CartState.LOADED;\n }\n }\n setCardInfo(cardInfo) {\n this.cardInfo = cardInfo;\n }\n setGuestCardInfo(selectedCardInfo) {\n this.selectedGuestCardInfo = selectedCardInfo;\n }\n setPaymentMethodVerified(paymentMethodVerified) {\n this.paymentMethodVerified = paymentMethodVerified;\n }\n handlePaymentSubmitted(data) {\n if (data && data.successful) {\n this.reloadPurchasedItems();\n this.paymentSubmitted.emit(data);\n }\n }\n reloadPurchasedItems() {\n this.cartState = CartState.LOADING;\n const paging = new PagingInput().Take(100).Filters([\n new FilterParameter('refund_id', FilterComparator.Equal, ''),\n new FilterParameter('is_external', FilterComparator.Equal, false)\n ]);\n this.cartItemsService.loadPurchasedItemsForUser(this.organizationID, this.eventID, paging, [], !!this.event.salesTaxPercent);\n }\n setOrderSummary(orderSummary) {\n this.orderSummaryDetails = orderSummary;\n }\n}\nRegisteredGuestCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartComponent, deps: [{ token: AttendeeService }, { token: CartItemsService }, { token: VirtualEventRestService }], target: i0.ɵɵFactoryTarget.Component });\nRegisteredGuestCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegisteredGuestCartComponent, selector: \"phaas-ngcart-registered-guest-cart\", inputs: { guestID: \"guestID\", organizationID: \"organizationID\", eventID: \"eventID\" }, outputs: { paymentSubmitted: \"paymentSubmitted\", unpaidItemsListUpdated: \"unpaidItemsListUpdated\" }, providers: [\n CartItemsService,\n AttendeeService\n ], ngImport: i0, template: \"
\\n \\n
\\n \\n
Loading Items
\\n
\\n
\\n\\n \\n
\\n remove_shopping_cart\\n
\\n You haven't made any donations or purchased any items.\\n
\\n

When you do, they will appear here.

\\n
\\n
\\n\\n \\n
\\n
\\n
\\n ITEMS & DONATIONS\\n
\\n
\\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n\\n
\\n
\\n
PAID ITEMS
\\n
\\n \\n
\\n
\\n
\\n
\\n\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap|Inter:wght@600&display=swap\\\";.registered-guest-cart{height:100%;width:100%;background:#F5F7F9;overflow-y:scroll}.registered-guest-cart__title{flex:1}.registered-guest-cart__page-body{width:100%;display:flex;flex-direction:column}.registered-guest-cart__loading-container,.registered-guest-cart__no-items-container{height:100%;width:100%;color:#0c091699;font-family:\\\"Lato\\\",sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center}.registered-guest-cart__loading-text{font-size:20px;margin-top:32px;font-weight:400;font-family:\\\"Roboto\\\",sans-serif}.registered-guest-cart__no-items-icon{font-size:60px;height:60px;width:60px}.registered-guest-cart__no-items-header{font-size:24px;font-weight:bold;font-stretch:normal;font-style:normal;letter-spacing:0px;text-align:center;line-height:32px;margin-top:12px}.registered-guest-cart__no-items-description{font-size:14px;font-weight:bold;font-stretch:normal;font-style:normal;letter-spacing:0px;color:#0c091673;line-height:25px}.registered-guest-cart__items-header-container{flex-grow:0;height:48px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;background-color:#f5f7f9}.registered-guest-cart__unpaid-items-quantity{font-family:\\\"Inter\\\",sans-serif;flex-grow:0;font-size:12px;font-weight:500;text-align:left;color:#17232c94;margin-right:16px}.registered-guest-cart__items-header{font-family:\\\"Inter\\\",sans-serif;font-size:12px;letter-spacing:0px;font-weight:600;text-align:left;color:#17232cbd;margin-left:16px}.registered-guest-cart__payment-button-container{position:sticky;background-color:#fff;opacity:1;bottom:-1px}.registered-guest-cart__empty-footer{height:3px}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: CartListComponent, selector: \"phaas-ngcart-cart-list\", inputs: [\"items\", \"aggregateItemsByType\", \"allowUnpaidItemsSelection\", \"useCompactRows\"] }, { type: RegisteredGuestCartOrderSummaryComponent, selector: \"phaas-ngcart-registered-guest-cart-order-summary\", inputs: [\"event\", \"orderSummaryDetails\"] }, { type: RegisteredGuestCartPaymentDetailsComponent, selector: \"phaas-ngcart-registered-guest-cart-payment-details\", inputs: [\"organizationID\", \"event\", \"guestSummary\", \"guestCardSummaries\"], outputs: [\"cardInfoUpdated\", \"guestCardUpdated\", \"paymentMethodVerified\"] }, { type: RegisteredGuestCartPaymentButtonComponent, selector: \"phaas-ngcart-registered-guest-cart-payment-button\", inputs: [\"organizationID\", \"event\", \"paymentMethodVerified\", \"guestSummary\", \"selectedGuestCardSummary\", \"cardInfo\"], outputs: [\"paymentSubmitted\", \"orderSummaryUpdated\"] }], directives: [{ type: i1$1.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registered-guest-cart',\n templateUrl: './registered-guest-cart.component.html',\n styleUrls: ['./registered-guest-cart.component.scss'],\n providers: [\n CartItemsService,\n AttendeeService\n ],\n }]\n }], ctorParameters: function () { return [{ type: AttendeeService }, { type: CartItemsService }, { type: VirtualEventRestService }]; }, propDecorators: { guestID: [{\n type: Input\n }], organizationID: [{\n type: Input\n }], eventID: [{\n type: Input\n }], paymentSubmitted: [{\n type: Output\n }], unpaidItemsListUpdated: [{\n type: Output\n }] } });\n\n// Core\nclass RegisteredGuestCartModule {\n}\nRegisteredGuestCartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nRegisteredGuestCartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartModule, declarations: [RegisteredGuestCartComponent,\n RegisteredGuestCartPaymentDetailsComponent,\n RegisteredGuestCartOrderSummaryComponent,\n RegisteredGuestCartPaymentButtonComponent], imports: [CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule], exports: [RegisteredGuestCartComponent] });\nRegisteredGuestCartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartModule, providers: [\n GivingManagementRestService,\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n ], imports: [[\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegisteredGuestCartModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n GivingManagementRestService,\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n ],\n declarations: [\n RegisteredGuestCartComponent,\n RegisteredGuestCartPaymentDetailsComponent,\n RegisteredGuestCartOrderSummaryComponent,\n RegisteredGuestCartPaymentButtonComponent\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatRadioModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatMenuModule,\n MatRippleModule\n ],\n exports: [\n RegisteredGuestCartComponent\n ]\n }]\n }] });\n\nclass RegFreeCartPaymentMethod {\n}\nclass RegistrationFreeCartPaymentDetailsComponent {\n constructor() {\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.guestSummary = new GuestSummary();\n this.guestCardSummaries = [];\n this.isCoveringCosts = false;\n this.subtotalAmountCents = 0;\n this.taxAmountCents = 0;\n this.coverCostAmountCents = 0;\n this.totalAmountCents = 0;\n this.emailOverride = ''; // For when the pay fails, we keep old email that was submitted\n //\n this.paymentMethodOut = new EventEmitter();\n this.merchantAccountID = '';\n this.showBillingAddressForm = false;\n this.requireBillingAddressForm = false;\n this.currencyCode = '';\n this.email = new FormControl('', [Validators.required, Validators.email]);\n this.cardInfo$ = new BehaviorSubject(null);\n this.guestCardSummary$ = new BehaviorSubject(null);\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.merchantAccountID = this.event.merchantAccountID || '';\n this.currencyCode = this.event.currencyCode || 'USD';\n this.showBillingAddressForm = this.event.showBillingAddress;\n this.requireBillingAddressForm = this.event.requireBillingAddress;\n this.initForm();\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n initForm() {\n combineLatest([\n this.email.valueChanges,\n this.cardInfo$,\n this.guestCardSummary$,\n ]).pipe(takeUntil(this.destroy$))\n .subscribe(([email, cardInfo, guestCard]) => {\n this.paymentMethodOut.emit({\n valid: this.paymentMethodValid(cardInfo, guestCard),\n cardInput: cardInfo,\n guestCardSummary: guestCard,\n email,\n });\n });\n this.email.setValue(this.emailOverride || this.guestSummary.email);\n }\n setCreditCardData(newCard) {\n this.cardInfo$.next(newCard);\n }\n setGuestCardSummaryData(cardSummary) {\n this.guestCardSummary$.next(cardSummary);\n }\n // Email should be valid and one payment method must exist\n paymentMethodValid(cardInfo, guestCard) {\n return this.email.valid && (!!cardInfo || !!guestCard);\n }\n}\nRegistrationFreeCartPaymentDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartPaymentDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nRegistrationFreeCartPaymentDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegistrationFreeCartPaymentDetailsComponent, selector: \"phaas-ngcart-registration-free-cart-payment-details\", inputs: { organizationID: \"organizationID\", event: \"event\", guestSummary: \"guestSummary\", guestCardSummaries: \"guestCardSummaries\", isCoveringCosts: \"isCoveringCosts\", subtotalAmountCents: \"subtotalAmountCents\", taxAmountCents: \"taxAmountCents\", coverCostAmountCents: \"coverCostAmountCents\", totalAmountCents: \"totalAmountCents\", emailOverride: \"emailOverride\" }, outputs: { paymentMethodOut: \"paymentMethodOut\" }, ngImport: i0, template: \"
\\n
\\n
\\n \\n \\n
\\n\\n
PAYMENT METHOD
\\n
\\n \\n \\n
\\n\\n
\\n
CONTACT INFORMATION
\\n \\n Email Address\\n \\n \\n Email is required.\\n \\n \\n Email invalid.\\n \\n \\n
We'll send a receipt to this email once you've paid.
\\n
\\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap|Inter:wght@300;400;500;600&display=swap\\\";.payment-details{width:100%}.payment-details__content{margin:0 1rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.payment-details__totals-container{width:100%;margin-bottom:1.2rem}.payment-details__payment-method-header{border-top:1px solid rgba(0,0,0,.1);width:100%;font-family:\\\"Inter\\\",sans-serif;font-size:12px;letter-spacing:0px;font-weight:600;text-align:left;color:#17232cbd;padding-top:2rem;margin-bottom:1rem}.payment-details__credit-card-form-field,.payment-details__credit-card-form-field-email{width:100%}.payment-details__credit-card-form-field-email{padding-top:-20px}.payment-details__credit-card-form,.payment-details__contact-container{width:100%}.payment-details__submit-button{margin-bottom:.5rem}.payment-details__contact-container{margin-top:-15px}.payment-details__billing-address-container{margin-top:-20px;margin-bottom:20px}.payment-details__contact-header{font-family:\\\"Inter\\\",sans-serif;font-size:12px;letter-spacing:0px;font-weight:600;text-align:left;color:#17232cbd;margin-bottom:14px}.payment-details__contact-helper-text{font-family:\\\"Inter\\\",sans-serif;font-size:.75rem;font-weight:400;margin-left:8px;color:#17232cbd}.payment-details__cc-form-container{width:100%}\\n\"], components: [{ type: OrderSummaryComponent, selector: \"phaas-ngcart-order-summary\", inputs: [\"subtotal\", \"tax\", \"coverCosts\", \"showCoverCosts\"] }, { type: PaymentMethodCreditCardComponent, selector: \"phaas-ngcart-payment-method-credit-card\", inputs: [\"organizationID\", \"merchantAccountID\", \"iFrameID\", \"guestCardSummaries\", \"guestSummary\", \"showPaymentLinkButton\", \"showBillingAddressForm\", \"requireBillingAddressForm\", \"currencyCode\", \"showSaveCreditCardCheckbox\", \"saveCreditCardCheckboxLabel\"], outputs: [\"creditCardData\", \"selectedGuestCardSummaryOutput\", \"paymentLinkOutput\"] }, { type: i1$2.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }], directives: [{ type: i1$2.MatLabel, selector: \"mat-label\" }, { type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i5$1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i5$1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1$2.MatError, selector: \"mat-error\", inputs: [\"id\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartPaymentDetailsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registration-free-cart-payment-details',\n templateUrl: './registration-free-cart-payment-details.component.html',\n styleUrls: ['./registration-free-cart-payment-details.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], guestCardSummaries: [{\n type: Input\n }], isCoveringCosts: [{\n type: Input\n }], subtotalAmountCents: [{\n type: Input\n }], taxAmountCents: [{\n type: Input\n }], coverCostAmountCents: [{\n type: Input\n }], totalAmountCents: [{\n type: Input\n }], emailOverride: [{\n type: Input\n }], paymentMethodOut: [{\n type: Output\n }] } });\n\nclass RegistrationFreeCartPaymentSubmitComponent {\n constructor(virtualEventService, dialog) {\n this.virtualEventService = virtualEventService;\n this.dialog = dialog;\n this.organizationID = '';\n this.event = new ReadEventOutput();\n this.guestSummary = new GuestSummary();\n this.unpaidItems = [];\n this.coverCostsAmountCents = 0;\n this.totalCents = 0;\n this.token = '';\n this.paymentMethod = {};\n this.coverCostsChange = new EventEmitter();\n this.paymentSubmitted = new EventEmitter();\n this.invalidToken = new EventEmitter();\n this.isCoveringCosts = false;\n this.isSticky = false;\n this.paymentContainer = null;\n }\n set stickyPaymentContainer(paymentContainer) {\n if (paymentContainer) {\n this.paymentContainer = paymentContainer;\n const observer = new IntersectionObserver(([e]) => {\n if (e.intersectionRatio < 1) {\n this.isSticky = true;\n }\n else {\n this.isSticky = false;\n }\n }, {\n threshold: [1],\n root: null,\n });\n observer.observe(this.paymentContainer.nativeElement);\n }\n }\n ngOnInit() {\n this.isCoveringCosts = this.event.coverCostDefault;\n }\n submitPayment() {\n if (!this.paymentMethod.valid) {\n return;\n }\n const payForItemsInput = this.buildPayForItemsInput();\n const submittingDialogRef = this.dialog.open(PaymentStatusDialogComponent, {\n data: { status: PaymentStatus.PROCESSING },\n height: '300px', width: '90%', maxWidth: '420px'\n });\n this.virtualEventService.withJWT(this.token).registrationFreePayForItems(payForItemsInput).subscribe(() => {\n submittingDialogRef.close();\n this.paymentSubmitted.emit();\n }, (err) => {\n if (err.status === 401 /* Unauthorized */) {\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n errorMessage: 'Payment failed.',\n errorMessageSubtext: 'Your token is invalid.',\n };\n setTimeout(() => { submittingDialogRef.close(); }, 3000);\n this.invalidToken.emit();\n }\n else {\n submittingDialogRef.componentInstance.data = {\n status: PaymentStatus.UNSUCCESSFUL,\n errorMessage: 'That card was unable to be processed. Please try a different card.',\n };\n setTimeout(() => { submittingDialogRef.close(); }, 3000);\n this.paymentSubmitted.emit(); // will reload the cart again\n }\n });\n }\n coverCostToggle() {\n this.coverCostsChange.emit(this.isCoveringCosts);\n }\n buildPayForItemsInput() {\n const payForItemsInput = new RegistrationFreePayForItemsInput();\n payForItemsInput.organizationID = this.organizationID;\n payForItemsInput.eventID = this.event.id;\n payForItemsInput.guestID = this.guestSummary.id;\n payForItemsInput.firstName = this.guestSummary.firstName;\n payForItemsInput.lastName = this.guestSummary.lastName;\n payForItemsInput.mobilePhone = this.guestSummary.mobilePhone;\n payForItemsInput.itemIDs = this.unpaidItems.map(item => item.id);\n payForItemsInput.coverFee = this.isCoveringCosts;\n payForItemsInput.paymentType = PaymentType.card;\n payForItemsInput.email = this.paymentMethod.email || '';\n // if card data was filled in (from add card) use it\n // otherwise use the card that was selected\n if (this.paymentMethod.cardInput && this.paymentMethod.cardInput.lastFourDigits) {\n payForItemsInput.cardType = this.paymentMethod.cardInput.cardType;\n payForItemsInput.cardLastFour = this.paymentMethod.cardInput.lastFourDigits;\n payForItemsInput.expiration = this.paymentMethod.cardInput.expiration;\n payForItemsInput.cardName = this.paymentMethod.cardInput.name;\n payForItemsInput.payerName = this.paymentMethod.cardInput.name;\n payForItemsInput.token = this.paymentMethod.cardInput.nonce;\n payForItemsInput.saveCardOnFile = this.paymentMethod.cardInput.saveCreditCardOnFile || false;\n // Add the billing address if the form is visible\n if (this.event.showBillingAddress) {\n payForItemsInput.payerStreet = this.paymentMethod.cardInput.billingStreet || '';\n payForItemsInput.payerCity = this.paymentMethod.cardInput.billingCity || '';\n payForItemsInput.payerState = this.paymentMethod.cardInput.billingState || '';\n payForItemsInput.payerZip = this.paymentMethod.cardInput.billingZip || '';\n payForItemsInput.payerCountry = this.paymentMethod.cardInput.billingCountry || '';\n }\n }\n else {\n payForItemsInput.cardID = this.paymentMethod.guestCardSummary.userCardID; // Needs halp\n payForItemsInput.cardHolderGuestID = this.paymentMethod.guestCardSummary.guestID; // Needs halp\n }\n return payForItemsInput;\n }\n}\nRegistrationFreeCartPaymentSubmitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartPaymentSubmitComponent, deps: [{ token: VirtualEventRestService }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });\nRegistrationFreeCartPaymentSubmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegistrationFreeCartPaymentSubmitComponent, selector: \"phaas-ngcart-registration-free-cart-payment-submit\", inputs: { organizationID: \"organizationID\", event: \"event\", guestSummary: \"guestSummary\", unpaidItems: \"unpaidItems\", coverCostsAmountCents: \"coverCostsAmountCents\", totalCents: \"totalCents\", token: \"token\", paymentMethod: \"paymentMethod\" }, outputs: { coverCostsChange: \"coverCostsChange\", paymentSubmitted: \"paymentSubmitted\", invalidToken: \"invalidToken\" }, viewQueries: [{ propertyName: \"stickyPaymentContainer\", first: true, predicate: [\"paymentContainer\"], descendants: true }], ngImport: i0, template: \"
\\n
\\n
\\n
\\n \\n
\\n
\\n {{ event.coverCostCustomMessage ? event.coverCostCustomMessage : \\\"I'd like to help cover the organization's processing fees for my purchase.\\\" }}\\n
\\n
\\n {{ (isCoveringCosts ? coverCostsAmountCents : 0) / 100 | currency }} will be added to your total.\\n
\\n
\\n
\\n
\\n \\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap|Inter:wght@300;400;500;600&display=swap\\\";.payment-submit__pay-container{width:100%;position:sticky;bottom:-1px;background-color:#fff;display:flex;align-items:center}.payment-submit__pay-container.with-shadow{box-shadow:0 -5px 5px #00000024}.payment-submit__pay-container-content{padding:1rem;width:100%}.payment-submit__non-sticky-border{border-top:1px solid rgba(0,0,0,.2);width:calc(100% - 2rem);margin-left:1rem}.payment-submit__submit-button{width:100%}.payment-submit__cover-cost-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;font-family:\\\"Inter\\\",sans-serif;font-size:12px;color:#17232c;margin-bottom:1rem}.payment-submit__cover-cost-column{display:flex;flex-direction:column}.mat-checkbox.payment-submit__cover-cost-checkbox .mat-checkbox-layout .mat-checkbox-inner-container{margin:1px 16px auto 0}.payment-submit__cover-cost-description{font-family:\\\"Inter\\\",sans-serif;font-weight:600;color:#000;line-height:.7rem}.payment-submit__cover-cost-description-subtext{font-family:\\\"Inter\\\",sans-serif;margin-top:.25rem;font-weight:400}\\n\"], components: [{ type: i2.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"disableRipple\", \"color\", \"tabIndex\", \"aria-label\", \"aria-labelledby\", \"id\", \"labelPosition\", \"name\", \"required\", \"checked\", \"disabled\", \"indeterminate\", \"aria-describedby\", \"value\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { type: i4.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i6.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i5$1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i5$1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { type: i6.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], pipes: { \"currency\": i1$1.ExtendedCurrencyPipe }, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartPaymentSubmitComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registration-free-cart-payment-submit',\n templateUrl: './registration-free-cart-payment-submit.component.html',\n styleUrls: ['./registration-free-cart-payment-submit.component.scss'],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: VirtualEventRestService }, { type: i2$1.MatDialog }]; }, propDecorators: { organizationID: [{\n type: Input\n }], event: [{\n type: Input\n }], guestSummary: [{\n type: Input\n }], unpaidItems: [{\n type: Input\n }], coverCostsAmountCents: [{\n type: Input\n }], totalCents: [{\n type: Input\n }], token: [{\n type: Input\n }], paymentMethod: [{\n type: Input\n }], coverCostsChange: [{\n type: Output\n }], paymentSubmitted: [{\n type: Output\n }], invalidToken: [{\n type: Output\n }], stickyPaymentContainer: [{\n type: ViewChild,\n args: ['paymentContainer', { static: false }]\n }] } });\n\nclass RegistrationFreeCartComponent {\n constructor(attendeeService, cartItemsService, virtualEventRestService, window) {\n this.attendeeService = attendeeService;\n this.cartItemsService = cartItemsService;\n this.virtualEventRestService = virtualEventRestService;\n this.window = window;\n this.organizationID = '';\n this.eventID = '';\n this.token = '';\n this.invalidToken = new EventEmitter();\n this.cartState = CartState.LOADING;\n this.guestID = '';\n this.event = new ReadEventOutput();\n this.themeColor = '#2e729f'; // default\n this.unpaidItems = [];\n this.paidItems = [];\n this.guestCardSummaries = [];\n // Calculate these at the cart level now\n this.coverCostEnabled = false;\n this.coverCostPercent = 0;\n this.coverCostMessage = '';\n this.isCoveringCosts = false;\n this.subtotalAmountCents = 0;\n this.taxAmountCents = 0;\n this.coverCostAmountCents = 0;\n this.totalAmountCents = 0;\n //\n this.paymentMethod = {};\n this.emailOverride = '';\n this.guestSummary = {};\n this.merchantAccountID = '';\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.virtualEventRestService.readEvent(new ReadEventInput(this.eventID, this.organizationID)).subscribe(event => {\n this.event = event;\n this.merchantAccountID = event.merchantAccountID || '';\n this.themeColor = event.themePrimaryColor || '#2e729f';\n this.coverCostEnabled = event.isCoverCostActive;\n this.coverCostPercent = event.coverCostPercent || 0;\n this.isCoveringCosts = event.coverCostDefault;\n this.coverCostMessage = event.coverCostCustomMessage;\n this.initAttendee();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n initAttendee() {\n this.processToken();\n if (this.guestID) {\n this.attendeeService.loadAttendee(this.organizationID, this.eventID, this.guestID, this.token);\n this.attendeeService.getGuestSummary().pipe(takeUntil(this.destroy$)).subscribe(guestSummary => {\n this.guestSummary = guestSummary;\n this.initCartItems();\n });\n this.attendeeService.getGuestCreditCardSummaries().pipe(takeUntil(this.destroy$)).subscribe(out => this.guestCardSummaries = out);\n }\n }\n initCartItems() {\n this.cartItemsService.getCartItems(this.organizationID, this.eventID, this.guestSummary, !!this.event.salesTaxPercent, this.token)\n .pipe(takeUntil(this.destroy$))\n .subscribe((items) => {\n if (items) {\n this.unpaidItems = items.filter(item => item.purchaseID === '' && item.type !== 'vevt-ticket');\n this.paidItems = items.filter(item => item.purchaseID !== '' && item.type !== 'vevt-ticket');\n // Calculate amounts\n const subtotalAndTax = CartUtils.getSubtotalAndTaxFromItems(this.unpaidItems);\n this.subtotalAmountCents = subtotalAndTax.subtotalAmountCents;\n this.taxAmountCents = subtotalAndTax.taxAmountCents;\n this.coverCostAmountCents = Math.round((this.subtotalAmountCents + this.taxAmountCents) * this.coverCostPercent);\n this.calcTotal();\n this.setCartState();\n }\n }, (err) => {\n if (err.status === 401 /* Unauthorized */) {\n this.invalidToken.emit();\n }\n });\n }\n setCartState() {\n if (!this.unpaidItems.length && !this.paidItems.length) {\n this.cartState = CartState.EMPTY;\n }\n else {\n this.cartState = CartState.LOADED;\n }\n }\n reloadPurchasedItems() {\n this.emailOverride = this.paymentMethod.email || '';\n this.cartState = CartState.LOADING;\n const paging = new PagingInput().Take(100).Filters([\n new FilterParameter('refund_id', FilterComparator.Equal, ''),\n new FilterParameter('is_external', FilterComparator.Equal, false)\n ]);\n this.cartItemsService.loadPurchasedItems(this.organizationID, this.eventID, this.guestSummary, paging, [], !!this.event.salesTaxPercent, this.token);\n }\n calcTotal() {\n this.totalAmountCents = this.subtotalAmountCents + this.taxAmountCents + (this.coverCostEnabled && this.isCoveringCosts ? this.coverCostAmountCents : 0);\n }\n coverCostToggle(coveringCost) {\n this.isCoveringCosts = coveringCost;\n this.calcTotal();\n }\n setCreditCardForm(form) {\n this.paymentMethod = form;\n }\n processToken() {\n const parsedToken = this.parseToken(this.token);\n const currTime = new Date().valueOf();\n if ((parsedToken.exp || 0) * 1000 < currTime) {\n this.invalidToken.emit();\n }\n else {\n const roles = [];\n for (const role of (parsedToken === null || parsedToken === void 0 ? void 0 : parsedToken.roles) || []) {\n roles.push(RoleWithContext.fromGenericObject(role));\n }\n if (!roles.length) {\n // Something wrong if there are no roles\n this.invalidToken.emit();\n }\n else {\n this.guestID = roles[0].context.guestID || '';\n }\n }\n }\n parseToken(accessToken) {\n const tokenPieces = accessToken.split('.');\n const payload = tokenPieces.length === 3 ? tokenPieces[1] : '';\n return new AccessToken(this.window.atob(payload));\n }\n}\nRegistrationFreeCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartComponent, deps: [{ token: AttendeeService }, { token: CartItemsService }, { token: VirtualEventRestService }, { token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Component });\nRegistrationFreeCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: RegistrationFreeCartComponent, selector: \"phaas-ngcart-registration-free-cart\", inputs: { organizationID: \"organizationID\", eventID: \"eventID\", token: \"token\" }, outputs: { invalidToken: \"invalidToken\" }, providers: [\n CartItemsService,\n AttendeeService\n ], ngImport: i0, template: \"
\\n \\n
\\n \\n
Getting Items
\\n
\\n
\\n\\n \\n
\\n remove_shopping_cart\\n
\\n You haven't made any donations or purchased any items.\\n
\\n
\\n
\\n\\n \\n 0\\\">\\n
Summary
\\n
\\n
\\n
ITEMS & DONATIONS
\\n
{{unpaidItems.length}} Items
\\n
\\n \\n \\n\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n check_circle_outline\\n
\\n Thank you for your payment!\\n
\\n
\\n \\n
\\n
INSTRUCTIONS
\\n
Show this receipt to a volunteer to confirm payment if\\n needed.
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
PAID ITEMS
\\n
\\n \\n
\\n
\", styles: [\"@import\\\"https://fonts.googleapis.com/css?family=Roboto:400,700|Material+Icons\\\";@import\\\"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap|Inter:wght@500;600&display=swap\\\";.registration-free-cart{height:100%;width:100%;background:#fff;overflow-y:scroll}.registration-free-cart__page-body{width:100%;display:flex;flex-direction:column}.registration-free-cart__thank-you-header{margin:1.5rem 1rem .5rem;display:flex;flex-direction:column;align-items:center}.registration-free-cart__payment-container{width:100%}.registration-free-cart__page-body-header{height:2rem;font-size:1.25rem;font-family:\\\"Lato\\\",sans-serif;font-weight:500;margin:1rem 1rem 0}.registration-free-cart__loading-container,.registration-free-cart__no-items-container{height:100%;width:100%;color:#0c091699;font-family:\\\"Lato\\\",sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center}.registration-free-cart__loading-text{font-size:20px;margin-top:32px;font-weight:400;font-family:\\\"Roboto\\\",sans-serif}.registration-free-cart__no-items-icon{font-size:60px}.registration-free-cart__no-items-icon.mat-icon{height:60px;width:60px}.registration-free-cart__no-items-header{font-size:16px;font-weight:bold;font-stretch:normal;font-style:normal;text-align:center;margin:12px}.registration-free-cart__no-items-description{font-size:14px;font-weight:bold;font-stretch:normal;font-style:normal;letter-spacing:0px;color:#0c091673;line-height:25px}.registration-free-cart__items-header-container{flex-grow:0;height:24px;margin:12px 0 6px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;background-color:#fff}.registration-free-cart__instructions-header,.registration-free-cart__items-header,.registration-free-cart__payment-header{font-family:\\\"Inter\\\",sans-serif;font-size:12px;letter-spacing:0px;font-weight:600;text-align:left;color:#17232cbd;margin-left:16px}.registration-free-cart__unpaid-items-quantity{font-family:\\\"Lato\\\",sans-serif;font-size:.875rem;font-weight:400;margin-right:16px}.registration-free-cart__thank-you-icon{color:#58cc88;font-size:3.9rem}.registration-free-cart__thank-you-icon.mat-icon{height:4rem;width:4rem}.registration-free-cart__thank-you-message{font-family:\\\"Lato\\\",sans-serif;font-size:1.5rem;font-weight:600;margin-top:1rem}.registration-free-cart__instructions-container{margin:1rem 0}.registration-free-cart__instructions-text{margin:.875rem 1rem 0;font-family:\\\"Lato\\\",sans-serif;font-weight:normal;font-size:1rem;line-height:1.75}.registration-free-cart__empty-footer{height:3px}\\n\"], components: [{ type: i4$1.MatSpinner, selector: \"mat-spinner\", inputs: [\"color\"] }, { type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: CartListComponent, selector: \"phaas-ngcart-cart-list\", inputs: [\"items\", \"aggregateItemsByType\", \"allowUnpaidItemsSelection\", \"useCompactRows\"] }, { type: RegistrationFreeCartPaymentDetailsComponent, selector: \"phaas-ngcart-registration-free-cart-payment-details\", inputs: [\"organizationID\", \"event\", \"guestSummary\", \"guestCardSummaries\", \"isCoveringCosts\", \"subtotalAmountCents\", \"taxAmountCents\", \"coverCostAmountCents\", \"totalAmountCents\", \"emailOverride\"], outputs: [\"paymentMethodOut\"] }, { type: RegistrationFreeCartPaymentSubmitComponent, selector: \"phaas-ngcart-registration-free-cart-payment-submit\", inputs: [\"organizationID\", \"event\", \"guestSummary\", \"unpaidItems\", \"coverCostsAmountCents\", \"totalCents\", \"token\", \"paymentMethod\"], outputs: [\"coverCostsChange\", \"paymentSubmitted\", \"invalidToken\"] }], directives: [{ type: i1$1.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i6.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i6.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcart-registration-free-cart',\n templateUrl: './registration-free-cart.component.html',\n styleUrls: ['./registration-free-cart.component.scss'],\n providers: [\n CartItemsService,\n AttendeeService\n ],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return [{ type: AttendeeService }, { type: CartItemsService }, { type: VirtualEventRestService }, { type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; }, propDecorators: { organizationID: [{\n type: Input\n }], eventID: [{\n type: Input\n }], token: [{\n type: Input\n }], invalidToken: [{\n type: Output\n }] } });\n\nclass RegistrationFreeCartModule {\n}\nRegistrationFreeCartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nRegistrationFreeCartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartModule, declarations: [RegistrationFreeCartComponent,\n RegistrationFreeCartPaymentDetailsComponent,\n RegistrationFreeCartPaymentSubmitComponent], imports: [CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n AddressFormModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule], exports: [RegistrationFreeCartComponent] });\nRegistrationFreeCartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartModule, providers: [\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n GivingManagementRestService,\n ], imports: [[\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n AddressFormModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: RegistrationFreeCartModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n InventoryRestService,\n RaffleRestService,\n VirtualEventRestService,\n BuyItemsRestService,\n GivingRestService,\n GivingManagementRestService,\n ],\n declarations: [\n RegistrationFreeCartComponent,\n RegistrationFreeCartPaymentDetailsComponent,\n RegistrationFreeCartPaymentSubmitComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n CurrencyModule,\n ThemeModule,\n // Shared components\n ComponentsModule,\n AddressFormModule,\n //Mat Modules\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n ],\n exports: [\n RegistrationFreeCartComponent,\n ]\n }]\n }] });\n\n/*\n * Public API Surface of ngcart\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AddChargeComponent, CardInfo, CartListComponent, ComponentsModule, CreditCardFormComponent, EventDayToolsCartComponent, EventDayToolsCartModule, OrderSummaryComponent, PaymentActionDialogComponent, PaymentDialogData, PaymentLinkDialogComponent, PaymentLinkDialogData, PaymentLinkDialogOutput, PaymentMethodCreditCardComponent, PaymentMethodDropdownComponent, PaymentOption, PaymentOptionsConfig, PaymentOutput, PaymentStatus, PaymentStatusDialogComponent, PaymentType, PickupDialogData, RegisteredGuestCartComponent, RegisteredGuestCartModule, RegistrationFreeCartComponent, RegistrationFreeCartModule };\n","import * as i0 from '@angular/core';\nimport { forwardRef, Component, ViewEncapsulation, Input, EventEmitter, Output, NgModule, Pipe, InjectionToken, Injectable, Inject, Optional, Directive, HostListener, HostBinding } from '@angular/core';\nimport * as i4 from '@angular/forms';\nimport { FormGroup, FormControl, Validators, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport * as i1 from '@angular/material/form-field';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport * as i2 from '@angular/material/select';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i3 from '@angular/material/core';\nimport * as i5 from '@angular/common';\nimport { CommonModule, CurrencyPipe } from '@angular/common';\nimport * as i5$1 from '@angular/material/input';\nimport { MatInputModule } from '@angular/material/input';\nimport { of, AsyncSubject, BehaviorSubject, throwError, Subject, timer } from 'rxjs';\nimport * as i3$1 from '@angular/common/http';\nimport { HttpClientModule, HttpHeaders, HttpClient, HttpErrorResponse, HttpBackend, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { map, mergeMap, finalize, shareReplay, tap, catchError, flatMap, filter, takeUntil } from 'rxjs/operators';\n\nconst countryListLookup = {\n USA: { code: 'USA', name: 'United States', zipCodeRegexp: /^((\\d{5})|(\\d{5}-\\d{4}))$/, zipCodeLabel: 'Zip Code' },\n CAN: { code: 'CAN', name: 'Canada', zipCodeRegexp: /^([A-Za-z]\\d[A-Za-z][- ]?\\d[A-Za-z]\\d)$/, zipCodeLabel: 'Postal Code' }\n};\n\nfunction ZipCodeValidator(country) {\n return (control) => {\n const value = control.value;\n const countryListLookup$1 = countryListLookup;\n if (value) {\n let ZIPCODE_REGEXP = countryListLookup$1.USA.zipCodeRegexp;\n if (country && countryListLookup$1[country] && countryListLookup$1[country].zipCodeRegexp) {\n ZIPCODE_REGEXP = countryListLookup$1[country].zipCodeRegexp;\n }\n if (!ZIPCODE_REGEXP.test(value)) {\n return { invalidZip: true };\n }\n }\n return null;\n };\n}\n\nconst states = [\n { code: 'AL', name: 'Alabama' },\n { code: 'AK', name: 'Alaska' },\n { code: 'AZ', name: 'Arizona' },\n { code: 'AR', name: 'Arkansas' },\n { code: 'CA', name: 'California' },\n { code: 'CO', name: 'Colorado' },\n { code: 'CT', name: 'Connecticut' },\n { code: 'DE', name: 'Delaware' },\n { code: 'DC', name: 'District of Columbia' },\n { code: 'FL', name: 'Florida' },\n { code: 'GA', name: 'Georgia' },\n { code: 'HI', name: 'Hawaii' },\n { code: 'ID', name: 'Idaho' },\n { code: 'IL', name: 'Illinois' },\n { code: 'IN', name: 'Indiana' },\n { code: 'IA', name: 'Iowa' },\n { code: 'KS', name: 'Kansas' },\n { code: 'KY', name: 'Kentucky' },\n { code: 'LA', name: 'Louisiana' },\n { code: 'ME', name: 'Maine' },\n { code: 'MD', name: 'Maryland' },\n { code: 'MA', name: 'Massachusetts' },\n { code: 'MI', name: 'Michigan' },\n { code: 'MN', name: 'Minnesota' },\n { code: 'MS', name: 'Mississippi' },\n { code: 'MO', name: 'Missouri' },\n { code: 'MT', name: 'Montana' },\n { code: 'NE', name: 'Nebraska' },\n { code: 'NV', name: 'Nevada' },\n { code: 'NH', name: 'New Hampshire' },\n { code: 'NJ', name: 'New Jersey' },\n { code: 'NM', name: 'New Mexico' },\n { code: 'NY', name: 'New York' },\n { code: 'NC', name: 'North Carolina' },\n { code: 'ND', name: 'North Dakota' },\n { code: 'OH', name: 'Ohio' },\n { code: 'OK', name: 'Oklahoma' },\n { code: 'OR', name: 'Oregon' },\n { code: 'PA', name: 'Pennsylvania' },\n { code: 'PR', name: 'Puerto Rico' },\n { code: 'RI', name: 'Rhode Island' },\n { code: 'SC', name: 'South Carolina' },\n { code: 'SD', name: 'South Dakota' },\n { code: 'TN', name: 'Tennessee' },\n { code: 'TX', name: 'Texas' },\n { code: 'UT', name: 'Utah' },\n { code: 'VT', name: 'Vermont' },\n { code: 'VA', name: 'Virginia' },\n { code: 'WA', name: 'Washington' },\n { code: 'WV', name: 'West Virginia' },\n { code: 'WI', name: 'Wisconsin' },\n { code: 'WY', name: 'Wyoming' }\n];\nconst provinces = [\n { code: 'AB', name: 'Alberta' },\n { code: 'BC', name: 'British Columbia' },\n { code: 'MB', name: 'Manitoba' },\n { code: 'NB', name: 'New Brunswick' },\n { code: 'NL', name: 'Newfoundland and Labrador' },\n { code: 'NT', name: 'Northwest Territories' },\n { code: 'NS', name: 'Nova Scotia' },\n { code: 'NU', name: 'Nunavut' },\n { code: 'ON', name: 'Ontario' },\n { code: 'PE', name: 'Prince Edward Island' },\n { code: 'QC', name: 'Quebec' },\n { code: 'SK', name: 'Saskatchewan' },\n { code: 'YT', name: 'Yukon' }\n];\nconst nameLookup = {};\nconst codeLookup = {};\nconst codeAndNameLookup = {};\nstates.forEach((state) => {\n codeLookup[state.code] = state.name;\n nameLookup[state.name.toLowerCase()] = state.code;\n codeAndNameLookup[state.code] = { code: state.code, name: state.name };\n});\nprovinces.forEach((province) => {\n codeLookup[province.code] = province.name;\n nameLookup[province.name.toLowerCase()] = province.code;\n codeAndNameLookup[province.code] = { code: province.code, name: province.name };\n});\nconst statesNameLookup = nameLookup;\nconst statesCodeLookup = codeLookup;\nconst statesCodeAndNameLookup = codeAndNameLookup;\nfunction getName(code) {\n if (!code) {\n return null;\n }\n return codeLookup[code] || 'Other';\n}\nfunction getCode(name) {\n if (!name) {\n return null;\n }\n return nameLookup[name.toLowerCase()] || '';\n}\n\nclass StateSelectComponent {\n constructor() {\n this.states = states;\n this.provinces = provinces;\n this.statesCodeAndNameLookup = statesCodeAndNameLookup;\n this.countryListLookup = countryListLookup;\n this.optionList = [];\n this.stateSelectForm = new FormGroup({});\n this.stateSelect = new FormControl('');\n this.label = '';\n this.isRequired = false;\n this.showLabel = false;\n this.hint = '';\n this.countryCode = this.countryListLookup.USA.code;\n // References to callback functions passed in by the forms API\n this.onChange = (val) => { };\n this.onTouched = () => { };\n }\n ngOnInit() {\n this.initForm();\n this.setListeners();\n this.initStateOptionList();\n }\n ngOnChanges(changes) {\n if (changes.countryCode &&\n changes.countryCode.previousValue &&\n changes.countryCode.currentValue &&\n changes.countryCode.previousValue !== changes.countryCode.currentValue) {\n this.stateSelect.setValue('');\n this.onTouched();\n this.onChange('');\n this.ngOnInit();\n }\n }\n // From the ControlValueAccessor interface\n writeValue(value) {\n this.stateSelect.setValue(value);\n }\n // From the ControlValueAccessor interface\n registerOnChange(fn) {\n this.onChange = fn;\n }\n // From the ControlValueAccessor interface\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n initForm() {\n if (this.isRequired) {\n this.stateSelect.setValidators([Validators.required]);\n }\n this.stateSelectForm = new FormGroup({\n stateSelect: this.stateSelect\n });\n }\n setListeners() {\n this.stateSelectForm.valueChanges.subscribe(() => {\n this.onTouched();\n this.onChange(this.stateSelect.value);\n });\n }\n initStateOptionList() {\n this.optionList = this.states;\n this.label = 'State';\n if (this.countryCode && this.countryCode === this.countryListLookup.CAN.code) {\n this.optionList = this.provinces;\n this.label = 'Province';\n }\n }\n}\nStateSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: StateSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nStateSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: StateSelectComponent, selector: \"phaas-ngcommon-state-select\", inputs: { isRequired: \"isRequired\", showLabel: \"showLabel\", hint: \"hint\", countryCode: \"countryCode\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StateSelectComponent),\n multi: true\n }\n ], usesOnChanges: true, ngImport: i0, template: \"\\n {{label}}\\n \\n \\n \\n {{state.code}} - {{state.name}}\\n \\n \\n This field is required\\n {{hint}}\\n\\n\", styles: [\".state-field .mat-form-field-infix{padding-bottom:5px}.state-select__option{font-size:16px}\\n\"], components: [{ type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i2.MatSelect, selector: \"mat-select\", inputs: [\"disabled\", \"disableRipple\", \"tabIndex\"], exportAs: [\"matSelect\"] }, { type: i3.MatOption, selector: \"mat-option\", exportAs: [\"matOption\"] }], directives: [{ type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i4.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i1.MatLabel, selector: \"mat-label\" }, { type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i4.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i5.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i5.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i1.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: StateSelectComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcommon-state-select',\n templateUrl: './state-select.component.html',\n styleUrls: ['./state-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StateSelectComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n }]\n }], propDecorators: { isRequired: [{\n type: Input\n }], showLabel: [{\n type: Input\n }], hint: [{\n type: Input\n }], countryCode: [{\n type: Input\n }] } });\n\nclass CountrySelectComponent {\n constructor() {\n this.countryLookupList = countryListLookup;\n this.optionList = [];\n this.countrySelectForm = new FormGroup({});\n this.countrySelect = new FormControl('');\n // References to callback functions passed in by the forms API\n this.onChange = (val) => { };\n this.onTouched = () => { };\n }\n ngOnInit() {\n Object.keys(this.countryLookupList).map((key) => {\n this.optionList.push({ code: this.countryLookupList[key].code, name: this.countryLookupList[key].name });\n return this.optionList;\n });\n this.initForm();\n this.setListeners();\n }\n // From the ControlValueAccessor interface\n writeValue(value) {\n this.countrySelect.setValue(value);\n }\n // From the ControlValueAccessor interface\n registerOnChange(fn) {\n this.onChange = fn;\n }\n // From the ControlValueAccessor interface\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n initForm() {\n this.countrySelect = new FormControl();\n this.countrySelectForm = new FormGroup({\n countrySelect: this.countrySelect\n });\n }\n setListeners() {\n this.countrySelectForm.valueChanges.subscribe(() => {\n this.onTouched();\n this.onChange(this.countrySelect.value);\n });\n }\n}\nCountrySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CountrySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nCountrySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: CountrySelectComponent, selector: \"phaas-ngcommon-country-select\", providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CountrySelectComponent),\n multi: true\n }\n ], ngImport: i0, template: \"\\n Country\\n \\n \\n {{option.name}}\\n \\n \\n\\n\", styles: [\".country-field .mat-form-field-infix{padding-bottom:5px}.country-select__option{font-size:16px}\\n\"], components: [{ type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i2.MatSelect, selector: \"mat-select\", inputs: [\"disabled\", \"disableRipple\", \"tabIndex\"], exportAs: [\"matSelect\"] }, { type: i3.MatOption, selector: \"mat-option\", exportAs: [\"matOption\"] }], directives: [{ type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i4.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i1.MatLabel, selector: \"mat-label\" }, { type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i4.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i5.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CountrySelectComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcommon-country-select',\n templateUrl: './country-select.component.html',\n styleUrls: ['./country-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CountrySelectComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n }]\n }] });\n\nclass AddressInformation {\n constructor(street, city, state, zip, country) {\n this.street = '';\n this.city = '';\n this.state = '';\n this.zip = '';\n this.country = '';\n this.street = street;\n this.city = city;\n this.state = state;\n this.zip = zip;\n this.country = country;\n }\n}\nclass AddressFormComponent {\n constructor() {\n this.addressFormFieldsRequired = false;\n this.currencyCode = 'USD';\n this.addressInformation = new EventEmitter();\n this.countryLookupList = countryListLookup;\n this.addressForm = new FormGroup({});\n this.street = new FormControl('');\n this.city = new FormControl('');\n this.stateSelect = new FormControl('');\n this.zipCode = new FormControl('', [ZipCodeValidator(this.countryLookupList.USA.code)]);\n this.countrySelect = new FormControl(this.countryLookupList.USA.code);\n this.onChange = (val) => { };\n this.onTouched = () => { };\n }\n ngOnInit() {\n if (this.currencyCode === 'CAD') {\n this.addressFormFieldsRequired = true;\n }\n this.initForm();\n }\n writeValue(value) {\n if (value) {\n this.street.setValue(value.street);\n this.city.setValue(value.city);\n this.stateSelect.setValue(value.state);\n this.zipCode.setValue(value.zip);\n this.countrySelect.setValue(value.country);\n }\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n getZipCodeLabel() {\n var _a;\n return (((_a = this.countrySelect) === null || _a === void 0 ? void 0 : _a.value) === this.countryLookupList.CAN.code) ?\n this.countryLookupList.CAN.zipCodeLabel : this.countryLookupList.USA.zipCodeLabel;\n }\n initForm() {\n if (this.addressFormFieldsRequired) {\n this.street.setValidators([Validators.required]);\n this.city.setValidators([Validators.required]);\n this.stateSelect.setValidators([Validators.required]);\n this.zipCode.setValidators([Validators.required, ZipCodeValidator(this.countryLookupList.USA.code)]);\n this.countrySelect.setValidators([Validators.required]);\n }\n this.addressForm = new FormGroup({\n street: this.street,\n city: this.city,\n stateSelect: this.stateSelect,\n zipCode: this.zipCode,\n countrySelect: this.countrySelect\n });\n this.countrySelect.valueChanges.subscribe(value => {\n this.onTouched();\n this.zipCode.setValidators(ZipCodeValidator(value));\n if (this.addressFormFieldsRequired) {\n this.zipCode.setValidators([Validators.required, ZipCodeValidator(value)]);\n }\n this.zipCode.updateValueAndValidity();\n if (this.zipCode.invalid) {\n this.zipCode.setValue('');\n this.zipCode.markAsUntouched();\n }\n });\n if (this.currencyCode === 'CAD') {\n this.countrySelect.setValue(this.countryLookupList.CAN.code);\n }\n this.addressForm.valueChanges.subscribe(() => {\n if (!this.addressForm.valid) {\n this.outputFormData(null);\n return;\n }\n this.outputFormData(new AddressInformation(this.street.value, this.city.value, this.stateSelect.value, this.zipCode.value, this.countrySelect.value));\n });\n }\n outputFormData(data) {\n this.onChange(data);\n this.addressInformation.emit(data);\n }\n}\nAddressFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nAddressFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: AddressFormComponent, selector: \"phaas-ngcommon-address-form\", inputs: { addressFormFieldsRequired: \"addressFormFieldsRequired\", currencyCode: \"currencyCode\" }, outputs: { addressInformation: \"addressInformation\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddressFormComponent),\n multi: true\n }\n ], ngImport: i0, template: \"
\\n \\n \\n \\n Street is required.\\n \\n \\n\\n
\\n \\n \\n \\n City is required.\\n \\n \\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n {{getZipCodeLabel()}} is invalid.\\n \\n {{getZipCodeLabel()}} is required.\\n \\n \\n\\n
\\n \\n \\n
\\n
\\n\\n\", styles: [\".address-form{width:100%}.address-form__name-field{width:100%;margin-top:10px}.address-form__street-field{width:100%}@media only screen and (min-width: 500px){.address-form__city-state-container{max-width:100%;display:flex;flex-direction:row}.address-form__city-field{width:50%}.address-form__state-field{padding-top:2px;padding-left:16px;width:50%}}@media only screen and (min-width: 500px){.address-form__zip-country-container{max-width:100%;display:flex;flex-direction:row}.address-form__zip-field{width:50%}.address-form__country-field{padding-top:2px;padding-left:16px;width:50%}}.mat-form-field-infix{width:auto}.mat-form-field{width:100%}\\n\"], components: [{ type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: StateSelectComponent, selector: \"phaas-ngcommon-state-select\", inputs: [\"isRequired\", \"showLabel\", \"hint\", \"countryCode\"] }, { type: CountrySelectComponent, selector: \"phaas-ngcommon-country-select\" }], directives: [{ type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i4.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i5$1.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i4.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i5.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.MatError, selector: \"mat-error\", inputs: [\"id\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngcommon-address-form',\n templateUrl: './address-form.component.html',\n styleUrls: ['./address-form.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddressFormComponent),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { addressFormFieldsRequired: [{\n type: Input\n }], currencyCode: [{\n type: Input\n }], addressInformation: [{\n type: Output\n }] } });\n\n// Core Modules\nclass AddressFormModule {\n}\nAddressFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nAddressFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormModule, declarations: [AddressFormComponent,\n StateSelectComponent,\n CountrySelectComponent], imports: [CommonModule,\n //\n ReactiveFormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule\n //\n ], exports: [AddressFormComponent] });\nAddressFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormModule, providers: [], imports: [[\n CommonModule,\n //\n ReactiveFormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule\n //\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AddressFormModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n AddressFormComponent,\n StateSelectComponent,\n CountrySelectComponent,\n ],\n providers: [],\n imports: [\n CommonModule,\n //\n ReactiveFormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule\n //\n ],\n exports: [\n AddressFormComponent\n ]\n }]\n }] });\n\nclass AsyncDefaultPipe {\n transform(value, defaultValue) {\n return value ? value : of(defaultValue);\n }\n}\nAsyncDefaultPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncDefaultPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncDefaultPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncDefaultPipe, name: \"asyncDefault\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncDefaultPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'asyncDefault' }]\n }] });\n\nclass AsyncModule {\n}\nAsyncModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nAsyncModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncModule, declarations: [AsyncDefaultPipe], exports: [AsyncDefaultPipe] });\nAsyncModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncModule, providers: [], imports: [[]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AsyncModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n AsyncDefaultPipe\n ],\n providers: [],\n imports: [],\n exports: [\n AsyncDefaultPipe\n ]\n }]\n }] });\n\n/**\n * Transforms a number to a currency string formatted with the '$' (USD) symbol (default) and either 0 or 2 digits after the decimal\n *\n * Usages:\n * {{ value | commonCurrency }}\n * Examples:\n * 12 -> $12\n * 12.5 -> $12.50\n * 12.00 -> $12\n *\n * ---------------------------------------------------------------------\n *\n * Transforms based on the user-specified currency code and either 0 or 2 digits after the decimal\n *\n * Usages:\n * {{ value | commonCurrency:currencyCode }}\n * Examples:\n * 12 & 'USD' -> $12\n * 12.5 & 'EUR' -> €12.50\n * 12.00 & 'INR` -> ₹12\n *\n * ---------------------------------------------------------------------\n *\n * Transforms based on the user-specified currency code and number of digits ater the decimal if the parameters are set\n *\n * Usages:\n * {{ value | commonCurrency:currencyCode:numberOfDigits }}\n * Examples:\n * 12, 'USD', & 2 -> $12.00\n * 12.25, 'EUR`, & 0 -> €12\n * 12.00, 'INR', & 0 -> ₹12\n */\nclass ExtendedCurrencyPipe {\n constructor(angularCurrencyPipe) {\n this.angularCurrencyPipe = angularCurrencyPipe;\n }\n transform(value, currencyCode = 'USD', numberOfDigits) {\n if (!value && value !== 0) {\n return null;\n }\n if (numberOfDigits || numberOfDigits === 0) {\n // use user-defined digits after decimal\n return this.angularCurrencyPipe.transform(value, currencyCode, 'symbol', `1.${numberOfDigits}-${numberOfDigits}`);\n }\n else if (value % 1 > 0) {\n // number is not whole, show 2 digits after the decimal\n return this.angularCurrencyPipe.transform(value, currencyCode, 'symbol', '1.2-2');\n }\n else {\n // number is whole, no need for digits after decimal\n return this.angularCurrencyPipe.transform(value, currencyCode, 'symbol', '1.0-0');\n }\n }\n}\nExtendedCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ExtendedCurrencyPipe, deps: [{ token: i5.CurrencyPipe }], target: i0.ɵɵFactoryTarget.Pipe });\nExtendedCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ExtendedCurrencyPipe, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ExtendedCurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency'\n }]\n }], ctorParameters: function () { return [{ type: i5.CurrencyPipe }]; } });\n\nclass CurrencyModule {\n}\nCurrencyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrencyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCurrencyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrencyModule, declarations: [ExtendedCurrencyPipe], imports: [CommonModule], exports: [ExtendedCurrencyPipe] });\nCurrencyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrencyModule, providers: [\n CurrencyPipe,\n ExtendedCurrencyPipe,\n ], imports: [[\n CommonModule,\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrencyModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n ExtendedCurrencyPipe,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n ExtendedCurrencyPipe,\n ],\n providers: [\n CurrencyPipe,\n ExtendedCurrencyPipe,\n ]\n }]\n }] });\n\nclass RefreshTokenInput {\n constructor(refreshToken) {\n this.refreshToken = refreshToken;\n }\n}\nclass RoleWithContext {\n constructor(role, context) {\n this.role = role;\n this.context = {};\n if (context) {\n for (const c of context) {\n this.context[c.key] = c.value;\n }\n }\n }\n static fromGenericObject(roleObject) {\n const newRole = new RoleWithContext(roleObject.role);\n const context = roleObject.context;\n if (context) {\n if (Array.isArray(context)) {\n for (const c of context) {\n if (c.hasOwnProperty('Key') && c.hasOwnProperty('Value')) {\n newRole.context[c.Key] = c.Value;\n }\n }\n }\n else {\n for (const key of Object.keys(context)) {\n newRole.context[key] = context[key];\n }\n }\n }\n return newRole;\n }\n getContextValue(key) {\n return this.context ? this.context[key] || '' : '';\n }\n hasContextValue(key, value) {\n const contextValue = this.context ? this.context[key] : '';\n return contextValue === value;\n }\n}\nclass Context {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n }\n}\n\nconst WindowInjectionToken = new InjectionToken('Window API', {\n factory: () => window,\n providedIn: 'root'\n});\n\n// @dynamic - this prevents build errors due to the WindowInjectionToken using the Window interface\nclass EnvironmentService {\n constructor(window) {\n this.window = window;\n this.environmentDataSubject = new AsyncSubject();\n this.environmentData = this.environmentDataSubject.asObservable();\n this.loadEnvironmentData();\n }\n /**\n * Gets the url of the requested phaas service with the path appended.\n * See @see getServiceURL for additional detail.\n *\n * @param subdomain The subdomain for the Phaas service (e.g. 'org' or 'phaas-org-api')\n * @param path The path for the desired URL\n *\n * @return An observable of the service url.\n */\n getURL(subdomain, path) {\n return this.getServiceURL(subdomain).pipe(map((serviceURL) => {\n serviceURL = this.trimEndSlash(serviceURL);\n path = this.trimStartSlash(path);\n return `${serviceURL}/${path}`;\n }));\n }\n /**\n * Gets the url of the requested phaas service. If the requested url is defined\n * in the 'urls' of the loaded environment.json, that will be used. Otherwise, the\n * subdomain will be prepended to the baseDomain from the environment.json.\n *\n * @param subdomain The subdomain for the Phaas service (e.g. 'org' or 'phaas-org-api')\n *\n * @return An observable of the service url.\n */\n getServiceURL(subdomain) {\n return this.environmentData.pipe(map((environmentData) => {\n if (environmentData.urls[subdomain]) {\n return environmentData.urls[subdomain];\n }\n return `https://${subdomain}.${environmentData.baseDomain}`;\n }));\n }\n /**\n * Gets the appParam matching the provided param name. If no param is found,\n * an empty string will be returned.\n *\n * @param paramName The name of the appParam to get.\n *\n * @return An observable of the appParam.\n */\n getAppParam(paramName) {\n return this.environmentData.pipe(map((environmentData) => {\n return environmentData.appParams[paramName] || '';\n }));\n }\n trimStartSlash(val) {\n return val.replace(/^\\/+/g, '');\n }\n trimEndSlash(val) {\n return val.replace(/\\/+$/g, '');\n }\n loadEnvironmentData() {\n const preloadedEnvironmentData = this.window.phaasEnvironment;\n const environmentPresent = !!preloadedEnvironmentData;\n if (environmentPresent) {\n this.environmentDataSubject.next(preloadedEnvironmentData);\n this.environmentDataSubject.complete();\n }\n else {\n this.window.fetch('environment.json').then(res => res.json()).then((environmentData) => {\n this.environmentDataSubject.next(environmentData);\n this.environmentDataSubject.complete();\n });\n }\n }\n}\nEnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentService, deps: [{ token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable });\nEnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; } });\n\nclass EnvironmentModule {\n}\nEnvironmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nEnvironmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentModule, imports: [HttpClientModule] });\nEnvironmentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentModule, providers: [\n EnvironmentService\n ], imports: [[\n HttpClientModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n HttpClientModule\n ],\n providers: [\n EnvironmentService\n ]\n }]\n }] });\n\nclass CurrentUserModule {\n}\nCurrentUserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCurrentUserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserModule, imports: [EnvironmentModule,\n HttpClientModule] });\nCurrentUserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserModule, providers: [], imports: [[\n EnvironmentModule,\n HttpClientModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n EnvironmentModule,\n HttpClientModule\n ],\n providers: []\n }]\n }] });\n\nclass AuthIFrameMessage {\n constructor(type, data) {\n this.type = type;\n this.data = data;\n }\n}\nclass AuthTokens {\n constructor(accessToken, refreshToken) {\n this.accessToken = accessToken;\n this.refreshToken = refreshToken;\n }\n}\n// @dynamic - this prevents build errors due to the WindowInjectionToken using the Window interface\nclass CentralAuthStoreService {\n constructor(window, env) {\n this.window = window;\n this.env = env;\n this.setTokensSubjects = [];\n this.getTokensSubjects = [];\n // cache our tokens here, no reason to keep requesting them from the iframe since\n // all future sets would come through here.\n this.currentTokens = null;\n this.oneFetchRunning = false;\n this.authIFrameLoadedSubject = new AsyncSubject();\n this.initializationComplete = this.authIFrameLoadedSubject.asObservable();\n this.listenForIFrameMessages();\n this.loadIFrame();\n }\n setTokens(accessToken, refreshToken) {\n const tokens = new AuthTokens(accessToken, refreshToken);\n // if our token is not changing, don't bother updating the iframe\n if (this.currentTokens && this.currentTokens.accessToken === accessToken) {\n return of(null);\n }\n // cache these tokens for future calls from this same page\n this.currentTokens = tokens;\n const setTokensSubject = new AsyncSubject();\n this.postMessage(new AuthIFrameMessage('setTokens', tokens));\n this.setTokensSubjects.push(setTokensSubject);\n return setTokensSubject.asObservable();\n }\n getTokens() {\n if (this.currentTokens) {\n return of(this.currentTokens);\n }\n // have not retrieved the iframe tokens yet -- go grab them\n const getTokenSubject = new AsyncSubject();\n this.getTokensSubjects.push(getTokenSubject);\n // only run one getTokens -- after this initial fetch it will always\n // be updated by a setTokens call\n if (!this.oneFetchRunning) {\n this.oneFetchRunning = true;\n this.postMessage(new AuthIFrameMessage('getTokens'));\n }\n return getTokenSubject.asObservable();\n }\n resetCache() {\n this.currentTokens = null;\n this.oneFetchRunning = false;\n }\n postMessage(message) {\n var _a;\n (_a = this.initializationComplete) === null || _a === void 0 ? void 0 : _a.subscribe(() => {\n var _a, _b;\n (_b = (_a = this.authIFrame) === null || _a === void 0 ? void 0 : _a.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message, '*');\n });\n }\n processIframeInitMessage() {\n this.authIFrameLoadedSubject.next();\n this.authIFrameLoadedSubject.complete();\n }\n processGetTokensMessage(message) {\n const tokens = message.data;\n // update our local cache\n this.currentTokens = tokens;\n this.getTokensSubjects = this.getTokensSubjects.filter((sub) => {\n sub.next(tokens);\n sub.complete();\n return false;\n });\n }\n processSetTokensMessage() {\n this.setTokensSubjects.forEach((sub) => {\n sub.next(this.currentTokens);\n sub.complete();\n });\n this.setTokensSubjects = this.setTokensSubjects.filter((sub) => {\n return !sub.closed;\n });\n }\n listenForIFrameMessages() {\n this.window.addEventListener('message', (event) => {\n const message = event.data;\n switch (message.type) {\n case 'listening:getTokens':\n this.processIframeInitMessage();\n break;\n case 'getTokens:result':\n this.processGetTokensMessage(message);\n break;\n case 'setTokens:complete':\n this.processSetTokensMessage();\n break;\n }\n });\n }\n loadIFrame() {\n if (this.authIFrame) {\n // don't reload it\n return;\n }\n this.env.getServiceURL('auth').subscribe((authURL) => {\n this.authIFrame = this.window.document.createElement('iframe');\n this.authIFrame.setAttribute('src', `${authURL}/assets/central-auth-store.html`);\n this.authIFrame.style.width = '640px';\n this.authIFrame.style.height = '480px';\n this.authIFrame.style.display = 'none';\n this.window.document.body.appendChild(this.authIFrame);\n });\n }\n}\nCentralAuthStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CentralAuthStoreService, deps: [{ token: WindowInjectionToken }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });\nCentralAuthStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CentralAuthStoreService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CentralAuthStoreService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }, { type: EnvironmentService }]; } });\n\nclass AccessToken {\n constructor(jsonToken) {\n if (jsonToken) {\n const parsedToken = JSON.parse(jsonToken);\n this.exp = parsedToken.exp;\n this.getroles = parsedToken.getroles;\n this.partial = parsedToken.partial;\n if (parsedToken.roles) {\n this.roles = JSON.parse(parsedToken.roles);\n }\n else {\n this.roles = [];\n }\n }\n }\n}\nclass UpdateProfileInput {\n}\nclass UpdateProfileOutput {\n}\nconst ERR_UNAUTHENTICATED = 'unauthenticated';\n// @dynamic - this prevents build errors due to the WindowInjectionToken using the Window interface\nclass CurrentUserService {\n constructor(window, env, authStore, httpClient) {\n this.window = window;\n this.env = env;\n this.authStore = authStore;\n this.httpClient = httpClient;\n this.isLoggedIn$ = new BehaviorSubject(false);\n this.profile$ = null;\n this.roles$ = null;\n this.refresh$ = null;\n // make sure isLoggedIn is accurate;\n this.getTokens('self::ngOnInit').subscribe((t) => {\n this.isLoggedIn$.next(!!t && !!t.accessToken);\n }, (err) => {\n if (err === ERR_UNAUTHENTICATED) {\n this.isLoggedIn$.next(false);\n }\n });\n }\n /**\n * Returns subject that sends a bool if we currently have a token (may be expired)\n */\n isLoggedIn() {\n return this.isLoggedIn$;\n }\n /**\n * Returns the `accessToken` and `refreshToken` for the currently logged in user.\n * If the accesssToken is expired, it attempts a refresh.\n * If the user is not logged in or the tokens are expired, the error `ERR_UNAUTHENTICATED` will be returned.\n */\n getTokens(callFrom) {\n return this.authStore.getTokens().pipe(mergeMap((tokens) => {\n if (!tokens || !tokens.accessToken) {\n callFrom = callFrom || 'unknown';\n console.log(`no tokens (${callFrom})`);\n return throwError(ERR_UNAUTHENTICATED);\n }\n const accessToken = this.parseToken(tokens.accessToken);\n const currTime = new Date().valueOf();\n if ((accessToken.exp || 0) * 1000 < currTime) {\n // access token is expired, try a refresh\n return this.refreshTokens().pipe(mergeMap(() => this.authStore.getTokens()));\n }\n return of(tokens);\n }));\n }\n /**\n * Resets all cached items.\n */\n resetCache() {\n this.profile$ = null;\n this.roles$ = null;\n this.refresh$ = null;\n this.authStore.resetCache();\n }\n /**\n * Refreshes the tokens for the logged in user using the `refreshToken`.\n *\n * If the user is not logged in or the tokens are expired, the error `ERR_UNAUTHENTICATED` will be returned.\n */\n refreshTokens() {\n // cache the refresh call until our tokens are changed\n if (!this.refresh$) {\n this.refresh$ = this.authStore.getTokens().pipe(mergeMap((tokens) => {\n if (!tokens || !tokens.accessToken) {\n return throwError(ERR_UNAUTHENTICATED);\n }\n return this.callRefreshToken(tokens.refreshToken);\n }), finalize(() => this.refresh$ = null), shareReplay(1));\n }\n return this.refresh$;\n }\n /**\n * Sets the accessToken and refreshToken to the respective tokens provided\n *\n * @param accessToken string\n * @param refreshToken string\n */\n updateTokens(accessToken, refreshToken) {\n console.log('updating access tokens:', !!accessToken);\n accessToken = accessToken || '';\n refreshToken = refreshToken || '';\n return this.authStore.setTokens(accessToken, refreshToken).pipe(tap(() => {\n this.isLoggedIn$.next(!!accessToken);\n // tokens have changed, make sure we get new cache values\n this.resetCache();\n }));\n }\n /**\n * Logs the user out by deleting their tokens and taking them to the login page.\n *\n * @returns a promise that resolves after redirecting to the login page.\n */\n logout() {\n return new Promise((resolve) => {\n this.authStore.setTokens('', '').subscribe(() => {\n // set these after we no longer have tokens so there is no chance a race condition would be setting them back\n this.isLoggedIn$.next(false);\n this.resetCache();\n this.goToLogin().then(_ => resolve());\n });\n });\n }\n /**\n * Takes the user to the login page and sets the refering page to the current page.\n *\n * @returns a promise that resolves after redirecting to the login page.\n */\n goToLogin() {\n return new Promise((resolve) => {\n this.env.getURL('auth', 'login').subscribe((loginPageURL) => {\n const currentPage = this.window.location.href;\n if (!currentPage.startsWith(loginPageURL)) {\n this.window.location.assign(`${loginPageURL}?referrer=${currentPage}`);\n }\n resolve();\n });\n });\n }\n /**\n * Takes the user to the no-access page in auth-ui\n *\n * @returns a promise that resolves after redirecting to the no-access page.\n */\n goToNoAccess() {\n return new Promise((resolve) => {\n this.env.getURL('auth', 'no-access').subscribe((url) => {\n const currentPage = this.window.location.href;\n if (!currentPage.startsWith(url)) {\n this.window.location.assign(url);\n }\n resolve();\n });\n });\n }\n /**\n * Returns the profile of the logged in user.\n *\n * If the user is not logged in or the tokens are expired, the error `ERR_UNAUTHENTICATED` will be returned.\n */\n getProfile(callFrom) {\n if (!this.profile$) {\n this.profile$ = this.getTokens(`currentUser::getProfile(${callFrom})`).pipe(mergeMap((tokens) => {\n if (!tokens || !tokens.accessToken) {\n return throwError(ERR_UNAUTHENTICATED);\n }\n console.log('Fetching profile');\n const authorizationHeader = new HttpHeaders().set('Authorization', `Bearer ${tokens.accessToken}`);\n const url = `env:phaas-auth-api/profile`;\n return this.httpClient.get(url, { headers: authorizationHeader }).pipe(map((res) => res.payload || null));\n }), shareReplay(1));\n }\n return this.profile$;\n }\n /**\n * Update auth profile and clear profile cache for authenticated user\n *\n * @param input UpdateProfileInput\n */\n updateProfile(input, callFrom) {\n return this.getTokens(`currentUser::updateProfile(${callFrom})`).pipe(mergeMap((tokens) => {\n if (!tokens || !tokens.accessToken) {\n return throwError(ERR_UNAUTHENTICATED);\n }\n return this.callUpdateProfile(input, (tokens === null || tokens === void 0 ? void 0 : tokens.accessToken) || '');\n }));\n }\n /**\n * Returns the roles of the logged in user.\n *\n * If the user is not logged in or the tokens are expired, the error `ERR_UNAUTHENTICATED` will be returned.\n */\n getRoles(callFrom) {\n if (!this.roles$) {\n this.roles$ = this.getTokens(`currentUser::getRoles(${callFrom}`).pipe(mergeMap((tokens) => {\n if (!tokens || !tokens.accessToken) {\n return throwError(ERR_UNAUTHENTICATED);\n }\n const parsedToken = this.parseToken(tokens.accessToken);\n if (parsedToken.partial) {\n return this.getFullRolesList(tokens.accessToken);\n }\n else {\n const roles = [];\n for (const role of (parsedToken === null || parsedToken === void 0 ? void 0 : parsedToken.roles) || []) {\n roles.push(RoleWithContext.fromGenericObject(role));\n }\n return of(roles);\n }\n }), shareReplay(1));\n }\n return this.roles$;\n }\n callUpdateProfile(input, accessToken) {\n const authorizationHeader = new HttpHeaders().set('Authorization', `Bearer ${accessToken}`);\n const url = `env:phaas-auth-api/profile`;\n console.log('Updating profile');\n return this.httpClient.post(url, input, { headers: authorizationHeader }).pipe(map(res => {\n this.profile$ = null;\n return res.payload || null;\n }));\n }\n callRefreshToken(refreshToken) {\n if (!refreshToken) {\n return throwError(ERR_UNAUTHENTICATED);\n }\n const parsedToken = this.parseToken(refreshToken);\n if (((parsedToken === null || parsedToken === void 0 ? void 0 : parsedToken.exp) || 0) * 1000 < new Date().valueOf()) {\n // refresh token is expired\n return throwError(ERR_UNAUTHENTICATED);\n }\n console.log('Get new refresh tokens');\n const tokenRefreshBody = new RefreshTokenInput(refreshToken);\n return this.httpClient.post(`env:phaas-auth-api/refresh`, tokenRefreshBody).pipe(mergeMap((response) => {\n var _a, _b;\n this.roles$ = null;\n return this.authStore.setTokens(((_a = response.payload) === null || _a === void 0 ? void 0 : _a.accessToken) || '', ((_b = response.payload) === null || _b === void 0 ? void 0 : _b.refreshToken) || '');\n }), catchError((err) => {\n if (err.status === 401) {\n console.log('Refresh failed, clearing tokens');\n // token is no good, clear it out so we don't continually try to use it\n return this.authStore.setTokens('', '').pipe(mergeMap((_) => throwError(ERR_UNAUTHENTICATED)));\n }\n return throwError(err);\n }));\n }\n getFullRolesList(accessToken) {\n const authorizationHeader = new HttpHeaders().set('Authorization', `Bearer ${accessToken}`);\n const url = `env:phaas-auth-api/my-roles`;\n console.log('Fetching full roles');\n return this.httpClient.get(url, { headers: authorizationHeader })\n .pipe(map((res) => { var _a; return (((_a = res.payload) === null || _a === void 0 ? void 0 : _a.roles) || []).map((role) => RoleWithContext.fromGenericObject(role)); }), catchError((err) => {\n console.error('Failed fetching full role list: ', err);\n return throwError(err);\n }));\n }\n parseToken(accessToken) {\n const tokenPieces = accessToken.split('.');\n const payload = tokenPieces.length === 3 ? tokenPieces[1] : '';\n return new AccessToken(this.window.atob(payload));\n }\n}\nCurrentUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserService, deps: [{ token: WindowInjectionToken }, { token: EnvironmentService }, { token: CentralAuthStoreService }, { token: i3$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nCurrentUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUserService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }, { type: EnvironmentService }, { type: CentralAuthStoreService }, { type: i3$1.HttpClient }]; } });\n\nclass AuthHttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\nfunction authHttpClientFactory(backend, interceptors = []) {\n /* eslint-disable @typescript-eslint/no-use-before-define */\n if (!interceptors) {\n return new AuthHttpClient(backend);\n }\n return new AuthHttpClient(interceptors.reduceRight((next, interceptor) => new AuthHttpInterceptorHandler(next, interceptor), backend));\n /* eslint-enable */\n}\nconst AUTH_HTTP_INTERCEPTORS = new InjectionToken('AuthHttpClient Interceptors');\nclass AuthHttpClient extends HttpClient {\n constructor(handler) {\n super(handler);\n }\n}\nAuthHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthHttpClient, deps: [{ token: i3$1.HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nAuthHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthHttpClient, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthHttpClient, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: i3$1.HttpHandler }]; } });\n\nconst CIRCULAR_SEND = 'logger-send-failed';\nclass HttpSender {\n constructor(sessionID, filter, sendUrl, currentUser) {\n this.sessionID = sessionID;\n this.filter = filter;\n this.sendUrl = sendUrl;\n this.currentUser = currentUser;\n this.sendQueue = [];\n if (!filter) {\n this.filter = this.defaultFilter;\n }\n }\n send(level, message, ...values) {\n if (message.indexOf(CIRCULAR_SEND) !== -1) {\n // don't get in a loop\n return;\n }\n this.filter(level, message, ...values).subscribe((yes) => {\n if (!yes) {\n return;\n }\n const strValues = (values || []).map((v) => {\n try {\n // Stringify might fail if the blob provided is a dom element or something.\n // Capture that and just attempt to log this value as a string.\n return JSON.stringify(v);\n }\n catch (err) {\n return String(v);\n }\n });\n this.sendQueue.push({\n url: window.location.href,\n level,\n message,\n values: strValues\n });\n // let a few logs stack up\n setTimeout(() => {\n this.doSend();\n }, 200);\n });\n }\n defaultFilter(level, message, ...values) {\n return of(true);\n }\n doSend() {\n try {\n this.sendUrl.subscribe((sendUrl) => {\n const req = new XMLHttpRequest();\n req.open('POST', sendUrl, true);\n req.setRequestHeader('Content-Type', 'application/json');\n req.onload = () => {\n setTimeout(() => { this.doSend(); }, 0);\n };\n req.onloadend = () => {\n if (req.status > 0 && req.status !== 200) {\n console.error(`${CIRCULAR_SEND}: ${req.status}`);\n }\n };\n req.setRequestHeader('BidPal-Correlation-Id', `ui:session=${this.sessionID}`);\n req.setRequestHeader('BidPal-Session-Id', this.sessionID);\n this.currentUser.getTokens('logging::httpsender')\n .pipe(catchError(() => of(null)))\n .subscribe((t) => {\n if (this.sendQueue.length === 0) {\n return;\n }\n // send up to 10 log messages at a time\n const payload = {\n logs: this.sendQueue.splice(0, 10),\n };\n if (t) {\n req.setRequestHeader('Authorization', `Bearer ${t.accessToken}`);\n }\n req.send(JSON.stringify(payload));\n }, (e) => {\n console.error(`${CIRCULAR_SEND}: `, e);\n });\n });\n }\n catch (e) {\n console.error(`${CIRCULAR_SEND}: `, e);\n }\n }\n}\n\nvar LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"TRACE\"] = 0] = \"TRACE\";\n LogLevel[LogLevel[\"DEBUG\"] = 1] = \"DEBUG\";\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\n})(LogLevel || (LogLevel = {}));\nclass LogLevelUtil {\n static toString(level) {\n switch (level) {\n case LogLevel.TRACE:\n return 'trace';\n case LogLevel.DEBUG:\n return 'debug';\n case LogLevel.INFO:\n return 'info';\n case LogLevel.WARN:\n return 'warn';\n case LogLevel.ERROR:\n return 'error';\n case LogLevel.SILENT:\n return 'silent';\n }\n return 'unknown';\n }\n}\n\nclass SessionIDService {\n constructor() { }\n getSessionID() {\n let sessionID = window.sessionStorage.getItem('logging-session-id');\n if (!sessionID) {\n sessionID = this.makeID(16);\n window.sessionStorage.setItem('logging-session-id', sessionID);\n }\n return sessionID;\n }\n makeID(length) {\n let result = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * characters.length));\n }\n return result;\n }\n}\nSessionIDService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nSessionIDService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass SessionIDModule {\n}\nSessionIDModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nSessionIDModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDModule });\nSessionIDModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDModule, providers: [\n SessionIDService\n ], imports: [[]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SessionIDModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n providers: [\n SessionIDService\n ]\n }]\n }] });\n\nclass LoggerService {\n constructor(currentUser, env, sessionIDService) {\n this.level = LogLevel.INFO;\n this.level = LogLevel.INFO;\n // log this to the console before dinking around with it\n const sessionID = sessionIDService.getSessionID();\n console.log(`logging with sessionID: ${sessionID}`);\n // configure our default http sender\n const getSendURL = env.getServiceURL('phaas-consolelog-api').pipe(map((u) => u + '/logs'));\n this.httpSender = new HttpSender(sessionID, this.filter, getSendURL, currentUser);\n // figure out what console has available\n this.consoleLog = console.log;\n if (!this.consoleLog) {\n this.consoleLog = (message, ...optionalParams) => {\n // very weird\n };\n }\n this.consoleError = console.error || this.consoleLog;\n this.consoleWarn = console.warn || this.consoleLog;\n /* eslint-disable no-console */\n this.consoleTrace = console.trace || this.consoleLog;\n const self = this;\n // turn any naked console.x messages into at least a console.log;\n // if console.log was never available...then meh\n console.log = (message, ...values) => {\n self.debug(message, ...values);\n };\n console.error = (message, ...values) => {\n self.error(message, ...values);\n };\n console.warn = (message, ...values) => {\n self.warn(message, ...values);\n };\n console.trace = (message, ...values) => {\n self.trace(message, ...values);\n };\n // grab some high level problems if they happen\n window.onerror = (...args) => {\n self.onerror(...args);\n };\n window.addEventListener('unhandledrejection', (ev) => {\n self.unhandledRejection(ev);\n });\n // we are fully initialized - send some basic logs\n this.logUserAgentInfo();\n this.logScreenInfo();\n }\n /**\n * Output trace message to console.\n * This will also include a full stack trace\n *\n * @param msg any data to log to the console\n */\n trace(message, ...values) {\n this.output(LogLevel.TRACE, message, ...values);\n }\n /**\n * Output debug message to console including appropriate icons.\n *\n * @param msg any data to log to the console\n */\n debug(message, ...values) {\n this.output(LogLevel.DEBUG, message, ...values);\n }\n /**\n * Output info message to console including appropriate icons\n *\n * @param msg any data to log to the console\n */\n info(message, ...values) {\n this.output(LogLevel.INFO, message, ...values);\n }\n /**\n * Output warn message to console including appropriate icons\n *\n * @param msg any data to log to the console\n */\n warn(message, ...values) {\n this.output(LogLevel.WARN, message, ...values);\n }\n /**\n * Output error message to console including appropriate icons\n *\n * @param msg any data to log to the console\n */\n error(message, ...values) {\n // errors contain stacks, make it so we can pass back a reasonable bit of information\n const cleanedData = [];\n [message, ...values].forEach((a) => {\n if (a === null || a === void 0 ? void 0 : a.stack) {\n cleanedData.push(a.stack.replace('\"', '\\\"'));\n }\n else if ((typeof a) === 'string') {\n if (a !== 'ERROR') {\n cleanedData.push(a);\n }\n }\n });\n const msg = cleanedData.shift();\n if (msg) {\n this.output(LogLevel.ERROR, msg, ...cleanedData);\n }\n }\n onerror(msg, url, lineNo, columnNo, error) {\n this.error(`unhandled window error [${lineNo}:${columnNo}]: `, msg, url, error);\n }\n unhandledRejection(ev) {\n this.error(`unhandled rejection: `, ev.reason.message);\n }\n output(level, message, ...values) {\n switch (level) {\n case LogLevel.ERROR:\n this.consoleError(`[${LogLevelUtil.toString(level)}]`, message, ...values);\n break;\n case LogLevel.TRACE:\n this.consoleTrace(`[${LogLevelUtil.toString(level)}]`, message, ...values);\n break;\n case LogLevel.WARN:\n this.consoleWarn(`[${LogLevelUtil.toString(level)}]`, message, ...values);\n break;\n default:\n this.consoleLog(`[${LogLevelUtil.toString(level)}]`, message, ...values);\n }\n if (this.level <= level) {\n this.httpSender.send(level, message, ...values);\n }\n }\n filter(level, message, ...values) {\n return of(true);\n }\n logScreenInfo() {\n const width = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\n this.info(`screen info: size=${width} by ${height};`);\n }\n logUserAgentInfo() {\n this.info(`user agent: ${navigator.userAgent}`);\n }\n}\nLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggerService, deps: [{ token: CurrentUserService }, { token: EnvironmentService }, { token: SessionIDService }], target: i0.ɵɵFactoryTarget.Injectable });\nLoggerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggerService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: CurrentUserService }, { type: EnvironmentService }, { type: SessionIDService }]; } });\n\nclass LoggingModule {\n}\nLoggingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nLoggingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggingModule, imports: [EnvironmentModule] });\nLoggingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggingModule, providers: [\n LoggerService\n ], imports: [[\n EnvironmentModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoggingModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n providers: [\n LoggerService\n ],\n imports: [\n EnvironmentModule\n ],\n exports: [],\n }]\n }] });\n\nclass LoggerServiceMock {\n trace(message, ...optionalParams) {\n console.log(message, ...optionalParams);\n }\n debug(message, ...optionalParams) {\n console.log(message, ...optionalParams);\n }\n info(message, ...optionalParams) {\n console.log(message, ...optionalParams);\n }\n error(message, ...optionalParams) {\n console.log(message, ...optionalParams);\n }\n warn(message, ...optionalParams) {\n console.log(message, ...optionalParams);\n }\n}\n\nclass AuthInterceptor {\n constructor(currentUserService, logger) {\n this.currentUserService = currentUserService;\n this.logger = logger;\n }\n intercept(request, next) {\n return this.currentUserService.getTokens(`fetch:${request.url}`).pipe(catchError((err) => {\n this.logger.warn(`user is not logged in for an authenticated request to '${request.url}'`);\n this.currentUserService.logout();\n return throwError(`user is not logged in for an authenticated request`);\n }), mergeMap((tokens) => {\n const authRequest = this.setAuthHeader(request, (tokens === null || tokens === void 0 ? void 0 : tokens.accessToken) || '');\n return next.handle(authRequest).pipe(catchError((err) => {\n if (!(err instanceof HttpErrorResponse) || err.status !== 401) {\n if (err.status >= 500) {\n this.logger.warn(`http error:${err.status} for ${request.method}:${request.url}`);\n }\n else {\n this.logger.info(`http error:${err.status} for ${request.method}:${request.url}`);\n }\n return throwError(err);\n }\n return this.currentUserService.refreshTokens().pipe(catchError((refreshErr) => {\n this.logger.warn(`refreshToken failed:${err.status} for ${request.method}:${request.url}`);\n this.logger.debug('will logout due to refreshToken failure');\n this.currentUserService.logout();\n return throwError(refreshErr);\n }), mergeMap(() => {\n return this.currentUserService.getTokens(`refresh:fetch:${request.url}`).pipe(mergeMap((refreshedTokens) => {\n const authRequestReattempt = this.setAuthHeader(request, (refreshedTokens === null || refreshedTokens === void 0 ? void 0 : refreshedTokens.accessToken) || '');\n return next.handle(authRequestReattempt);\n }));\n }));\n }));\n }));\n }\n setAuthHeader(request, accessToken) {\n return request.clone({ setHeaders: { Authorization: `Bearer ${accessToken}` } });\n }\n}\nAuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthInterceptor, deps: [{ token: CurrentUserService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });\nAuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthInterceptor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthInterceptor, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: CurrentUserService }, { type: LoggerService }]; } });\n\nclass EnvironmentInterceptor {\n constructor(environmentService) {\n this.environmentService = environmentService;\n this.regex = 'env:[^/]+';\n }\n intercept(request, next) {\n const environmentStub = request.url.match(this.regex);\n if (environmentStub) {\n return this.environmentService.getServiceURL(environmentStub.toString().split('env:')[1]).pipe(flatMap((domain) => {\n const req = request.clone({\n url: request.url.replace(environmentStub.toString(), domain)\n });\n return next.handle(req);\n }));\n }\n return next.handle(request);\n }\n}\nEnvironmentInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentInterceptor, deps: [{ token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });\nEnvironmentInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentInterceptor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: EnvironmentInterceptor, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: EnvironmentService }]; } });\n\nconst TimeZoneInjectionToken = new InjectionToken('TimeZone', {\n factory: () => Intl.DateTimeFormat().resolvedOptions().timeZone,\n providedIn: 'root'\n});\n\nclass TimeZoneInterceptor {\n constructor(timeZone) {\n this.timeZone = timeZone;\n }\n intercept(request, next) {\n const req = request.clone({\n setHeaders: { 'Bidpal-Timezone': this.timeZone }\n });\n return next.handle(req);\n }\n}\nTimeZoneInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: TimeZoneInterceptor, deps: [{ token: TimeZoneInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable });\nTimeZoneInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: TimeZoneInterceptor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: TimeZoneInterceptor, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [TimeZoneInjectionToken]\n }] }]; } });\n\nclass DowntimeInterceptor {\n constructor(window, environment) {\n this.window = window;\n this.environment = environment;\n }\n intercept(request, next) {\n return next.handle(request).pipe(catchError((error) => {\n if (this.shouldInterceptResponse(error)) {\n this.environment.getServiceURL('downtime').subscribe((url) => {\n this.window.location.assign(url);\n });\n }\n return throwError(error);\n }));\n }\n shouldInterceptResponse(error) {\n return error.status === 502 || error.status === 503 || error.status === 504;\n }\n}\nDowntimeInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: DowntimeInterceptor, deps: [{ token: WindowInjectionToken }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });\nDowntimeInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: DowntimeInterceptor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: DowntimeInterceptor, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }, { type: EnvironmentService }]; } });\n\nclass ForbiddenInterceptor {\n constructor() { }\n intercept(request, next) {\n return next.handle(request).pipe(catchError((error) => {\n if (this.shouldInterceptResponse(error)) {\n console.log('forbidden');\n // this.openForbiddenDialog();\n }\n return throwError(error);\n }));\n }\n shouldInterceptResponse(error) {\n return error.status === 403;\n }\n}\nForbiddenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ForbiddenInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nForbiddenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ForbiddenInterceptor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ForbiddenInterceptor, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass HttpModule {\n}\nHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: HttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: HttpModule, imports: [CurrentUserModule,\n EnvironmentModule,\n LoggingModule] });\nHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: HttpModule, providers: [\n {\n provide: AuthHttpClient,\n useFactory: authHttpClientFactory,\n deps: [HttpBackend, [new Optional(), new Inject(AUTH_HTTP_INTERCEPTORS)]],\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: EnvironmentInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: TimeZoneInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: DowntimeInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: ForbiddenInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: EnvironmentInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TimeZoneInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: DowntimeInterceptor,\n multi: true,\n },\n ], imports: [[\n CurrentUserModule,\n EnvironmentModule,\n LoggingModule,\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: HttpModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CurrentUserModule,\n EnvironmentModule,\n LoggingModule,\n ],\n providers: [\n {\n provide: AuthHttpClient,\n useFactory: authHttpClientFactory,\n deps: [HttpBackend, [new Optional(), new Inject(AUTH_HTTP_INTERCEPTORS)]],\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: EnvironmentInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: TimeZoneInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: DowntimeInterceptor,\n multi: true,\n },\n {\n provide: AUTH_HTTP_INTERCEPTORS,\n useClass: ForbiddenInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: EnvironmentInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TimeZoneInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: DowntimeInterceptor,\n multi: true,\n },\n ]\n }]\n }] });\n\nclass PhaasResponse {\n constructor(code, status, type, payload) {\n this.code = code;\n this.status = status;\n this.type = type;\n this.payload = payload;\n }\n}\nclass UserFriendlyError {\n /* eslint-enable */\n constructor(error) {\n this.message = '';\n this.fieldMessages = {};\n if (!error || !UserFriendlyError.isFriendlyError(error)) {\n this.message = '';\n this.fieldMessages = {};\n return;\n }\n let payload;\n if (error instanceof HttpErrorResponse) {\n payload = error.error.payload;\n }\n else {\n payload = error;\n }\n if (typeof payload === 'string' || payload instanceof String) {\n this.message = payload;\n this.fieldMessages = {};\n }\n else if (payload.message || payload.fieldMessages) {\n this.message = payload.message || '';\n this.fieldMessages = payload.fieldMessages || {};\n }\n }\n /* eslint-enable */\n static isFriendlyError(error) {\n if (error instanceof HttpErrorResponse) {\n return error.error && error.error.type === 'user' && error.error.payload;\n }\n return ((error instanceof String || typeof error === 'string') && error) ||\n error.message ||\n error.fieldMessages;\n }\n}\n\nconst DocumentInjectionToken = new InjectionToken('Document API', {\n factory: () => document,\n providedIn: 'root'\n});\n\nvar FilterComparator;\n(function (FilterComparator) {\n FilterComparator[\"Equal\"] = \"=\";\n FilterComparator[\"Contains\"] = \"%\";\n FilterComparator[\"StartsWith\"] = \"$\";\n FilterComparator[\"EndsWith\"] = \"^\";\n FilterComparator[\"LessThan\"] = \"<\";\n FilterComparator[\"LessThanEqualTo\"] = \"<=\";\n FilterComparator[\"GreaterThan\"] = \">\";\n FilterComparator[\"GreaterThanEqualTo\"] = \">=\";\n FilterComparator[\"NotEqual\"] = \"<>\";\n FilterComparator[\"IsNull\"] = \"IS NULL\";\n FilterComparator[\"IsNotNull\"] = \"IS NOT NULL\";\n FilterComparator[\"In\"] = \"IN\";\n FilterComparator[\"Between\"] = \"BETWEEN\";\n})(FilterComparator || (FilterComparator = {}));\nclass FilterParameter {\n constructor(field, comparator, value, group) {\n this.field = field;\n this.comparator = comparator;\n this.value = value;\n this.group = group;\n }\n}\nclass FilterGroup {\n}\nclass FilterOption {\n constructor(id, displayName, filterParameters, requiresValue) {\n this.id = id;\n this.displayName = displayName;\n this.filterParameters = filterParameters;\n this.requiresValue = requiresValue;\n }\n}\nclass Filter {\n constructor(id, displayName, options, selectedOption, value, enabled) {\n this.id = id;\n this.displayName = displayName;\n this.options = options;\n this.selectedOption = selectedOption || options[0];\n this.value = value !== null && value !== void 0 ? value : null;\n this.enabled = enabled || false;\n }\n}\nvar SortDirection;\n(function (SortDirection) {\n SortDirection[\"Ascending\"] = \"ASC\";\n SortDirection[\"Descending\"] = \"DESC\";\n SortDirection[\"None\"] = \"\";\n})(SortDirection || (SortDirection = {}));\nclass SortParameter {\n constructor(field, direction) {\n this.field = field;\n this.direction = direction;\n }\n}\nclass PagingInput {\n constructor() {\n this._take = 20;\n this._skip = 0;\n this._filters = [];\n this._sorts = [];\n }\n get take() {\n return this._take;\n }\n get skip() {\n return this._skip;\n }\n get filters() {\n return this._filters;\n }\n get sorts() {\n return this._sorts;\n }\n stringify() {\n const queryParam = {\n take: this._take,\n skip: this._skip,\n filters: this._filters,\n sorts: this._sorts\n };\n return JSON.stringify(queryParam);\n }\n Take(take) {\n if (take === undefined || take === null || !Number.isInteger(take) || take < 0) {\n return this;\n }\n this._take = take;\n return this;\n }\n Skip(skip) {\n if (skip === undefined || skip === null || !Number.isInteger(skip) || skip < 0) {\n return this;\n }\n this._skip = skip;\n return this;\n }\n Filter(filter) {\n if (filter === undefined || filter === null) {\n return this;\n }\n this._filters.push(filter);\n return this;\n }\n Filters(filters) {\n if (filters === undefined || filters === null) {\n return this;\n }\n this._filters = this._filters.concat(filters);\n return this;\n }\n Sort(sort) {\n if (sort === undefined || sort === null) {\n return this;\n }\n this._sorts.push(sort);\n return this;\n }\n Sorts(sorts) {\n if (sorts === undefined || sorts === null) {\n return this;\n }\n this._sorts = this._sorts.concat(sorts);\n return this;\n }\n FromPageObject(paging) {\n this.Take(paging.take);\n this.Skip(paging.skip);\n this.Filters(paging.filters);\n this.Sorts(paging.sorts);\n return this;\n }\n}\nclass PagingOutput {\n}\n\nclass PhoneNumberFormatter {\n static initializePhoneFormatter(control) {\n let formattedValue = '';\n control.valueChanges.subscribe((value) => {\n formattedValue = this.applyPhoneNumberMask(value);\n control.setValue(formattedValue, { emitEvent: false, emitViewToModelChange: false });\n });\n }\n static applyPhoneNumberMask(newValue) {\n let value = '';\n let area = '';\n let phoneNumber = '';\n let result = '';\n if (typeof newValue === 'string') {\n value = newValue.replace(/[^0-9]/g, '');\n if (value.length > 0) {\n if (value.length >= 1 && value.length <= 3) {\n area = value;\n }\n else {\n area = value.slice(0, 3);\n phoneNumber = value.slice(3, 10);\n }\n if (phoneNumber.length > 0) {\n if (phoneNumber.length > 3) {\n result = phoneNumber.slice(0, 3) + '-' + phoneNumber.slice(3, 7);\n }\n else {\n result = phoneNumber;\n }\n result = '(' + area + ') ' + result;\n }\n else {\n result = '(' + area;\n }\n }\n }\n return result || '';\n }\n}\n\nclass PhoneNumberDirective {\n constructor(control) {\n this.control = control;\n this.phoneControl = null;\n this.previousValue = '';\n }\n // Manually set the initial value\n ngOnInit() {\n var _a, _b;\n this.phoneControl = this.control.control;\n (_a = this.phoneControl) === null || _a === void 0 ? void 0 : _a.setValue(PhoneNumberFormatter.applyPhoneNumberMask(this.phoneControl.value || ''));\n this.previousValue = ((_b = this.phoneControl) === null || _b === void 0 ? void 0 : _b.value) || '';\n }\n change(event) {\n var _a;\n const target = event.target;\n const newVal = event.target.value || '';\n let cursorPosition = target.selectionStart;\n const maskedVal = PhoneNumberFormatter.applyPhoneNumberMask(newVal);\n const isBackspace = this.previousValue.length > maskedVal.length\n && !(this.previousValue.length > 3 && maskedVal.length === 2); // To handle highlighting and delete all. Cursor in awkward position otherwise\n cursorPosition = this.calculateCursorPosition(cursorPosition, isBackspace);\n (_a = this.phoneControl) === null || _a === void 0 ? void 0 : _a.setValue(maskedVal, { emitEvent: false, emitViewToModelChange: false });\n target.selectionStart = cursorPosition;\n target.selectionEnd = cursorPosition;\n this.previousValue = maskedVal;\n }\n calculateCursorPosition(cursorPosition, isBackspace) {\n const nonNumericPositions = [1, 5, 6, 10]; // based off of masked template\n // Increment/decrement the cursor an additional spot if it is at a non-numeric position after the mask\n if (!isBackspace) {\n nonNumericPositions.forEach(pos => {\n if (cursorPosition === pos) {\n cursorPosition++;\n }\n ;\n });\n }\n else {\n nonNumericPositions.reverse().forEach(pos => {\n if (cursorPosition === pos) {\n cursorPosition--;\n }\n ;\n });\n }\n return cursorPosition;\n }\n}\nPhoneNumberDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberDirective, deps: [{ token: i4.NgControl }], target: i0.ɵɵFactoryTarget.Directive });\nPhoneNumberDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PhoneNumberDirective, selector: \"[formControl][phaas-ngcommon-phone-number]\", host: { listeners: { \"input\": \"change($event)\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[formControl][phaas-ngcommon-phone-number]',\n }]\n }], ctorParameters: function () { return [{ type: i4.NgControl }]; }, propDecorators: { change: [{\n type: HostListener,\n args: ['input', ['$event']]\n }] } });\n\nclass PhoneNumberPipe {\n constructor() { }\n transform(value, defaultToInput) {\n if (typeof value === 'string') {\n const cleaned = value.replace(/\\D/g, '');\n const match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n return ['(', match[2], ') ', match[3], '-', match[4]].join('');\n }\n if (cleaned.length === 7) {\n return cleaned.slice(0, 3) + '-' + cleaned.slice(3, 7);\n }\n }\n return defaultToInput && value ? value : '';\n }\n}\nPhoneNumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nPhoneNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberPipe, name: \"phoneNumber\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'phoneNumber'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass PhoneNumberModule {\n}\nPhoneNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPhoneNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberModule, declarations: [PhoneNumberPipe,\n PhoneNumberDirective], exports: [PhoneNumberPipe,\n PhoneNumberDirective] });\nPhoneNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberModule, providers: [\n PhoneNumberPipe,\n PhoneNumberDirective,\n ] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PhoneNumberModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n PhoneNumberPipe,\n PhoneNumberDirective,\n ],\n providers: [\n PhoneNumberPipe,\n PhoneNumberDirective,\n ],\n exports: [\n PhoneNumberPipe,\n PhoneNumberDirective\n ]\n }]\n }] });\n\nfunction PhoneNumberValidator() {\n return (control) => {\n const value = control.value;\n if (value) {\n const PHONE_REGEXP = /^[(]{1}[0-9]{3}[)]{1}[ ]{1}[0-9]{3}[-]{1}[0-9]{4}$/;\n if (!PHONE_REGEXP.test(value)) {\n return { invalidPhone: true };\n }\n }\n return null;\n };\n}\n\n/* eslint-disable no-console */\n/**\n * The role and context values to be checked by `RoleGuard`\n *\n * @param role - the role to be checked\n * @param contextValuesFromPath - any context values from the path to be checked\n *\n * @method withContextValueFromPath - add a context value to check in the path\n */\nclass RoleToCheck {\n constructor(role, contextValuesFromPath) {\n this.role = role;\n this.contextValuesFromPath = contextValuesFromPath || [];\n }\n withContextValueFromPath(contextKey) {\n this.contextValuesFromPath.push(contextKey);\n return this;\n }\n}\n/**\n * Resctricts access to specific pages to specific roles, which can be set using an `allowedRoles` array\n * in the route's `data` property. The `allowedRoles` array must be an array of `RoleToCheck` objects.\n * If no `allowedRoles` are provided, it will check if the user is authenticated and redirect them to\n * the login page if not.\n *\n * To restrict access based on both role and context values in the path, provide the context keys for\n * all of the context values to check with `withContextValueFromPath()` on `RoleToCheck`.\n *\n * @example\n * {\n * path: 'path/:param',\n * component: SomeComponent,\n * canActivate: [RoleGuard],\n * data: {\n * allowedRoles: [\n * new RoleToCheck('some-role').withContextValueFromPath('param')),\n * new RoleToCheck('admin')\n * ]\n * },\n * children: []\n * }\n */\nclass RoleGuard {\n constructor(currentUserService) {\n this.currentUserService = currentUserService;\n }\n canActivate(route) {\n return this.hasAccess(route).pipe(map((hasAccess) => {\n if (!hasAccess) {\n this.currentUserService.goToNoAccess();\n return false;\n }\n return true;\n }));\n }\n canActivateChild(route) {\n return this.canActivate(route);\n }\n hasAccess(route) {\n return this.currentUserService.getRoles().pipe(map((userRoles) => {\n console.log('Verifying access to:', userRoles, route);\n if (route != null && route.data != null && route.data.allowedRoles != null && route.data.allowedRoles.length > 0) {\n const allowedRoles = route.data.allowedRoles;\n return userRoles.some((userRole) => this.isRoleAllowed(userRole, allowedRoles, route));\n }\n return true;\n }), catchError((err) => {\n console.log('Failed fetching roles to verify hasAccess: ', err);\n if (err === ERR_UNAUTHENTICATED) {\n console.log('User is not authenticated. Will redirect to login page.');\n this.currentUserService.logout().then();\n // logout will change the current url, so this return is only for type checking\n return of(true);\n }\n else {\n return throwError('[roleGuard] failed to get user roles', err);\n }\n }));\n }\n isRoleAllowed(userRole, allowedRoles, route) {\n console.debug('user role', userRole);\n return allowedRoles.some((allowedRole) => {\n console.debug(' evaluating against', allowedRole.role);\n if (userRole.role === allowedRole.role) {\n console.debug(' role names match, evaluate contexts', allowedRole.contextValuesFromPath);\n const result = allowedRole.contextValuesFromPath.every((key) => {\n const contextValue = userRole.getContextValue(key);\n const paramValue = route.paramMap.get(key);\n console.debug(' inner values', { key, contextValue, paramValue, });\n return contextValue === paramValue;\n });\n console.debug(' result', result);\n return result;\n }\n return false;\n });\n }\n}\nRoleGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: RoleGuard, deps: [{ token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Injectable });\nRoleGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: RoleGuard, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: RoleGuard, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: CurrentUserService }]; } });\n\nclass RGB {\n constructor(r, g, b) {\n this.r = r;\n this.g = g;\n this.b = b;\n }\n static fromHex(hexColor) {\n const bigint = parseInt(hexColor.replace('#', ''), 16);\n const rgb = new RGB((bigint >> 16) & 255, (bigint >> 8) & 255, bigint & 255);\n return rgb;\n }\n}\n\nclass ColorService {\n constructor() {\n this.primaries = new Map();\n }\n static getContrastingTextColor(hexColor, a) {\n const rgb = RGB.fromHex(hexColor);\n // W3C Color Contrast algorithm from http://www.w3.org/TR/AERT#color-contrast\n const o = Math.round(((rgb.r * 299) + (rgb.g * 587) + (rgb.b * 114)) / 1000);\n if (a) {\n return (o > 125) ? `rgba(12,9,28,${a})` : `rgba(255,255,255,${a})`;\n }\n else {\n return (o > 125) ? '#0C091C' : '#FFFFFF';\n }\n }\n static getThemeName(color) {\n return new String(color).replace('#', 'hash');\n }\n addPrimaryColorTheme(color) {\n const themeName = ColorService.getThemeName(color);\n if (this.primaries.has(themeName)) {\n return;\n }\n const style = document.createElement('style', {});\n this.primaries.set(themeName, style);\n const rgb = RGB.fromHex(color);\n const themeClassName = `phaas-theme-${themeName}`;\n console.log(`Adding primary theme for color ${color} under className ${themeClassName}`);\n style.appendChild(document.createTextNode(`.${themeClassName} .primary-color {color: ${color};}`));\n style.appendChild(document.createTextNode(`.${themeClassName} .primary-color-background {background: ${color};}`));\n style.appendChild(document.createTextNode(`.${themeClassName} .primary-color-transparent-background {background-color: rgb(${rgb.r}, ${rgb.g}, ${rgb.b}, .12)}`));\n style.appendChild(document.createTextNode(`.${themeClassName} .primary-color-border {border-color: ${color};}`));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-bottom-border {\n box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12),\n 0 4px 4px 0 rgba(0, 0, 0, 0.24),\n inset 0 -4px 0 0 ${color};\n }\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-left-border {\n box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12),\n 0 4px 4px 0 rgba(0, 0, 0, 0.24),\n inset 8px 0 0 0 ${color};\n }\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-mat-progress .mat-progress-bar-fill::after { background-color: ${color} }\n .${themeClassName} .primary-color-mat-progress .mat-progress-bar-buffer { background-color: rgb(${rgb.r}, ${rgb.g}, ${rgb.b}, .25) }\n .${themeClassName} .primary-color-mat-progress .mat-progress-bar-background { fill: white; background-color: white; }\n `));\n const contrastColor = ColorService.getContrastingTextColor(color);\n const setContrastingTextColor = `.${themeClassName} .contrasting-text-color {color: ${contrastColor};}`;\n style.appendChild(document.createTextNode(setContrastingTextColor));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-tabs .mat-tab-group .mat-ink-bar { background-color: ${color} }\n .${themeClassName} .primary-color-tabs .mat-tab-label.mat-tab-label-active { opacity: 1 }\n .${themeClassName} .primary-color-tabs .mat-tab-label-active .mat-tab-label-content { color: ${color} }\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-checkbox.mat-checkbox.mat-accent .mat-checkbox-ripple .mat-ripple-element,\n .${themeClassName} .primary-color-checkbox.mat-checkbox-checked.mat-accent .mat-checkbox-ripple .mat-ripple-element { background: ${color}}\n .${themeClassName} .primary-color-checkbox.mat-checkbox-checked.mat-accent .mat-checkbox-background,\n .${themeClassName} .primary-color-checkbox.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {background-color: ${color}}\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .primary-color-radio.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {border-color: ${color}}\n .${themeClassName} .primary-color-radio.mat-radio-button.mat-accent .mat-radio-inner-circle {color: ${color}; background-color: ${color}}\n .${themeClassName} .primary-color-radio.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element {background-color: ${color}}\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .mat-flat-button.mat-primary,\n .${themeClassName} .mat-raised-button.mat-primary,\n .${themeClassName} .mat-fab.mat-primary,\n .${themeClassName} .mat-flat-button.mat-primary {\n background-color: ${color}\n }\n `));\n style.appendChild(document.createTextNode(`\n .${themeClassName} .mat-flat-button.mat-primary.mat-button-disabled,\n .${themeClassName} .mat-flat-button.mat-accent.mat-button-disabled,\n .${themeClassName} .mat-flat-button.mat-warn.mat-button-disabled,\n .${themeClassName} .mat-flat-button.mat-button-disabled.mat-button-disabled,\n .${themeClassName} .mat-raised-button.mat-primary.mat-button-disabled,\n .${themeClassName} .mat-raised-button.mat-accent.mat-button-disabled,\n .${themeClassName} .mat-raised-button.mat-warn.mat-button-disabled,\n .${themeClassName} .mat-raised-button.mat-button-disabled.mat-button-disabled,\n .${themeClassName} .mat-fab.mat-primary.mat-button-disabled,\n .${themeClassName} .mat-fab.mat-accent.mat-button-disabled,\n .${themeClassName} .mat-fab.mat-warn.mat-button-disabled,\n .${themeClassName} .mat-fab.mat-button-disabled.mat-button-disabled,\n .${themeClassName} .mat-mini-fab.mat-primary.mat-button-disabled,\n .${themeClassName} .mat-mini-fab.mat-accent.mat-button-disabled,\n .${themeClassName} .mat-mini-fab.mat-warn.mat-button-disabled,\n .${themeClassName} .mat-mini-fab.mat-button-disabled.mat-button-disabled {\n color: ${ColorService.getContrastingTextColor(color, .26)};\n }\n `));\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(style);\n }\n}\nColorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ColorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nColorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ColorService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ColorService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass ThemeDirective {\n constructor(colorService) {\n this.colorService = colorService;\n this.className = '';\n }\n ngOnChanges(changes) {\n if (changes.theme) {\n if (this.theme) {\n // get a friendly theme name (removes characters that would stop us from using that theme as a class name)\n const themeName = ColorService.getThemeName(this.theme);\n this.colorService.addPrimaryColorTheme(this.theme);\n this.className = `phaas-theme-${themeName}`;\n }\n else {\n this.className = '';\n }\n }\n }\n}\nThemeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeDirective, deps: [{ token: ColorService }], target: i0.ɵɵFactoryTarget.Directive });\nThemeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: { theme: [\"phaas-ngcommon-theme\", \"theme\"] }, host: { properties: { \"class\": \"this.className\" } }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[phaas-ngcommon-theme]',\n }]\n }], ctorParameters: function () { return [{ type: ColorService }]; }, propDecorators: { theme: [{\n type: Input,\n args: ['phaas-ngcommon-theme']\n }], className: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nclass ThemeModule {\n}\nThemeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nThemeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeModule, declarations: [ThemeDirective], exports: [ThemeDirective] });\nThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeModule, providers: [\n ColorService\n ], imports: [[]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ThemeModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n ThemeDirective\n ],\n providers: [\n ColorService\n ],\n imports: [],\n exports: [\n ThemeDirective\n ]\n }]\n }] });\n\nclass WebSocketMessage {\n constructor(eventData) {\n if (eventData) {\n try {\n const parsedData = JSON.parse(eventData) || {};\n this.type = parsedData.type || 'unknown';\n this.payload = parsedData.payload;\n }\n catch (error) {\n this.type = 'malformed';\n }\n }\n else {\n this.type = 'none';\n }\n }\n}\n\n/**\n * WebSocketFactory help inject a mock WebSocket for testing purposes.\n */\nclass WebSocketFactory {\n create(url) {\n return new WebSocket(url);\n }\n}\nWebSocketFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nWebSocketFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketFactory, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n\nconst IdleTimeout = 10 * 60 * 1000; // 10 minutes;\nconst KeepAliveTime = IdleTimeout - (30 * 1000); // 30 seconds short of timeout\nconst PauseBeforeReconnectMin = 2000;\nconst PauseBeforeReconnectMax = 7000;\nconst MaxOpens = 10;\nvar SocketStatus;\n(function (SocketStatus) {\n SocketStatus[\"None\"] = \"none\";\n SocketStatus[\"Open\"] = \"open\";\n SocketStatus[\"Closed\"] = \"closed\";\n SocketStatus[\"Error\"] = \"error\";\n})(SocketStatus || (SocketStatus = {}));\nclass WebSocketClientService {\n constructor(log, currentUserService, websocketFactory) {\n this.log = log;\n this.currentUserService = currentUserService;\n this.websocketFactory = websocketFactory;\n this.wsIsOpening = false;\n this.lastStatus = SocketStatus.None;\n this.wsStatus = new BehaviorSubject(SocketStatus.None);\n this.wsMessages = new Subject();\n this.authTokens = new Map();\n this.connected$ = new BehaviorSubject(false);\n this.inTrouble$ = new BehaviorSubject(false);\n this.isDead$ = new BehaviorSubject(false);\n this.maxOpens = MaxOpens;\n // for testing\n this.pauseBeforeReconnectMin = PauseBeforeReconnectMin;\n this.pauseBeforeReconnectMax = PauseBeforeReconnectMax;\n this.metrics = {\n open: 0,\n close: 0,\n error: 0,\n retry: 0\n };\n // for logging only\n this.wsStatus.subscribe((s) => {\n this.log.debug(`websocket::status change: '${this.lastStatus}' => '${s}'`);\n this.lastStatus = s;\n });\n }\n isConnected() {\n return this.connected$.asObservable();\n }\n /**\n * A connection is \"in trouble\" when reconnects are not succeeding.\n */\n isInTrouble() {\n return this.inTrouble$.asObservable();\n }\n /**\n * A connection is \"dead\" when we have stopped retrying. A connection will not recover from being \"dead\".\n */\n isDead() {\n return this.isDead$.asObservable();\n }\n /**\n * connect triggers a new websocket connection to be opened for a provided type.\n * You can have only one connection per type. Providing a token a second time does nothing.\n * @param type A unique type for this connection.\n * @param authToken The auth token to use when authenticating this subscription\n * @param wsURL The URL for the websocket service to connect to; This should always be the same each call\n * since this service does not support per-url connections; Maybe in the future.\n */\n connect(type, authToken, wsURL) {\n const isNew = !this.authTokens.has(type);\n this.authTokens.set(type, authToken);\n this.openConnection(wsURL);\n if (isNew) {\n this.log.debug(`websocket::auth token registered: '${type}'`);\n // if this is a new token, then add a subscription to send it\n this.sendToken(type, authToken);\n }\n }\n /**\n * listen will return an observable that will emit new websocket messages.\n * You need to `connect` before any messages will ever be received.\n * @param messageTypes a list of websocket message types that you are interested in.\n * If you provide no types, then you will receive all messages.\n */\n listen(messageTypes) {\n if (messageTypes && messageTypes.length > 0) {\n return this.wsMessages.pipe(filter((message) => messageTypes.includes(message.type)));\n }\n else {\n return this.wsMessages.asObservable();\n }\n }\n /**\n * Reanimate will allow a dead connection to attempt reconnect.\n */\n reanimate() {\n this.log.info('Allowing dead connection to retry');\n // allow another chunk of opens\n this.maxOpens = this.maxOpens + MaxOpens;\n // setting the socket back to None will allow the connection cycle to begin again\n this.wsStatus.next(SocketStatus.None);\n }\n sendToken(type, subscriptionToken) {\n this.wsStatus\n .pipe(filter((status) => status === SocketStatus.Open))\n .subscribe(() => {\n var _a;\n this.log.debug(`websocket::sending auth token: '${type}'`);\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(`auth|${subscriptionToken}`);\n });\n }\n openConnection(websocketURL) {\n if (this.wsIsOpening) {\n return;\n }\n this.wsIsOpening = true;\n this.log.debug(`websocket::opening connection to '${websocketURL}'`);\n this.wsStatus\n .pipe(filter((status) => status === SocketStatus.None)).subscribe(_ => {\n this.log.debug(`websocket::will open, retries: ${this.metrics.retry}`);\n this.ws = this.websocketFactory.create(websocketURL);\n this.ws.onopen = () => {\n var _a;\n this.metrics.open++;\n this.metrics.retry = 0; // after a good connection, reset retries\n this.wsStatus.next(SocketStatus.Open);\n this.connected$.next(true);\n this.inTrouble$.next(false);\n this.isDead$.next(false);\n // identify for supportability\n const metricsSummary = `${this.metrics.open}/${this.metrics.close}/${this.metrics.error}`;\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(`identify|href=${window.location.href},metrics=${metricsSummary}`);\n this.log.info(`websocket::identified|href=${window.location.href}`);\n this.currentUserService.getProfile('websocket').subscribe((p) => {\n var _a;\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(`identify|user=${p === null || p === void 0 ? void 0 : p.id},${p === null || p === void 0 ? void 0 : p.email}`);\n this.log.info(`websocket::identified|user=${p === null || p === void 0 ? void 0 : p.id},${p === null || p === void 0 ? void 0 : p.email}`);\n }, () => {\n var _a;\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(`identify|user=none`);\n this.log.info(`websocket::identified|user=none`);\n });\n timer(KeepAliveTime, KeepAliveTime)\n .pipe(takeUntil(this.wsStatus.pipe(filter((status) => status === SocketStatus.Closed)))).subscribe(() => {\n var _a;\n this.log.debug('websocket::keepalive');\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send('keepalive');\n });\n };\n this.ws.onclose = (ce) => {\n this.log.warn(`websocket::onclose: ${ce.code}, ${ce.reason}`);\n this.metrics.close++;\n this.wsStatus.next(SocketStatus.Closed);\n this.connected$.next(false);\n this.inTrouble$.next(false);\n this.log.info(`websocket::onclose: checking if eligible for reconnect:\n ${this.metrics.retry}, ${this.metrics.open}/${this.maxOpens}`);\n // We do not want to repeatedly try to reconnect if we are closing after an open. This would probably mean that\n // the auth messages are being rejected. We track that through metrics.open.\n // Otherwise, we will continue to reconnect forever.\n if (this.metrics.open < this.maxOpens) {\n this.metrics.retry++;\n if (this.metrics.retry > 1) {\n // on second retry, call it \"in trouble\"\n this.inTrouble$.next(true);\n }\n const waitBeforeReconnect = getRandomInt(this.pauseBeforeReconnectMin, this.pauseBeforeReconnectMax);\n this.log.info(`websocket::onclose: will attempt a reconnect in ${waitBeforeReconnect}ms`);\n // wait a few seconds before trying again to give tiny blips a chance to work themselves out\n setTimeout(() => {\n this.wsStatus.next(SocketStatus.None);\n }, waitBeforeReconnect);\n }\n else {\n this.isDead$.next(true);\n this.log.warn('websocket::onclose: will no longer attempt a reconnect');\n }\n };\n this.ws.onerror = (event) => {\n const toLog = JSON.stringify(event.data || '').slice(1, -1);\n this.log.error(`websocket::onerror: ${event.code}, ${toLog}`);\n this.metrics.error++;\n // do not create an error/open loop; onclose will happen after this error\n this.wsStatus.next(SocketStatus.Error);\n };\n this.ws.onmessage = (event) => {\n const toLog = JSON.stringify(event.data || '').slice(1, -1);\n this.log.info(`websocket::onmessage: ${toLog}`);\n const message = new WebSocketMessage(event.data);\n this.wsMessages.next(message);\n };\n });\n }\n}\nWebSocketClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketClientService, deps: [{ token: LoggerService }, { token: CurrentUserService }, { token: WebSocketFactory }], target: i0.ɵɵFactoryTarget.Injectable });\nWebSocketClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketClientService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebSocketClientService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: LoggerService }, { type: CurrentUserService }, { type: WebSocketFactory }]; } });\nfunction getRandomInt(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min) + min);\n}\n\nclass WebsocketModule {\n}\nWebsocketModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebsocketModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nWebsocketModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebsocketModule, imports: [LoggingModule] });\nWebsocketModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebsocketModule, providers: [\n WebSocketClientService\n ], imports: [[\n LoggingModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: WebsocketModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n LoggingModule\n ],\n providers: [\n WebSocketClientService\n ],\n exports: []\n }]\n }] });\n\n/*\n * Public API Surface of ngcommon\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AccessToken, AddressFormComponent, AddressFormModule, AddressInformation, AsyncDefaultPipe, AsyncModule, AuthHttpClient, ColorService, Context, CurrencyModule, CurrentUserModule, CurrentUserService, DocumentInjectionToken, ERR_UNAUTHENTICATED, EnvironmentModule, EnvironmentService, ExtendedCurrencyPipe, Filter, FilterComparator, FilterGroup, FilterOption, FilterParameter, HttpModule, LogLevel, LogLevelUtil, LoggerService, LoggerServiceMock, LoggingModule, PagingInput, PagingOutput, PhaasResponse, PhoneNumberDirective, PhoneNumberFormatter, PhoneNumberModule, PhoneNumberPipe, PhoneNumberValidator, RGB, RefreshTokenInput, RoleGuard, RoleToCheck, RoleWithContext, SessionIDModule, SessionIDService, SortDirection, SortParameter, ThemeDirective, ThemeModule, TimeZoneInjectionToken, UpdateProfileInput, UpdateProfileOutput, UserFriendlyError, WebSocketClientService, WebSocketMessage, WebsocketModule, WindowInjectionToken, ZipCodeValidator };\n","import * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Optional, Inject, Component, Directive, ViewEncapsulation, ViewChild, Input, HostBinding, Pipe, COMPILER_OPTIONS, CompilerFactory, Compiler, NgModule, EventEmitter, Output, ViewContainerRef } from '@angular/core';\nimport * as i3 from '@onecause/ngcommon';\nimport { HttpModule, WebsocketModule, WindowInjectionToken, AsyncModule, ThemeModule } from '@onecause/ngcommon';\nimport { BehaviorSubject, of, combineLatest, ReplaySubject, Subject, forkJoin, zip, AsyncSubject } from 'rxjs';\nimport { __awaiter } from 'tslib';\nimport { map, take, mergeMap, tap } from 'rxjs/operators';\nimport * as i3$1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport { JitCompilerFactory } from '@angular/platform-browser-dynamic';\nimport * as i5 from '@angular/router';\nimport * as i1 from '@angular/forms';\nimport { FormControl, Validators, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport * as i2$1 from '@angular/material/form-field';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport * as i2$2 from '@angular/material/button';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i6 from '@angular/material/input';\nimport { MatInputModule } from '@angular/material/input';\nimport * as i3$2 from '@angular/material/snack-bar';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport * as i7 from '@angular/material/icon';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport * as i1$1 from '@angular/material/progress-bar';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport * as i3$3 from '@angular/material/select';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i4 from '@angular/material/core';\n\nclass HTTPFetcherSourceRefreshConfig {\n}\nclass FetcherSources {\n}\nclass ComponentValidationResult {\n constructor(isSubmittable, validsProvided) {\n this.isSubmittable = isSubmittable;\n this.isValids = validsProvided || [];\n const numPossible = this.isValids.length;\n let numGood = 0;\n for (const v of this.isValids) {\n if (v) {\n numGood++;\n }\n }\n this.isIndifferent = numPossible === 0;\n this.isValid = this.isIndifferent ? true : numGood === numPossible;\n this.progress = this.isIndifferent ? 1 : numGood / numPossible;\n }\n}\n\nclass ComponentStoreService {\n constructor() {\n this.subjects = new Map();\n this.changed = new BehaviorSubject(null);\n this.$changed = this.changed.asObservable();\n }\n get(key) {\n if (!this.subjects.get(key)) {\n this.subjects.set(key, new BehaviorSubject(null));\n }\n const subj = this.subjects.get(key);\n if (subj) {\n return subj.asObservable();\n }\n return of(null);\n }\n set(key, value) {\n if (!this.subjects.get(key)) {\n this.subjects.set(key, new BehaviorSubject(null));\n }\n const subj = this.subjects.get(key);\n if (subj) {\n subj.next(value);\n this.changed.next(null);\n }\n }\n}\nComponentStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nComponentStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentStoreService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentStoreService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nconst FETCHERSOURCE_FACTORY = new InjectionToken('FetcherSourceFactory');\n\nclass CurrentUser {\n constructor(currentUserService) {\n this.currentUserService = currentUserService;\n this.currentUser = new BehaviorSubject(null);\n this.currentUser$ = this.currentUser.asObservable();\n // watch if we login and update our profile\n currentUserService.isLoggedIn().subscribe((isLoggedIn) => {\n if (!isLoggedIn) {\n this.currentUser.next(null);\n }\n else {\n currentUserService.getProfile().subscribe((p) => {\n this.currentUser.next(p);\n });\n }\n });\n }\n logout() {\n return this.currentUserService.updateTokens('', '').pipe(map(() => {\n this.currentUser.next(null);\n }));\n }\n}\nCurrentUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUser, deps: [{ token: i3.CurrentUserService }], target: i0.ɵɵFactoryTarget.Injectable });\nCurrentUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUser, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CurrentUser, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: i3.CurrentUserService }]; } });\n\nclass FetchInternalService {\n constructor(currentUser, store, http, authHttp, wsClient, env, sourceFactories) {\n this.currentUser = currentUser;\n this.store = store;\n this.http = http;\n this.authHttp = authHttp;\n this.wsClient = wsClient;\n this.env = env;\n this.sourceFactories = sourceFactories;\n this.configured = new Map();\n this.$urlFetches = new Map();\n this.urlFetchSubjects = new Map();\n this.urlFetchTriggers = new Map();\n }\n initSources(sources, sandboxed) {\n for (const [dsName, ds] of Object.entries(sources)) {\n if (this.configured.get(dsName) === true) {\n continue;\n }\n this.configured.set(dsName, true);\n switch (ds.type) {\n case 'websocket':\n if (!ds.tokenUrl) {\n console.error(`no tokenUrl for a websocket datasource: ${dsName}`);\n }\n else {\n this.http.get(ds.tokenUrl).subscribe((p) => {\n this.wsClient.connect(dsName, p.payload.token, p.payload.notificationWebsocketURL);\n }, (e) => {\n console.error(`failed to get websocket token: ${dsName},`, e);\n });\n }\n break;\n case 'http':\n if (!ds.url) {\n console.error(`no url for an http datasource: ${dsName}`);\n }\n else {\n this.initHTTPSource(dsName, ds, true);\n }\n break;\n case 'auth-http':\n if (sandboxed) {\n console.log(`not allowed due to sandbox: ${dsName}`);\n }\n else if (!ds.url) {\n console.error(`no url for an http datasource: ${dsName}`);\n }\n else {\n this.initHTTPSource(dsName, ds, true);\n }\n break;\n default:\n console.log(`A data source was provided with a type not allowed: ${dsName}`);\n }\n }\n }\n fetch(rawFetchDefinition) {\n // TODO: if sandboxed (this.controller.sandboxed)\n // then make sure we don't return controlled data.\n rawFetchDefinition = rawFetchDefinition || '';\n // console.log(`parsing: '${rawFetchDefinition}'`);\n // if not a string definition, then just fetch it\n if (typeof rawFetchDefinition !== 'string') {\n return this.fetchOne(rawFetchDefinition);\n }\n // Anything less than 5 characters cannot be a special {{x}} string.\n // Stop checking early so we can do the char parsing a bit simpler.\n if (rawFetchDefinition.length < 5) {\n return this.fetchOne(rawFetchDefinition);\n }\n // split the fetch up into curly chunks\n const chunks = new Array();\n let previousChar = rawFetchDefinition[0];\n let thisChar = '';\n let lastStart = 0;\n let lastEnd = -1;\n // start at char index 1 on purpose! (previousChar already set)\n for (let x = 1; x < rawFetchDefinition.length; x++) {\n thisChar = rawFetchDefinition[x];\n if (previousChar === '}' && thisChar === '}') {\n lastEnd = x - 2;\n }\n else if (previousChar === '{' && thisChar === '{') {\n lastEnd = x - 2;\n }\n // if this is the last character of the entire string, end it\n if (x === rawFetchDefinition.length - 1) {\n lastEnd = x;\n }\n if (lastEnd >= lastStart) {\n const endingChunk = rawFetchDefinition.substr(lastStart, lastEnd - lastStart + 1);\n // console.log(`found chunk: '${endingChunk}'`);\n chunks.push(this.fetchOne(endingChunk));\n lastStart = x + 1;\n }\n previousChar = thisChar;\n }\n return combineLatest(chunks).pipe(map((vs) => {\n if (vs.length === 1) {\n // if we have one chunk this could be any type of object\n return vs[0];\n }\n // if we have multiple chunks then this implies we are building a string\n // if anything returns null, then it is not ready\n if (vs.includes(null)) {\n return '';\n }\n return vs.join('');\n }));\n }\n initHTTPSource(dsName, ds, doInitialTrigger = false) {\n const subj = new BehaviorSubject(null);\n this.urlFetchSubjects.set(dsName, new ReplaySubject(1));\n this.$urlFetches.set(dsName, subj.asObservable());\n const trigger = () => {\n // is auth?\n const client = (ds.type === 'http') ? this.http : this.authHttp;\n client.get(ds.url).subscribe((p) => {\n subj.next(p.payload || null);\n }, (e) => {\n console.error(`failed to read datasource: ${dsName}:`, e);\n });\n };\n this.urlFetchTriggers.set(dsName, trigger);\n // listen for ws messages that would cause a refresh\n if (ds.refresh) {\n const interestingMessages = ds.refresh.websocket || [];\n this.wsClient.listen(interestingMessages).subscribe((_) => {\n trigger();\n });\n }\n if (doInitialTrigger) {\n // trigger at least once\n trigger();\n }\n }\n fetchOne(rawFetchDefinition) {\n // remove any decorators first - they do not change how data is fetched\n const decorSplit = ((rawFetchDefinition || '') + '').split('|');\n const fetchDefinition = (decorSplit[0] || '');\n // figure out any decoration for the map\n decorSplit.shift();\n const decorators = decorSplit;\n const storeMatch = FetchInternalService.storeRegExp.exec(fetchDefinition);\n if (storeMatch) {\n const storeName = storeMatch[1];\n const dataPath = storeMatch[2];\n return this.store.get(storeName).pipe(map((d) => this.followDataPath(d, dataPath)), map((d) => this.decorate(d, decorators)));\n }\n const dataMatch = FetchInternalService.dataRegExp.exec(fetchDefinition);\n if (dataMatch) {\n const dsName = dataMatch[1];\n const dataPath = dataMatch[2];\n let $ds = this.$urlFetches.get(dsName);\n if (!$ds) {\n // the data source is not setup yet -- see if it is available in a factory\n this.sourceFactories.forEach((f) => {\n const found = f.mapSource(dsName);\n if (found) {\n console.log('found ds', fetchDefinition, dsName);\n // factory sources can use protected types\n const dss = new FetcherSources();\n dss[dsName] = found;\n this.initSources(dss);\n }\n });\n $ds = this.$urlFetches.get(dsName);\n }\n if ($ds) {\n return $ds.pipe(map((d) => this.followDataPath(d, dataPath)), map((d) => this.decorate(d, decorators)));\n }\n else {\n console.warn(`unknown data datasource: ${dsName}`);\n }\n }\n const envMatch = FetchInternalService.envRegExp.exec(fetchDefinition);\n if (envMatch) {\n const subdomain = envMatch[1];\n const path = envMatch[2];\n return this.env.getURL(subdomain, path);\n }\n const controllerMatch = FetchInternalService.controllerRegExp.exec(fetchDefinition);\n if (controllerMatch) {\n const dsName = controllerMatch[1];\n const dataPath = controllerMatch[2];\n let obs;\n switch (dsName) {\n case 'currentUser':\n obs = this.currentUser.currentUser$;\n break;\n }\n if (obs) {\n return obs.pipe(\n // tap((d) => { console.log(d, dataPath)}),\n map((d) => this.followDataPath(d, dataPath)), map((d) => this.decorate(d, decorators)));\n }\n else {\n console.warn(`unknown controller datasource: ${dsName}`);\n }\n }\n // anything else is a straight value\n return of(fetchDefinition).pipe(map((d) => this.decorate(d, decorators)));\n }\n followDataPath(data, dataPath) {\n if (!data) {\n return null;\n }\n if (!dataPath) {\n return data;\n }\n const props = (dataPath || '').split('.');\n for (const p of props) {\n if (!p) {\n continue;\n }\n data = data[p];\n }\n return data;\n }\n decorate(data, decorators) {\n for (let decorator of decorators) {\n decorator = ((decorator || '') + '').trim();\n if (decorator === 'cents') {\n return data / 100;\n }\n if (decorator === 'truthy') {\n return !!data;\n }\n if (decorator === 'falsy') {\n return !data;\n }\n }\n return data;\n }\n}\nFetchInternalService.storeRegExp = /store\\(([a-zA-Z0-9\\-_.]+)\\)([a-zA-Z0-9\\-_.]*)/;\nFetchInternalService.dataRegExp = /data\\(([a-zA-Z0-9\\-_.]+)\\)([a-zA-Z0-9\\-_.]*)/;\nFetchInternalService.envRegExp = /env\\(([a-zA-Z0-9\\-_.]+)\\)(.*)/;\nFetchInternalService.controllerRegExp = /controller\\(([a-zA-Z0-9\\-_.]+)\\)([a-zA-Z0-9\\-_.]*)/;\nFetchInternalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchInternalService, deps: [{ token: CurrentUser }, { token: ComponentStoreService }, { token: i3$1.HttpClient }, { token: i3.AuthHttpClient }, { token: i3.WebSocketClientService }, { token: i3.EnvironmentService }, { token: FETCHERSOURCE_FACTORY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFetchInternalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchInternalService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchInternalService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: CurrentUser }, { type: ComponentStoreService }, { type: i3$1.HttpClient }, { type: i3.AuthHttpClient }, { type: i3.WebSocketClientService }, { type: i3.EnvironmentService }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FETCHERSOURCE_FACTORY]\n }] }]; } });\n\nclass PageScanResult {\n constructor(page, isTopLevel) {\n this.page = page;\n this.isTopLevel = isTopLevel;\n }\n}\nclass InternalPageScanResult {\n constructor() {\n this.returnNext = false;\n }\n}\nclass PageScanner {\n constructor(fetcherInternal) {\n this.fetcherInternal = fetcherInternal;\n }\n scan(pageSource, targetPageID, allowRecurse = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const intern = yield this.recursingScan(pageSource, targetPageID, 0, allowRecurse, false, false, false);\n if (!intern || !intern.page) {\n return null;\n }\n return {\n page: intern === null || intern === void 0 ? void 0 : intern.page,\n isTopLevel: (intern === null || intern === void 0 ? void 0 : intern.isTopLevel) || false\n };\n });\n }\n findNext(pageSource, currentPageID) {\n return __awaiter(this, void 0, void 0, function* () {\n const intern = yield this.recursingScan(pageSource, currentPageID, 0, true, true, false, false);\n if (!intern || !intern.page) {\n return null;\n }\n return {\n page: intern === null || intern === void 0 ? void 0 : intern.page,\n isTopLevel: (intern === null || intern === void 0 ? void 0 : intern.isTopLevel) || false\n };\n });\n }\n findPrevious(pageSource, currentPageID) {\n return __awaiter(this, void 0, void 0, function* () {\n const intern = yield this.recursingScan(pageSource, currentPageID, 0, true, true, false, true);\n if (!intern || !intern.page) {\n return null;\n }\n return {\n page: intern === null || intern === void 0 ? void 0 : intern.page,\n isTopLevel: (intern === null || intern === void 0 ? void 0 : intern.isTopLevel) || false\n };\n });\n }\n recursingScan(pageSource, targetPageID, depth, allowRecurse, lookingForNext, returnNext, lookingForPrevious, previous) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!pageSource || !pageSource.pages || !pageSource.pages.length) {\n return null;\n }\n for (const page of pageSource.pages || []) {\n const skipPage = page.skip ? yield this.fetcherInternal.fetch(page.skip).pipe(take(1)).toPromise() : false;\n if (returnNext && !skipPage) {\n return { page, isTopLevel: depth === 0, returnNext };\n }\n if (!targetPageID) {\n if ((!lookingForNext || returnNext) && !skipPage) {\n return { page, isTopLevel: depth === 0, returnNext };\n }\n returnNext = true;\n }\n else if (page.id === targetPageID) {\n // this is the needle\n if (lookingForPrevious && previous) {\n const skipPrev = previous.skip ? yield this.fetcherInternal.fetch(previous.skip).pipe(take(1)).toPromise() : false;\n if (!skipPrev) {\n return { page: previous, isTopLevel: depth === 0, returnNext };\n ;\n }\n }\n if ((!lookingForNext || returnNext) && !skipPage) {\n return { page, isTopLevel: depth === 0, returnNext };\n }\n returnNext = true;\n }\n // recurse\n if (allowRecurse) {\n const found = yield this.recursingScan(page, targetPageID, depth + 1, allowRecurse, lookingForNext, returnNext, lookingForPrevious, page);\n if (found === null || found === void 0 ? void 0 : found.page) {\n return found;\n }\n else {\n if (found === null || found === void 0 ? void 0 : found.returnNext) {\n returnNext = true;\n }\n }\n }\n previous = page;\n }\n return { returnNext };\n });\n }\n}\nPageScanner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageScanner, deps: [{ token: FetchInternalService }], target: i0.ɵɵFactoryTarget.Injectable });\nPageScanner.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageScanner, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageScanner, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: FetchInternalService }]; } });\n\nclass ControllerService {\n constructor(storeService, pageScanner, currentUser) {\n this.pageScanner = pageScanner;\n this.currentUser = currentUser;\n this.sandboxed = true;\n this.pageIsNavigable = false;\n this.activeComponents = [];\n this.activeComponentsAreValid = new BehaviorSubject(new ComponentValidationResult(false, []));\n this.flowChanged = new Subject();\n this.activeComponentsAreValid$ = this.activeComponentsAreValid.asObservable();\n this.flowChanged$ = this.flowChanged.asObservable();\n // any time a store is changed, re-run validations\n storeService.$changed.subscribe((_) => {\n this.invalidateComponentValidation();\n });\n }\n setFlow(flow, targetPageID) {\n // We have to sandbox this flow if any of the components are sandbox components.\n // The sandbox has to communicate with a limited API through frame messaging.\n // TODO:\n this.sandboxed = false;\n const flowIsChanging = (this.flow && this.flow.id !== flow.id);\n if (!flow.pages || flow.pages.length === 0) {\n console.error(`Flow ${flow.id} has no pages`);\n return;\n }\n let page;\n let isTopLevel = false;\n this.pageScanner.scan(flow, targetPageID, false).then((scanResult) => {\n if (scanResult) {\n page = scanResult.page;\n isTopLevel = scanResult.isTopLevel || false;\n }\n else {\n console.error('Could not find page, using first:', { targetPageID });\n page = (flow.pages || [])[0];\n isTopLevel = true;\n }\n if (!page) {\n console.error('No page found');\n return;\n }\n this.internalSetFlow(flow, page, isTopLevel);\n });\n }\n previousPage() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const flow = this.flow;\n if (!flow) {\n return;\n }\n const scanResult = yield this.pageScanner.findPrevious(flow, ((_a = this.page) === null || _a === void 0 ? void 0 : _a.id) || '');\n if (scanResult) {\n this.internalSetFlow(flow, scanResult.page, scanResult.isTopLevel);\n return;\n }\n });\n }\n nextPage() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const flow = this.flow;\n if (!flow) {\n return;\n }\n const scanResult = yield this.pageScanner.findNext(flow, ((_a = this.page) === null || _a === void 0 ? void 0 : _a.id) || '');\n if (scanResult) {\n this.internalSetFlow(flow, scanResult.page, scanResult.isTopLevel);\n return;\n }\n this.signalFlowComplete();\n });\n }\n signalFlowComplete() {\n console.log('signaling flow-complete');\n window.parent.postMessage({ type: 'onecause:flow-complete' }, '*');\n }\n registerActiveComponent(c) {\n this.activeComponents.push(c);\n // too many initial validations? easy to skip? debounce?\n this.invalidateComponentValidation();\n }\n // Trigger the controller to go through each component and check its isValid(). The final result of\n // this will be set into the `controller.activeComponentsAreValid$`.\n // This also returns an observable that contains the next result in case you need to wait for the invalidation to complete.\n invalidateComponentValidation() {\n const result = this.check();\n const curr = this.activeComponentsAreValid.value;\n if (curr.isValid != result.isValid ||\n curr.isIndifferent != result.isIndifferent ||\n curr.isSubmittable != result.isSubmittable ||\n curr.progress != result.progress) {\n this.activeComponentsAreValid.next(result);\n }\n return of(result);\n }\n // Will submit all components and wait on their results. If the component has nothing to do, it should just\n // return an immediate observable;\n submit() {\n const submittedObservables = [];\n for (const c of this.activeComponents) {\n const v = c.validate();\n c.lastValidation = v;\n if (v.isSubmittable) {\n submittedObservables.push(c.submit());\n }\n }\n if (!submittedObservables.length) {\n return this.invalidateComponentValidation();\n }\n return forkJoin(submittedObservables).pipe(mergeMap(() => this.invalidateComponentValidation()));\n }\n // Logout will log out the current user\n logout() {\n const done = new Subject();\n this.currentUser.logout().subscribe(() => {\n done.next();\n done.complete();\n });\n return done;\n }\n internalSetFlow(flow, page, isTopLevel) {\n var _a;\n const pageIsChanging = (this.page && this.page.id !== page.id);\n this.flow = flow;\n this.page = page;\n this.pageIsNavigable = isTopLevel;\n if (pageIsChanging) {\n console.log(`flow was set: ${(_a = this.page) === null || _a === void 0 ? void 0 : _a.id} => ${page === null || page === void 0 ? void 0 : page.id}`, { flow, page });\n this.activeComponents = [];\n this.activeComponentsAreValid.next(new ComponentValidationResult(false, []));\n this.flowChanged.next(null);\n }\n }\n check() {\n const result = new ComponentValidationResult(false, []);\n let count = 0;\n let totalProgress = 0;\n for (const c of this.activeComponents) {\n const cRes = c.validate();\n c.lastValidation = cRes;\n if (cRes.isSubmittable) {\n result.isSubmittable = true;\n }\n if (!cRes.isIndifferent) {\n result.isIndifferent = false;\n }\n result.isValid = result.isValid && cRes.isValid;\n count++;\n totalProgress += cRes.progress;\n }\n if (result.isValid) {\n result.progress = 1;\n }\n else {\n result.progress = totalProgress / count;\n }\n return result;\n }\n}\nControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerService, deps: [{ token: ComponentStoreService }, { token: PageScanner }, { token: CurrentUser }], target: i0.ɵɵFactoryTarget.Injectable });\nControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: ComponentStoreService }, { type: PageScanner }, { type: CurrentUser }]; } });\n\nclass PageBase {\n constructor() {\n // pageConfig is special configuration for a page's layout -- not the same as the merged component configuration\n this.pageConfig = {};\n }\n}\n\nclass ComponentBase {\n constructor() {\n // config should be incoming configuration. Settings are things that change how a component works/is displayed/etc.\n // This is the merged config (flow + page + component).\n //\n // Any component can use some of the standard options:\n // - `visible: Observable` - will add/remove the 'is-visible` class to the component-outlet element; be sure to not let an \"invisible\" component be invalid\n this.config = {};\n // data is the output of the component. You can specify data in the configuration,\n // and wire up observables to build up the component data from other observables.\n // If you specify data within the config, then the component should not be changing it.\n // If the component wants \"default\" data, but it can be changed by the component, then supply config\n // settings as the defaults.\n this.data = {};\n }\n // configChanged will fire any time the config observables emit (or changes).\n configChanged() {\n }\n // dataChanged will firttttttt any time the bound data observables emit (or changes).\n // This will only firttttttt for data that is wired up through the flow definition (which wires up related observables).\n dataChanged() {\n }\n // TODO:\n // Should we add a \"configChanged()\" hook? \"dataChanged()\"? This might make it more clear that the component\n // needs to do this like updating their store.\n // Override isValid if your component supports being invalid or submittable.\n // Validate should only be called by the controller, not manually.\n //\n // Validation is automatically called when any related data changes. Because of this you may need to\n // update any related store during validation.\n validate() {\n return new ComponentValidationResult(false, []);\n }\n // The controller will call this method when the page is submitted. After submitting things will be re-validated.\n // The observable that is returned will be subscribed to, and the controller will re-validate() on next or error.\n // The controller will release that subscription after that single use.\n // Submit should only be called by the controller, not manually.\n // \n // If your component has a store that is setting data into, make sure to update that store if you are updating data\n // during submit.\n submit() {\n return of(null);\n }\n}\n\nconst COMPONENT_TYPE$c = 'phaas-ngflow-unknown';\nclass ComponentUnknownComponent extends ComponentBase {\n constructor() {\n super();\n }\n}\nComponentUnknownComponent.type = COMPONENT_TYPE$c;\nComponentUnknownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentUnknownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentUnknownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentUnknownComponent, selector: \"flow-component-title\", usesInheritance: true, ngImport: i0, template: `\n
Component type is unknown: {{ component?.type }}
\n `, isInline: true, styles: [\"\\n .unknown-warning { color: darkred; font-weight: bold; font-size: 1.5rem; }\\n .mono { font-family: monospace; }\\n \"] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentUnknownComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-component-title',\n template: `\n
Component type is unknown: {{ component?.type }}
\n `,\n styles: [`\n .unknown-warning { color: darkred; font-weight: bold; font-size: 1.5rem; }\n .mono { font-family: monospace; }\n `]\n }]\n }], ctorParameters: function () { return []; } });\n\nconst COMPONENT_FACTORY = new InjectionToken('ComponentFactory');\n\nclass FetcherService {\n constructor(controller, fetcherInternal) {\n this.controller = controller;\n this.fetcherInternal = fetcherInternal;\n }\n initSources(sources) {\n this.fetcherInternal.initSources(sources, this.controller.sandboxed);\n }\n // will return an observable that will emit any time a child observable created by this \"process\" emits.\n process(from, to, wrapInObservable) {\n const emitSubject = new Subject();\n this.processInternal(from, to, wrapInObservable, emitSubject);\n return emitSubject.asObservable();\n }\n processInternal(from, to, wrapInObservable, emitSubject) {\n for (const key in from) {\n if (!Object.prototype.hasOwnProperty.call(from, key)) {\n continue;\n }\n const keyValue = from[key];\n if (Object.prototype.toString.call(keyValue) === '[object Object]') {\n // an object, recurse down\n if (!to.hasOwnProperty(key)) {\n to[key] = {};\n }\n this.processInternal(keyValue, to[key], wrapInObservable, emitSubject);\n }\n else if (Array.isArray(keyValue)) {\n // an array, recurse down\n if (!to[key]) {\n to[key] = [];\n }\n this.processInternal(keyValue, to[key], wrapInObservable, emitSubject);\n }\n else {\n const obs = this.fetch(keyValue).pipe(tap(() => this.controller.invalidateComponentValidation()), tap(() => emitSubject.next()));\n if (wrapInObservable) {\n to[key] = obs;\n }\n else {\n delete to[key];\n obs.subscribe((v) => {\n to[key] = v;\n });\n }\n }\n }\n }\n fetch(rawFetchDefinition) {\n return this.fetcherInternal.fetch(rawFetchDefinition);\n }\n}\nFetcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetcherService, deps: [{ token: ControllerService }, { token: FetchInternalService }], target: i0.ɵɵFactoryTarget.Injectable });\nFetcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetcherService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetcherService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: ControllerService }, { type: FetchInternalService }]; } });\n\nclass ComponentOutletHostDirective {\n constructor(viewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n}\nComponentOutletHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentOutletHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nComponentOutletHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentOutletHostDirective, selector: \"[flowCoreComponentOutletHost]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentOutletHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[flowCoreComponentOutletHost]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });\nclass ComponentOutletComponent {\n constructor(factories, componentFactoryResolver, controllerService, fetcher) {\n this.factories = factories;\n this.componentFactoryResolver = componentFactoryResolver;\n this.controllerService = controllerService;\n this.fetcher = fetcher;\n this.isValid = false;\n this.isSubmittable = false;\n this.isHidden = false;\n }\n ngOnInit() {\n var _a;\n if (!this.component) {\n console.log('cannot find component render -- no component');\n return;\n }\n if (!this.host) {\n console.log('cannot find component render -- no host');\n return;\n }\n // find the component to render\n const componentToRender = this.component;\n if (!componentToRender) {\n console.log(`failed finding component to renderer: ${(_a = this.component) === null || _a === void 0 ? void 0 : _a.type}`);\n return;\n }\n // find the type to render\n for (const f of this.factories) {\n const found = f.mapType(componentToRender);\n if (found !== null) {\n this.render(componentToRender, found);\n return;\n }\n }\n // none found\n this.render(componentToRender, ComponentUnknownComponent);\n }\n ngDoCheck() {\n var _a, _b, _c, _d;\n this.isValid = ((_b = (_a = this === null || this === void 0 ? void 0 : this.componentInstance) === null || _a === void 0 ? void 0 : _a.lastValidation) === null || _b === void 0 ? void 0 : _b.isValid) || false;\n this.isSubmittable = ((_d = (_c = this === null || this === void 0 ? void 0 : this.componentInstance) === null || _c === void 0 ? void 0 : _c.lastValidation) === null || _d === void 0 ? void 0 : _d.isSubmittable) || false;\n }\n render(componentToRender, t) {\n var _a, _b;\n if (!componentToRender || !this.host) {\n return;\n }\n const host = this.host;\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(t);\n const viewContainerRef = host.viewContainerRef;\n viewContainerRef.clear();\n // setup our config and data\n const flow = this.flow;\n const page = this.page;\n const shallowConfig = Object.assign(Object.assign(Object.assign({}, (_a = this.flow) === null || _a === void 0 ? void 0 : _a.config), (_b = this.page) === null || _b === void 0 ? void 0 : _b.config), componentToRender.config);\n // do a deep copy of this so we don't get repeated subscriptions if we go back/forth between pages\n const cleanConfig = JSON.parse(JSON.stringify(shallowConfig));\n // data is also a copy -- data is stored in the storeService, not here, when moving between components and pages\n const data = cleanConfig.data;\n delete cleanConfig.data;\n // setup any fetchers in the config -- this happens in place on the clean config\n const configChanged = this.fetcher.process(cleanConfig, cleanConfig, true);\n // setup any fetchers in the data -- this maps from the config data to an empty clean data\n const cleanData = {};\n const dataChanged = this.fetcher.process(data, cleanData, false);\n // if config has the standard \"visible\" option -- then watch it to append the class\n const visibleOpt = cleanConfig.visible;\n if (visibleOpt) {\n visibleOpt.subscribe((visible) => {\n this.isHidden = !visible;\n });\n }\n const componentRef = viewContainerRef.createComponent(componentFactory);\n componentRef.instance.flow = this.flow;\n componentRef.instance.page = this.page;\n componentRef.instance.component = componentToRender;\n componentRef.instance.config = cleanConfig;\n componentRef.instance.data = cleanData;\n // componentRef.instance.context = new SandboxContext(this.store);\n this.componentInstance = componentRef.instance;\n this.controllerService.registerActiveComponent(componentRef.instance);\n configChanged.subscribe(() => componentRef.instance.configChanged());\n dataChanged.subscribe(() => componentRef.instance.dataChanged());\n // component ngOnInit will fire at some point after this\n }\n}\nComponentOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentOutletComponent, deps: [{ token: COMPONENT_FACTORY, optional: true }, { token: i0.ComponentFactoryResolver }, { token: ControllerService }, { token: FetcherService }], target: i0.ɵɵFactoryTarget.Component });\nComponentOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentOutletComponent, selector: \"phaas-ngflow-component-outlet\", inputs: { flow: \"flow\", page: \"page\", component: \"component\" }, viewQueries: [{ propertyName: \"host\", first: true, predicate: ComponentOutletHostDirective, descendants: true, static: true }], ngImport: i0, template: `\n
\n
\n
\n \n
\n `, isInline: true, styles: [\".is-hidden { display: none }\"], directives: [{ type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: ComponentOutletHostDirective, selector: \"[flowCoreComponentOutletHost]\" }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentOutletComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-component-outlet',\n template: `\n
\n
\n
\n \n
\n `,\n styles: [\n `.is-hidden { display: none }`\n ],\n encapsulation: ViewEncapsulation.None\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [COMPONENT_FACTORY]\n }] }, { type: i0.ComponentFactoryResolver }, { type: ControllerService }, { type: FetcherService }]; }, propDecorators: { host: [{\n type: ViewChild,\n args: [ComponentOutletHostDirective, { static: true }]\n }], flow: [{\n type: Input\n }], page: [{\n type: Input\n }], component: [{\n type: Input\n }] } });\n\nconst PAGE_TYPE$3 = 'phaas-ngflow-stack';\nclass PageStackComponent extends PageBase {\n constructor() {\n super();\n this.class = 'page-stack';\n }\n ngOnInit() {\n }\n}\nPageStackComponent.type = PAGE_TYPE$3;\nPageStackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nPageStackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PageStackComponent, selector: \"flow-page-stack\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n \n \n
\n `, isInline: true, components: [{ type: ComponentOutletComponent, selector: \"phaas-ngflow-component-outlet\", inputs: [\"flow\", \"page\", \"component\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageStackComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-page-stack',\n template: `\n
\n \n \n
\n `\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst PAGE_FACTORY = new InjectionToken('PageFactory');\n\nclass PageOutletHostDirective {\n constructor(viewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n}\nPageOutletHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageOutletHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nPageOutletHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PageOutletHostDirective, selector: \"[phaasNgFlowPageOutletHost]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageOutletHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[phaasNgFlowPageOutletHost]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });\nclass PageOutletComponent {\n constructor(factories, componentFactoryResolver, fetcher) {\n this.factories = factories;\n this.componentFactoryResolver = componentFactoryResolver;\n this.fetcher = fetcher;\n this.class = 'page-outlet';\n }\n ngOnInit() {\n this.checkRender();\n }\n ngOnChanges(changes) {\n if (changes.flow || changes.page) {\n this.checkRender();\n }\n }\n checkRender() {\n if (!this.page) {\n console.log('cannot find page render -- no page');\n return;\n }\n if (!this.host) {\n console.log('cannot find page render -- no host');\n return;\n }\n for (const f of this.factories) {\n const found = f.mapType(this.page);\n if (found !== null) {\n this.render(found);\n return;\n }\n }\n console.log(`page type ${this.page.type} not found -- using stack as the default`);\n this.render(PageStackComponent);\n }\n render(t) {\n var _a, _b, _c;\n if (!this.host) {\n return;\n }\n const host = this.host;\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(t);\n const viewContainerRef = host.viewContainerRef;\n viewContainerRef.clear();\n // initial setup of any datasources the component does this as well\n const fetcherSources = (_a = this.flow) === null || _a === void 0 ? void 0 : _a.fetcherSources;\n if (fetcherSources) {\n this.fetcher.initSources(fetcherSources);\n }\n // get some clean config\n const shallowConfig = Object.assign(Object.assign({}, (_b = this.flow) === null || _b === void 0 ? void 0 : _b.pageConfig), (_c = this.page) === null || _c === void 0 ? void 0 : _c.pageConfig);\n // do a deep copy of this so we don't get repeated subscriptions if we go back/forth between pages\n const cleanConfig = JSON.parse(JSON.stringify(shallowConfig));\n this.fetcher.process(cleanConfig, cleanConfig, true);\n const pageRef = viewContainerRef.createComponent(componentFactory);\n pageRef.instance.flow = this.flow;\n pageRef.instance.page = this.page;\n pageRef.instance.pageConfig = cleanConfig;\n // page ngOnInit will fire at some point after this\n }\n}\nPageOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageOutletComponent, deps: [{ token: PAGE_FACTORY, optional: true }, { token: i0.ComponentFactoryResolver }, { token: FetcherService }], target: i0.ɵɵFactoryTarget.Component });\nPageOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PageOutletComponent, selector: \"phaas-ngflow-page-outlet\", inputs: { flow: \"flow\", page: \"page\" }, host: { properties: { \"class\": \"this.class\" } }, viewQueries: [{ propertyName: \"host\", first: true, predicate: PageOutletHostDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `\n \n `, isInline: true, directives: [{ type: PageOutletHostDirective, selector: \"[phaasNgFlowPageOutletHost]\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageOutletComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-page-outlet',\n template: `\n \n `\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [PAGE_FACTORY]\n }] }, { type: i0.ComponentFactoryResolver }, { type: FetcherService }]; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }], host: [{\n type: ViewChild,\n args: [PageOutletHostDirective, { static: true }]\n }], flow: [{\n type: Input\n }], page: [{\n type: Input\n }] } });\n\nclass ControllerComponent {\n constructor(controllerService) {\n this.controllerService = controllerService;\n this.debug = new URLSearchParams(window.location.search).get('debug');\n }\n}\nControllerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerComponent, deps: [{ token: ControllerService }], target: i0.ɵɵFactoryTarget.Component });\nControllerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ControllerComponent, selector: \"phaas-ngflow-controller\", ngImport: i0, template: `\n
\n
\n \n \n
\n
\n `, isInline: true, styles: [\"\\n .page-container {\\n display: flex;\\n flex-direction: row;\\n }\\n .page {\\n flex-grow: 4;\\n }\\n\\n .debugger {\\n flex-grow: 2;\\n min-width: 400px;\\n }\\n\\n .page-outlet {\\n display: flex;\\n }\\n .page-outlet > * {\\n flex-grow: 1;\\n }\\n .page-component-outlet {\\n flex-grow: 1;\\n }\\n .component-outlet {\\n display: flex;\\n flex-grow: 1;\\n position: relative;\\n }\\n .component-outlet > * {\\n flex-basis: 100%;\\n }\\n\\n .valid-indicator {\\n display: none;\\n position: absolute;\\n top: 0;\\n right: 5px;\\n font-weight: bold;\\n font-size: 20px;\\n }\\n .debug .component-outlet > .valid-indicator {\\n display: block;\\n color: #888;\\n }\\n .debug .component-outlet.is-valid > .valid-indicator {\\n color: green;\\n }\\n\\n .submittable-indicator {\\n display: none;\\n position: absolute;\\n top: 0;\\n right: 22px;\\n font-weight: bold;\\n font-size: 20px;\\n }\\n .debug .component-outlet > .submittable-indicator {\\n display: block;\\n color: #888;\\n }\\n .debug .component-outlet.is-submittable > .submittable-indicator {\\n color: green;\\n }\\n\\n .debug-only {\\n display: none;\\n white-space: break-spaces;\\n }\\n .debug .debug-only {\\n display: block;\\n }\\n .debug .debug-json {\\n white-space: pre;\\n font-family: monospace;\\n font-size: 10px;\\n }\\n .debug .page-outlet {\\n outline: 1px dashed red;\\n background-color: #ffcccc;\\n }\\n .debug .page-component-outlet {\\n outline: 2px dashed green;\\n background-color: #ccffcc;\\n }\\n .debug .component-outlet {\\n outline: 1px dashed blue;\\n background-color: #ccccff;\\n }\\n \"], components: [{ type: PageOutletComponent, selector: \"phaas-ngflow-page-outlet\", inputs: [\"flow\", \"page\"] }], directives: [{ type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }], encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-controller',\n template: `\n
\n
\n \n \n
\n
\n `,\n styles: [`\n .page-container {\n display: flex;\n flex-direction: row;\n }\n .page {\n flex-grow: 4;\n }\n\n .debugger {\n flex-grow: 2;\n min-width: 400px;\n }\n\n .page-outlet {\n display: flex;\n }\n .page-outlet > * {\n flex-grow: 1;\n }\n .page-component-outlet {\n flex-grow: 1;\n }\n .component-outlet {\n display: flex;\n flex-grow: 1;\n position: relative;\n }\n .component-outlet > * {\n flex-basis: 100%;\n }\n\n .valid-indicator {\n display: none;\n position: absolute;\n top: 0;\n right: 5px;\n font-weight: bold;\n font-size: 20px;\n }\n .debug .component-outlet > .valid-indicator {\n display: block;\n color: #888;\n }\n .debug .component-outlet.is-valid > .valid-indicator {\n color: green;\n }\n\n .submittable-indicator {\n display: none;\n position: absolute;\n top: 0;\n right: 22px;\n font-weight: bold;\n font-size: 20px;\n }\n .debug .component-outlet > .submittable-indicator {\n display: block;\n color: #888;\n }\n .debug .component-outlet.is-submittable > .submittable-indicator {\n color: green;\n }\n\n .debug-only {\n display: none;\n white-space: break-spaces;\n }\n .debug .debug-only {\n display: block;\n }\n .debug .debug-json {\n white-space: pre;\n font-family: monospace;\n font-size: 10px;\n }\n .debug .page-outlet {\n outline: 1px dashed red;\n background-color: #ffcccc;\n }\n .debug .page-component-outlet {\n outline: 2px dashed green;\n background-color: #ccffcc;\n }\n .debug .component-outlet {\n outline: 1px dashed blue;\n background-color: #ccccff;\n }\n `],\n encapsulation: ViewEncapsulation.None\n }]\n }], ctorParameters: function () { return [{ type: ControllerService }]; } });\n\nclass ComponentFilterPipe {\n transform(items, filter) {\n filter = filter || {};\n return (items || []).filter((i) => !filter.outlet || i.outlet === filter.outlet);\n }\n}\nComponentFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nComponentFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentFilterPipe, name: \"componentFilter\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentFilterPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'componentFilter',\n pure: false\n }]\n }] });\n\nclass CompilerFactoryFunc {\n static createCompiler(compilerFactory) {\n return compilerFactory.createCompiler();\n }\n}\nclass ControllerModule {\n}\nControllerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerModule, declarations: [PageOutletHostDirective,\n ComponentOutletHostDirective,\n ControllerComponent,\n PageOutletComponent,\n ComponentOutletComponent,\n ComponentFilterPipe], imports: [CommonModule,\n //\n HttpModule,\n WebsocketModule], exports: [ControllerComponent,\n PageOutletComponent,\n ComponentOutletComponent,\n ComponentFilterPipe] });\nControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerModule, providers: [\n // Compiler is not included in AOT-compiled bundle.\n // Must explicitly provide compiler to be able to compile templates at runtime.\n { provide: COMPILER_OPTIONS, useValue: {}, multi: true },\n { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] },\n { provide: Compiler, useFactory: CompilerFactoryFunc.createCompiler, deps: [CompilerFactory] },\n //\n ComponentStoreService,\n ControllerService\n ], imports: [[\n CommonModule,\n //\n HttpModule,\n WebsocketModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ControllerModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n PageOutletHostDirective,\n ComponentOutletHostDirective,\n ControllerComponent,\n PageOutletComponent,\n ComponentOutletComponent,\n ComponentFilterPipe\n ],\n providers: [\n // Compiler is not included in AOT-compiled bundle.\n // Must explicitly provide compiler to be able to compile templates at runtime.\n { provide: COMPILER_OPTIONS, useValue: {}, multi: true },\n { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] },\n { provide: Compiler, useFactory: CompilerFactoryFunc.createCompiler, deps: [CompilerFactory] },\n //\n ComponentStoreService,\n ControllerService\n ],\n imports: [\n CommonModule,\n //\n HttpModule,\n WebsocketModule\n ],\n exports: [\n ControllerComponent,\n PageOutletComponent,\n ComponentOutletComponent,\n ComponentFilterPipe\n ]\n }]\n }] });\n\nclass FlowTemplate {\n constructor(flow) {\n this.flow = flow;\n }\n generate(paramValues) {\n const flow = JSON.parse(JSON.stringify(this.flow));\n this.walk(flow, paramValues);\n return flow;\n }\n walk(obj, paramValues) {\n if (!obj || !paramValues) {\n return;\n }\n for (const key in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) {\n continue;\n }\n const keyValue = obj[key];\n const toString = Object.prototype.toString.call(keyValue);\n if (toString === '[object Object]') {\n // an object, recurse down\n this.walk(keyValue, paramValues);\n }\n else if (Array.isArray(keyValue)) {\n this.walk(keyValue, paramValues);\n }\n else if (toString === '[object String]') {\n // a string -- can be templated\n obj[key] = this.replace(keyValue, paramValues);\n }\n else {\n // something else, do not care\n }\n }\n }\n replace(value, paramValues) {\n if (!value) {\n return value;\n }\n for (const key in paramValues) {\n if (!Object.prototype.hasOwnProperty.call(paramValues, key)) {\n continue;\n }\n value = value.replace(`{{ ${key} }}`, paramValues[key]);\n }\n return value;\n }\n}\n\nclass ProfileDTO {\n constructor() {\n this.id = '';\n this.email = '';\n this.firstName = '';\n this.lastName = '';\n this.phone = '';\n this.addressLine1 = '';\n this.addressCity = '';\n this.addressState = '';\n this.addressZip = '';\n }\n}\nclass AuthenticationResult {\n constructor() {\n this.accessToken = '';\n this.refreshToken = '';\n this.mustChangePassword = false;\n this.profile = new ProfileDTO();\n }\n}\nclass RegisterUserDTO {\n}\nclass ChangePasswordDTO {\n}\nclass ResetPasswordDTO {\n}\nclass GoogleLoginInput {\n}\nclass FacebookLoginInput {\n}\nclass AuthService {\n constructor(httpClient, authHttpClient) {\n this.httpClient = httpClient;\n this.authHttpClient = authHttpClient;\n this.authEnvironment = 'env:phaas-auth-api';\n }\n isUsernameRegistered(username) {\n const url = `${this.authEnvironment}/is-username-registered`;\n return this.httpClient.post(url, { username }).pipe(map(res => res.payload));\n }\n login(username, password) {\n const url = `${this.authEnvironment}/login`;\n return this.httpClient.post(url, { username, password }).pipe(map(res => res.payload));\n }\n googleLogin(input) {\n const url = `${this.authEnvironment}/google-login`;\n return this.httpClient.post(url, input).pipe(map(res => res.payload));\n }\n facebookLogin(input) {\n const url = `${this.authEnvironment}/facebook-login`;\n return this.httpClient.post(url, input).pipe(map(res => res.payload));\n }\n register(user) {\n const url = `${this.authEnvironment}/register`;\n return this.httpClient.post(url, user).pipe(map(res => res.payload));\n }\n registerAndLogin(user) {\n const url = `${this.authEnvironment}/registerAndLogin`;\n return this.httpClient.post(url, user).pipe(map(res => res.payload));\n }\n changePassword(change) {\n const url = `${this.authEnvironment}/changePassword`;\n return this.httpClient.post(url, change).pipe(map(res => res.payload));\n }\n resetPassword(reset, token) {\n const url = `${this.authEnvironment}/resetPassword`;\n const authHeader = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n return this.httpClient.post(url, reset, { headers: authHeader }).pipe(map(res => res.payload));\n }\n sendResetPasswordEmail(email, referrer) {\n const url = `${this.authEnvironment}/forgotPassword`;\n return this.httpClient.post(url, { email, referrer }).pipe(map(res => res.payload));\n }\n syncRolesFromBidpalToPhaas(email) {\n const url = `${this.authEnvironment}/roles/sync-user-roles`;\n return this.httpClient.post(url, { email }).pipe(map(res => res.payload));\n }\n /* Authenticated Requests */\n getProfile() {\n const url = `${this.authEnvironment}/profile`;\n return this.authHttpClient.get(url).pipe(map(res => res.payload));\n }\n updateProfile(user) {\n const url = `${this.authEnvironment}/profile`;\n return this.authHttpClient.post(url, user).pipe(map(res => res.payload));\n }\n sendLoginMessage(params) {\n const url = `${this.authEnvironment}/send-login-message`;\n return this.httpClient.post(url, params).pipe(map(res => res.payload));\n }\n}\nAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthService, deps: [{ token: i3$1.HttpClient }, { token: i3.AuthHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\nAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: i3$1.HttpClient }, { type: i3.AuthHttpClient }]; } });\n\nclass CheckEmailStepOutput {\n}\nclass CheckEmailStepComponent {\n constructor(authService, window) {\n this.authService = authService;\n this.window = window;\n this.header = '';\n this.subheader = '';\n this.email = '';\n this.output = new EventEmitter();\n }\n ngOnInit() {\n this.initForm();\n }\n ngAfterViewInit() {\n this.window.parent.postMessage({\n type: 'onecause:auth-flow-component-resized',\n height: this.checkEmailDiv.nativeElement.scrollHeight\n }, '*');\n }\n submit() {\n var _a, _b, _c;\n if (!((_a = this.emailControl) === null || _a === void 0 ? void 0 : _a.valid)) {\n (_b = this.emailControl) === null || _b === void 0 ? void 0 : _b.markAsTouched();\n return;\n }\n this.authService.isUsernameRegistered((_c = this.emailControl) === null || _c === void 0 ? void 0 : _c.value).subscribe({\n next: (isRegistered) => {\n var _a;\n this.output.emit({\n email: (_a = this.emailControl) === null || _a === void 0 ? void 0 : _a.value,\n isRegistered,\n });\n },\n });\n }\n initForm() {\n this.emailControl = new FormControl(this.email, [Validators.required, Validators.email]);\n }\n}\nCheckEmailStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CheckEmailStepComponent, deps: [{ token: AuthService }, { token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Component });\nCheckEmailStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: CheckEmailStepComponent, selector: \"flow-check-email-step\", inputs: { header: \"header\", subheader: \"subheader\", email: \"email\" }, outputs: { output: \"output\" }, viewQueries: [{ propertyName: \"checkEmailDiv\", first: true, predicate: [\"checkEmailDiv\"], descendants: true }], ngImport: i0, template: \"
\\n
\\n
{{ header }}
\\n
{{ subheader }}
\\n \\n Email\\n \\n Email\\n Email is required.\\n Email must be valid.\\n \\n \\n \\n
\\n\\n\", styles: [\".check-email-step__form{display:flex;flex-direction:column}.check-email-step__header{font-size:20px;line-height:32px;font-weight:bold}.check-email-step__subheader{font-size:14px;line-height:20px;margin-bottom:16px}.check-email-step__submit-button{margin:24px 0 0}\\n\"], components: [{ type: i2$1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i2$2.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2$1.MatLabel, selector: \"mat-label\" }, { type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i2$1.MatPlaceholder, selector: \"mat-placeholder\" }, { type: i2$1.MatError, selector: \"mat-error\", inputs: [\"id\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: CheckEmailStepComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-check-email-step',\n templateUrl: './check-email-step.component.html',\n styleUrls: ['./check-email-step.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: AuthService }, { type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; }, propDecorators: { header: [{\n type: Input\n }], subheader: [{\n type: Input\n }], email: [{\n type: Input\n }], output: [{\n type: Output\n }], checkEmailDiv: [{\n type: ViewChild,\n args: ['checkEmailDiv']\n }] } });\n\nclass LoginStepComponent {\n constructor(environmentService, fb, authService, currentUserService, snackBar, window, activatedRoute) {\n this.environmentService = environmentService;\n this.fb = fb;\n this.authService = authService;\n this.currentUserService = currentUserService;\n this.snackBar = snackBar;\n this.window = window;\n this.activatedRoute = activatedRoute;\n this.header = '';\n this.subheader = '';\n this.email = '';\n this.disableChangeEmail = false;\n this.loginSuccess = new EventEmitter();\n this.startOver = new EventEmitter();\n this.logoUrl = '';\n this.forgotPasswordURL = '';\n this.showPassword = false;\n this.showMagicLink = false;\n this.magicLinkSent = false;\n }\n ngOnInit() {\n this.initForm();\n this.environmentService.getServiceURL('assets').subscribe(url => {\n this.logoUrl = `${url}/onecause/onecause-logo-gradient.svg`;\n }, (e) => { console.log(e); });\n this.environmentService.getURL('auth', 'forgot-password').subscribe(url => {\n this.forgotPasswordURL = url;\n });\n // show the magic link only if the referrer is available\n this.getReferrer().subscribe((r) => {\n this.showMagicLink = !!r;\n });\n }\n getReferrer() {\n const referrer = this.activatedRoute.snapshot.queryParams.referrer;\n if (referrer) {\n return of(referrer);\n }\n return this.magicLinkReferrer || of('');\n }\n ngAfterViewInit() {\n setTimeout(() => {\n this.initFocus();\n });\n this.window.parent.postMessage({\n type: 'onecause:auth-flow-component-resized',\n height: this.loginDiv.nativeElement.scrollHeight\n }, '*');\n }\n initForm() {\n this.username = new FormControl(this.email, [Validators.required, Validators.email]);\n this.password = new FormControl('', [Validators.required, Validators.minLength(5)]);\n this.username.disable();\n this.loginForm = this.fb.group({\n username: this.username,\n password: this.password,\n });\n }\n handleStartOver() {\n this.startOver.emit();\n }\n login() {\n var _a, _b, _c, _d, _e;\n if (!((_a = this.loginForm) === null || _a === void 0 ? void 0 : _a.valid)) {\n (_b = this.loginForm) === null || _b === void 0 ? void 0 : _b.markAllAsTouched();\n return;\n }\n (_c = this.loginForm) === null || _c === void 0 ? void 0 : _c.disable();\n this.authService.login((_d = this.loginForm) === null || _d === void 0 ? void 0 : _d.value.username, (_e = this.loginForm) === null || _e === void 0 ? void 0 : _e.value.password)\n .subscribe({\n next: res => {\n this.currentUserService.updateTokens(res.accessToken, res.refreshToken).subscribe({\n next: () => {\n this.loginSuccess.emit();\n }, error: () => {\n this.loginFailed();\n }\n });\n },\n error: _ => {\n this.loginFailed({ wrongPassword: true });\n },\n });\n }\n togglePassword() {\n this.showPassword = !this.showPassword;\n }\n loginFailed(errors) {\n var _a, _b;\n (_a = this.loginForm) === null || _a === void 0 ? void 0 : _a.enable();\n if (errors) {\n (_b = this.password) === null || _b === void 0 ? void 0 : _b.setErrors(errors);\n }\n this.passwordInput.nativeElement.focus();\n this.snackBar.open('Login Failed.', undefined, { duration: 5000 });\n }\n sendMagicLink() {\n zip(this.getReferrer(), this.magicLinkTargetImageURL || of(\"\"), this.magicLinkTargetName || of(\"\")).pipe(take(1)).subscribe((resolved) => {\n this.authService.sendLoginMessage({\n email: this.email,\n includeLink: true,\n referrer: resolved[0],\n targetImageURL: resolved[1],\n targetName: resolved[2]\n }).subscribe(() => {\n this.magicLinkSent = true;\n });\n });\n }\n initFocus() {\n if (!this.email) {\n this.emailInput.nativeElement.focus();\n }\n else {\n if (this.passwordInput) {\n this.passwordInput.nativeElement.focus();\n this.passwordInput.nativeElement.scrollIntoView();\n }\n }\n }\n}\nLoginStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoginStepComponent, deps: [{ token: i3.EnvironmentService }, { token: i1.FormBuilder }, { token: AuthService }, { token: i3.CurrentUserService }, { token: i3$2.MatSnackBar }, { token: WindowInjectionToken }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });\nLoginStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: LoginStepComponent, selector: \"flow-login-step\", inputs: { header: \"header\", subheader: \"subheader\", email: \"email\", disableChangeEmail: \"disableChangeEmail\", magicLinkReferrer: \"magicLinkReferrer\", magicLinkTargetImageURL: \"magicLinkTargetImageURL\", magicLinkTargetName: \"magicLinkTargetName\" }, outputs: { loginSuccess: \"loginSuccess\", startOver: \"startOver\" }, viewQueries: [{ propertyName: \"emailInput\", first: true, predicate: [\"emailInput\"], descendants: true }, { propertyName: \"passwordInput\", first: true, predicate: [\"passwordInput\"], descendants: true }, { propertyName: \"loginDiv\", first: true, predicate: [\"loginDiv\"], descendants: true }], ngImport: i0, template: \"
\\n
\\n
{{header}}
\\n
{{subheader}}
\\n \\n Email Address\\n \\n \\n Please enter a valid email\\n address\\n \\n Email address is required.\\n \\n \\n\\n \\n Password\\n \\n \\n visibility\\n \\n \\n visibility_off\\n \\n \\n Incorrect password, please try again.\\n \\n \\n \\n Forgot Password?\\n \\n \\n \\n\\n\\n \\n\\n \\n \\n \\n \\n \\n\\n\\n \\n
\\n\", styles: [\".login__form{display:flex;flex-direction:column;align-items:stretch}.login__header{font-size:20px;line-height:32px;font-weight:bold}.login__subheader{font-size:14px;line-height:20px;margin-bottom:16px}.login__submit-button{margin-top:24px}.login__start-over-button{cursor:pointer;font-size:12px;font-weight:600;opacity:.65}.login__forgot-password{text-decoration:underline;padding:6px 0}.login__magic-link-explain{display:flex;flex-direction:row;padding:6px 16px;align-items:center;border-radius:4px;font-size:12px;line-height:20px;color:#17232c;margin-bottom:20px}.login__magic-link-explain a{cursor:pointer}.login__magic-link-explain .mat-icon{margin-right:16px}.login__magic-link-explain>div{flex:1;font-size:12px;line-height:20px}.login .mat-input-element:disabled{color:inherit}.login__magic-link-separator{display:flex;align-items:center;text-align:center;font-weight:bold;margin:1.5em 0;font-size:14px;color:#17232c94}.login__magic-link-separator:before,.login__magic-link-separator:after{content:\\\"\\\";flex:1;border-bottom:1px solid #66665A}.login__magic-link-separator:not(:empty):before{margin-right:.25em}.login__magic-link-separator:not(:empty):after{margin-left:.25em}\\n\"], components: [{ type: i2$1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i7.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { type: i2$2.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i2$1.MatLabel, selector: \"mat-label\" }, { type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i2$1.MatSuffix, selector: \"[matSuffix]\" }, { type: i2$1.MatError, selector: \"mat-error\", inputs: [\"id\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: LoginStepComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-login-step',\n templateUrl: './login-step.component.html',\n styleUrls: ['./login-step.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: i3.EnvironmentService }, { type: i1.FormBuilder }, { type: AuthService }, { type: i3.CurrentUserService }, { type: i3$2.MatSnackBar }, { type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }, { type: i5.ActivatedRoute }]; }, propDecorators: { header: [{\n type: Input\n }], subheader: [{\n type: Input\n }], email: [{\n type: Input\n }], disableChangeEmail: [{\n type: Input\n }], magicLinkReferrer: [{\n type: Input\n }], magicLinkTargetImageURL: [{\n type: Input\n }], magicLinkTargetName: [{\n type: Input\n }], loginSuccess: [{\n type: Output\n }], startOver: [{\n type: Output\n }], emailInput: [{\n type: ViewChild,\n args: ['emailInput']\n }], passwordInput: [{\n type: ViewChild,\n args: ['passwordInput']\n }], loginDiv: [{\n type: ViewChild,\n args: ['loginDiv']\n }] } });\n\nclass PasswordWithRequirementsComponent {\n constructor(fb) {\n this.fb = fb;\n this.showPassword = false;\n this.requirementsMet = false;\n this.hasLength = false;\n this.hasUppercase = false;\n this.hasLowercase = false;\n this.hasNumber = false;\n this.hasSpecial = false;\n this.initForm();\n }\n ngOnChanges(changes) {\n if (changes.passwordControl) {\n this.password.valueChanges.subscribe(() => {\n this.passwordControl.setValue(this.password.value);\n this.passwordControl.setErrors(this.password.errors);\n });\n }\n }\n initForm() {\n this.password = new FormControl('', [(control) => this.validatePassword(control)]);\n this.form = this.fb.group({ password: this.password });\n }\n togglePassword() {\n this.showPassword = !this.showPassword;\n }\n validatePassword(password) {\n let lengthReq = false;\n let reqsMet = 0;\n const currentPassword = password.value;\n const checkUppercase = new RegExp('.*[A-Z].*');\n const checkLowercase = new RegExp('.*[a-z].*');\n const checkNumber = new RegExp('.*[0-9].*');\n const checkSpecial = new RegExp('.*[^a-zA-Z0-9].*');\n // Check for a minimum of 8 characters\n this.hasLength = currentPassword.length >= 8;\n if (this.hasLength) {\n lengthReq = true;\n }\n // Check for at least one uppercase letter\n this.hasUppercase = checkUppercase.test(currentPassword);\n if (this.hasUppercase) {\n reqsMet++;\n }\n // Check for at least one lowercase letter\n this.hasLowercase = checkLowercase.test(currentPassword);\n if (this.hasLowercase) {\n reqsMet++;\n }\n // Check for at least one number\n this.hasNumber = checkNumber.test(currentPassword);\n if (this.hasNumber) {\n reqsMet++;\n }\n // Check for at least one special character\n this.hasSpecial = checkSpecial.test(currentPassword);\n if (this.hasSpecial) {\n reqsMet++;\n }\n if (reqsMet >= 3 && lengthReq) {\n return null;\n }\n else {\n return { validatePassword: { valid: false } };\n }\n }\n}\nPasswordWithRequirementsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PasswordWithRequirementsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });\nPasswordWithRequirementsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PasswordWithRequirementsComponent, selector: \"flow-password-with-requirements\", inputs: { passwordControl: \"passwordControl\" }, usesOnChanges: true, ngImport: i0, template: \"
\\n
\\n \\n Password\\n \\n \\n visibility\\n visibility_off\\n \\n \\n warning\\n This password doesn't meet the requirements.\\n \\n \\n
\\n

Your password must:

\\n
    \\n
  • \\n - Be at least 8 characters long\\n check_circle\\n
  • \\n
\\n

Include characters from 3 of these 4 groups:

\\n
    \\n
  • \\n - Uppercase letters\\n check_circle\\n
  • \\n
  • \\n - Lowercase letters\\n check_circle\\n
  • \\n
  • \\n - Numbers\\n check_circle\\n
  • \\n
  • \\n - Special characters (!, @, #, etc.)\\n check_circle\\n
  • \\n
\\n
\\n \\n
\\n\", styles: [\":host{position:relative;min-width:100%;display:flex;flex-direction:column;align-items:center;font-family:Lato,sans-serif;font-size:14px;line-height:20px;color:#0c0916cc}.requirement-met{color:#58cc88}.wrapper{width:100%;display:flex;flex-direction:column;align-items:stretch;background-color:#fff}.wrapper .password-field{width:100%;margin-bottom:8px}.wrapper .password-field .password-visibility{cursor:pointer;color:#0c091699}.wrapper mat-error{display:flex;align-items:center;font-size:12px}.wrapper mat-error mat-icon{margin-right:4px;font-size:14px;height:14px;width:14px;line-height:14px}.wrapper .password-with-requirements{font-size:14px;line-height:20px;margin:0 auto 20px;width:280px}.wrapper .password-with-requirements p{margin:0 0 8px}.wrapper .password-with-requirements ul{font-weight:bold;line-height:20px;list-style-type:none;margin:0 0 12px;padding:0}.wrapper .password-with-requirements ul li{margin:0;padding:0;display:flex;justify-content:space-between;align-items:center}.wrapper .password-with-requirements ul li mat-icon{font-size:18px;height:18px;width:18px;line-height:18px}\\n\"], components: [{ type: i2$1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i7.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i2$1.MatLabel, selector: \"mat-label\" }, { type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { type: i2$1.MatSuffix, selector: \"[matSuffix]\" }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2$1.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PasswordWithRequirementsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-password-with-requirements',\n templateUrl: './password-with-requirements.component.html',\n styleUrls: ['./password-with-requirements.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { passwordControl: [{\n type: Input\n }] } });\n\nclass SignUpStepComponent {\n constructor(authService, currentUserService, snackbar, window) {\n this.authService = authService;\n this.currentUserService = currentUserService;\n this.snackbar = snackbar;\n this.window = window;\n this.email = '';\n this.disableChangeEmail = false;\n this.signUpSuccess = new EventEmitter();\n this.startOver = new EventEmitter();\n }\n ngOnInit() {\n this.initForm();\n }\n ngAfterViewInit() {\n this.window.parent.postMessage({\n type: 'onecause:auth-flow-component-resized',\n height: this.signUpDiv.nativeElement.scrollHeight\n }, '*');\n }\n handleStartOver() {\n this.startOver.emit();\n }\n submit() {\n if (!this.signUpForm.valid) {\n this.signUpForm.markAllAsTouched();\n return;\n }\n this.signUpForm.disable();\n this.authService.registerAndLogin({\n email: this.signUpForm.value.email,\n password: this.signUpForm.value.password,\n firstName: this.signUpForm.value.firstName,\n lastName: this.signUpForm.value.lastName,\n phone: this.signUpForm.value.phone,\n addressLine1: '',\n addressCity: '',\n addressState: '',\n addressZip: ''\n }).subscribe(res => {\n this.currentUserService.updateTokens(res.accessToken, res.refreshToken);\n this.signUpSuccess.emit();\n }, (err) => {\n this.signUpForm.enable();\n this.snackbar.open('There was a problem creating your account.', undefined, { duration: 5000 });\n });\n }\n initForm() {\n this.passwordControl = new FormControl('', []);\n this.signUpForm = new FormGroup({\n firstName: new FormControl('', [Validators.required]),\n lastName: new FormControl('', [Validators.required]),\n email: new FormControl(this.email, [Validators.required, Validators.email]),\n password: this.passwordControl,\n phone: new FormControl('', []),\n });\n this.signUpForm.controls.email.disable();\n }\n}\nSignUpStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SignUpStepComponent, deps: [{ token: AuthService }, { token: i3.CurrentUserService }, { token: i3$2.MatSnackBar }, { token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Component });\nSignUpStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: SignUpStepComponent, selector: \"flow-sign-up-step\", inputs: { email: \"email\", disableChangeEmail: \"disableChangeEmail\" }, outputs: { signUpSuccess: \"signUpSuccess\", startOver: \"startOver\" }, viewQueries: [{ propertyName: \"signUpDiv\", first: true, predicate: [\"signUpDiv\"], descendants: true }], ngImport: i0, template: \"
\\n
\\n
Looks like you're new!
\\n
\\n Get started with a OneCause account to attend and participate in fundraising events.\\n
\\n
\\n \\n First Name\\n \\n \\n First Name is required.\\n \\n \\n \\n Last Name\\n \\n \\n Last Name is required.\\n \\n \\n
\\n
\\n \\n Email Address\\n \\n \\n \\n Email Address is required.\\n \\n \\n Email Address is invalid.\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n Phone Number\\n \\n \\n
Review our\\n Privacy Policy\\n
\\n
\\n \\n \\n
\", styles: [\".sign-up-step__form{display:flex;flex-direction:column;align-items:stretch}.sign-up-step__header{font-size:20px;line-height:32px;font-weight:bold}.sign-up-step__subheader{font-size:14px;line-height:20px;margin-bottom:16px}.sign-up-step_name-fields{flex-wrap:wrap;justify-content:space-between;grid-column-gap:5%;-moz-column-gap:5%;column-gap:5%}.sign-up-step__form-row{display:flex;justify-content:stretch}mat-form-field{flex:1 0 auto}@media screen and (min-width: 1200px){.sign-up-step__last-name-field{margin-left:20px}}.sign-up-step__start-over-button{cursor:pointer;font-size:12px;font-weight:600;opacity:.65}.sign-up-step__submit-button{margin-top:24px}.sign-up-step__phone{display:flex;flex-direction:column}.sign-up-step__privacy-policy{font-size:12px;text-align:left;color:#0c091699}\\n\"], components: [{ type: i2$1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: PasswordWithRequirementsComponent, selector: \"flow-password-with-requirements\", inputs: [\"passwordControl\"] }, { type: i2$2.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i2$1.MatLabel, selector: \"mat-label\" }, { type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2$1.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i2$1.MatSuffix, selector: \"[matSuffix]\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SignUpStepComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-sign-up-step',\n templateUrl: './sign-up-step.component.html',\n styleUrls: ['./sign-up-step.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: AuthService }, { type: i3.CurrentUserService }, { type: i3$2.MatSnackBar }, { type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; }, propDecorators: { email: [{\n type: Input\n }], disableChangeEmail: [{\n type: Input\n }], signUpSuccess: [{\n type: Output\n }], startOver: [{\n type: Output\n }], signUpDiv: [{\n type: ViewChild,\n args: ['signUpDiv']\n }] } });\n\nvar AuthSteps;\n(function (AuthSteps) {\n AuthSteps[\"checkEmail\"] = \"check-email\";\n AuthSteps[\"login\"] = \"login\";\n AuthSteps[\"signUp\"] = \"sign-up\";\n})(AuthSteps || (AuthSteps = {}));\nconst COMPONENT_TYPE$b = 'phaas-ngflow-auth-two-step';\nclass ComponentAuthTwoStepComponent extends ComponentBase {\n constructor(authService, activatedRoute, currentUserService, controllerService, environmentService, window) {\n super();\n this.authService = authService;\n this.activatedRoute = activatedRoute;\n this.currentUserService = currentUserService;\n this.controllerService = controllerService;\n this.environmentService = environmentService;\n this.window = window;\n this.defaultLookupStepHeader = 'Welcome!';\n this.defaultLookupStepSubheader = 'Enter your email below.';\n this.defaultLoginStepHeader = \"Welcome back!\";\n this.defaultLoginStepSubheader = \"Sign in below.\";\n this.class = 'flow-core-component-auth-two-step';\n this.currentStep = AuthSteps.checkEmail;\n this.email = '';\n this.loaded = false;\n this.disableChangeEmail = false;\n this.isAuthenticated = false;\n this.isAdvancing = false;\n this.redirectAfterAuthSuccess = false;\n }\n ngOnInit() {\n var _a, _b;\n (_a = this.config.redirectAfterAuthSuccess) === null || _a === void 0 ? void 0 : _a.subscribe(redirect => this.redirectAfterAuthSuccess = redirect);\n if (!this.config.initialEmail) {\n this.loaded = true;\n }\n (_b = this.config.initialEmail) === null || _b === void 0 ? void 0 : _b.subscribe(email => {\n this.authService.isUsernameRegistered(email).subscribe({\n next: (isRegistered) => {\n this.handleCheckEmail({\n email,\n isRegistered,\n });\n this.disableChangeEmail = true;\n this.currentStep = isRegistered ? AuthSteps.login : AuthSteps.signUp;\n this.loaded = true;\n },\n });\n });\n // we may already have an auth token available\n this.currentUserService.getTokens().subscribe(_ => {\n this.handleAuthSuccess();\n }, (e) => { console.log(e); });\n }\n validate() {\n return new ComponentValidationResult(false, [this.isAuthenticated]);\n }\n startOver() {\n this.email = '';\n this.currentStep = AuthSteps.checkEmail;\n }\n handleCheckEmail(checkEmailOut) {\n this.email = checkEmailOut.email || '';\n if (checkEmailOut.isRegistered) {\n this.currentStep = AuthSteps.login;\n }\n else {\n this.currentStep = AuthSteps.signUp;\n }\n }\n handleAuthSuccess() {\n this.isAuthenticated = true;\n if (this.isAdvancing) {\n return;\n }\n this.isAdvancing = true;\n this.controllerService.submit().subscribe((v) => {\n console.log('after submit');\n // if anything is still submittable (after one submit) then we need to just stop\n if (v.isSubmittable) {\n return;\n }\n if (this.redirectAfterAuthSuccess) {\n this.redirectAfterSuccess();\n }\n else {\n this.controllerService.nextPage();\n }\n }, (e) => {\n console.log('next page submit, error:', e);\n }, () => {\n this.isAdvancing = false;\n });\n }\n redirectAfterSuccess() {\n // if we have a url parameter or an environment default redirect, then use it\n const referrer = this.activatedRoute.snapshot.queryParams.referrer;\n if (referrer) {\n window.location.assign(referrer);\n return;\n }\n if (this.config.defaultRedirectURL) {\n // just to keep backward compatibility - should stop using this\n forkJoin([\n this.config.defaultRedirectURL.phaasDomain,\n this.config.defaultRedirectURL.route\n ]).subscribe((results) => {\n this.environmentService.getURL(results[0], results[1]).subscribe(url => {\n window.location.assign(url);\n });\n });\n }\n else if (this.config.redirectURL) {\n this.config.redirectURL.subscribe((url) => {\n this.window.location.assign(url);\n });\n }\n }\n}\nComponentAuthTwoStepComponent.type = COMPONENT_TYPE$b;\nComponentAuthTwoStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentAuthTwoStepComponent, deps: [{ token: AuthService }, { token: i5.ActivatedRoute }, { token: i3.CurrentUserService }, { token: ControllerService }, { token: i3.EnvironmentService }, { token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Component });\nComponentAuthTwoStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentAuthTwoStepComponent, selector: \"flow-core-component-auth-two-step\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"
\\n
\\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\", styles: [\".auth-two-step{width:100%;max-width:600px;margin:24px auto;font-family:Lato,sans-serif}.auth-two-step__content{display:flex;flex-direction:column;padding:0 16px}.auth-two-step__divider{margin:16px 0;display:flex;align-items:center;text-align:center;color:#0c0916cc}.auth-two-step__divider:before,.auth-two-step__divider:after{content:\\\"\\\";flex:1;border-bottom:1px solid rgba(12,9,22,.2)}.auth-two-step__divider:not(:empty):before{margin-right:16px}.auth-two-step__divider:not(:empty):after{margin-left:16px}\\n\"], components: [{ type: CheckEmailStepComponent, selector: \"flow-check-email-step\", inputs: [\"header\", \"subheader\", \"email\"], outputs: [\"output\"] }, { type: LoginStepComponent, selector: \"flow-login-step\", inputs: [\"header\", \"subheader\", \"email\", \"disableChangeEmail\", \"magicLinkReferrer\", \"magicLinkTargetImageURL\", \"magicLinkTargetName\"], outputs: [\"loginSuccess\", \"startOver\"] }, { type: SignUpStepComponent, selector: \"flow-sign-up-step\", inputs: [\"email\", \"disableChangeEmail\"], outputs: [\"signUpSuccess\", \"startOver\"] }], directives: [{ type: i3.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i2.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }], pipes: { \"async\": i2.AsyncPipe }, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentAuthTwoStepComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-core-component-auth-two-step',\n templateUrl: './component-auth-two-step.component.html',\n styleUrls: ['./component-auth-two-step.component.scss'],\n encapsulation: ViewEncapsulation.None\n }]\n }], ctorParameters: function () { return [{ type: AuthService }, { type: i5.ActivatedRoute }, { type: i3.CurrentUserService }, { type: ControllerService }, { type: i3.EnvironmentService }, { type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$a = 'phaas-ngflow-logout';\nclass ComponentLogoutComponent extends ComponentBase {\n constructor(controller) {\n super();\n this.controller = controller;\n this.class = 'phaas-ngflow-logout';\n }\n go() {\n this.controller.logout().subscribe(() => {\n // potentially emit a flow complete\n if (this.config.signalFlowComplete) {\n this.config.signalFlowComplete.subscribe((emit) => {\n if (emit) {\n this.controller.signalFlowComplete();\n }\n });\n }\n });\n }\n}\nComponentLogoutComponent.type = COMPONENT_TYPE$a;\nComponentLogoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentLogoutComponent, deps: [{ token: ControllerService }], target: i0.ɵɵFactoryTarget.Component });\nComponentLogoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentLogoutComponent, selector: \"phaas-ngflow-logout\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n `, isInline: true, styles: [\"button{margin:8px 0}\\n\"], components: [{ type: i2$2.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentLogoutComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-logout',\n template: `\n `,\n styleUrls: [\n `./component-logout.component.scss`\n ]\n }]\n }], ctorParameters: function () { return [{ type: ControllerService }]; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nclass AuthComponentsFactoryService {\n constructor() { }\n mapType(componentDefinition) {\n switch (componentDefinition.type) {\n case ComponentAuthTwoStepComponent.type:\n return ComponentAuthTwoStepComponent;\n case ComponentLogoutComponent.type:\n return ComponentLogoutComponent;\n }\n return null;\n }\n}\nAuthComponentsFactoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsFactoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nAuthComponentsFactoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsFactoryService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsFactoryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass FacebookButtonComponent {\n constructor() {\n this.scopes = 'public_profile,email';\n this.appId = '';\n this.available = new EventEmitter();\n this.signin = new EventEmitter();\n }\n ngAfterViewInit() {\n this.loadFacebook();\n }\n fbAsyncInit() {\n FB.init({\n appId: this.appId,\n cookie: true,\n xfbml: true,\n version: 'v3.1'\n });\n FB.AppEvents.logPageView();\n window.fbOnLogin = this.fbOnLogin.bind(this);\n this.available.emit(true);\n }\n loadFacebook() {\n window.fbAsyncInit = () => {\n this.fbAsyncInit();\n };\n ((d, s, id) => {\n var _a;\n const fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {\n // already loaded, just use it\n this.fbAsyncInit();\n return;\n }\n const js = d.createElement(s);\n js.id = id;\n js.src = 'https://connect.facebook.net/en_US/sdk.js';\n (_a = fjs.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(js, fjs);\n })(document, 'script', 'facebook-jssdk');\n }\n fbOnLogin(r) {\n if (r.authResponse) {\n this.signin.emit(r.authResponse);\n }\n else {\n // failed to fb login\n }\n }\n}\nFacebookButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FacebookButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nFacebookButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: FacebookButtonComponent, selector: \"flow-facebook-button\", inputs: { scopes: \"scopes\", appId: \"appId\" }, outputs: { available: \"available\", signin: \"signin\" }, ngImport: i0, template: \" \", styles: [\".google-button{display:flex;flex-direction:row;width:228px;height:40px;background-color:#4285f4;border:none;color:#fff;border-radius:2px}.google-button:hover{cursor:pointer}.google-button .icon{width:40px;height:4px;margin-top:-3px;margin-left:-3px}.google-button .text{display:inline-block;font-size:16px;line-height:40px;padding-left:16px;font-weight:bold;font-family:\\\"Roboto\\\",sans-serif}\\n\"] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FacebookButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-facebook-button',\n templateUrl: 'facebook-button.component.html',\n styleUrls: ['./facebook-button.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { scopes: [{\n type: Input\n }], appId: [{\n type: Input\n }], available: [{\n type: Output\n }], signin: [{\n type: Output\n }] } });\n\nclass GoogleButtonComponent {\n constructor() {\n this.clientId = '';\n this.available = new EventEmitter();\n this.signin = new EventEmitter();\n }\n ngAfterViewInit() {\n this.loadGoogle();\n }\n loadGoogle() {\n ((d, s, id) => {\n var _a;\n const fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {\n this.googleAuthInit();\n return;\n }\n const js = d.createElement(s);\n js.id = id;\n js.src = 'https://apis.google.com/js/platform.js';\n js.onload = () => {\n this.googleAuthInit();\n };\n (_a = fjs.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(js, fjs);\n })(document, 'script', 'google-jssdk');\n }\n googleAuthInit() {\n gapi.load('auth2', () => {\n this.auth2 = gapi.auth2.init({\n // eslint-disable-next-line @typescript-eslint/naming-convention\n client_id: this.clientId,\n cookiepolicy: 'single_host_origin',\n scope: 'profile email'\n });\n this.attachSignin(document.getElementById('googleSigninButton'));\n });\n }\n attachSignin(element) {\n this.available.emit(true);\n this.auth2.attachClickHandler(element, {}, (googleUser) => {\n this.signin.emit(googleUser);\n }, (error) => {\n console.log('failed attaching google signing handler:', error);\n });\n }\n}\nGoogleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: GoogleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nGoogleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: GoogleButtonComponent, selector: \"flow-google-button\", inputs: { clientId: \"clientId\" }, outputs: { available: \"available\", signin: \"signin\" }, ngImport: i0, template: \"
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
Sign in with Google
\\n
\\n\", styles: [\".google-button{display:flex;flex-direction:row;width:228px;height:40px;background-color:#4285f4;border:none;color:#fff;border-radius:2px}.google-button:hover{cursor:pointer}.google-button .icon{width:40px;height:4px;margin-top:-3px;margin-left:-3px}.google-button .text{display:inline-block;font-size:16px;line-height:40px;padding-left:16px;font-weight:bold;font-family:\\\"Roboto\\\",sans-serif}\\n\"] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: GoogleButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-google-button',\n templateUrl: 'google-button.component.html',\n styleUrls: ['./google-button.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { clientId: [{\n type: Input\n }], available: [{\n type: Output\n }], signin: [{\n type: Output\n }] } });\n\nclass SocialLoginComponent {\n constructor(authService, currentUserService, snackBar, http) {\n this.authService = authService;\n this.currentUserService = currentUserService;\n this.snackBar = snackBar;\n this.http = http;\n this.loginSuccess = new EventEmitter();\n this.googleClientId = '';\n this.googleIsReady = false;\n this.facebookAppId = '';\n this.facebookIsReady = false;\n }\n ngOnInit() {\n this.http.get('authconfig.json').subscribe((d) => {\n this.facebookAppId = d.facebookAppID;\n this.googleClientId = d.googleOAuthClientID;\n }, (e) => { console.log(e); });\n }\n googleAvailable() {\n this.googleIsReady = true;\n }\n googleSignin(googleUser) {\n this.authService.googleLogin({\n idToken: googleUser.getAuthResponse().id_token\n }).subscribe(res => {\n this.currentUserService.updateTokens(res.accessToken, res.refreshToken).subscribe(_ => {\n this.handleLoginSuccess();\n });\n }, _ => {\n this.snackBar.open('Login Failed.', undefined, { duration: 5000 });\n });\n }\n facebookAvailable() {\n this.facebookIsReady = true;\n }\n facebookSignin(data) {\n this.authService.facebookLogin({\n accessToken: data.accessToken\n }).subscribe(res => {\n this.currentUserService.updateTokens(res.accessToken, res.refreshToken).subscribe(_ => {\n this.handleLoginSuccess();\n });\n }, _ => {\n this.snackBar.open('Login Failed.', undefined, { duration: 5000 });\n });\n }\n handleLoginSuccess() {\n this.loginSuccess.emit();\n }\n}\nSocialLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SocialLoginComponent, deps: [{ token: AuthService }, { token: i3.CurrentUserService }, { token: i3$2.MatSnackBar }, { token: i3$1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });\nSocialLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: SocialLoginComponent, selector: \"flow-social-login\", outputs: { loginSuccess: \"loginSuccess\" }, ngImport: i0, template: \"
\\n \\n \\n
\\n\", styles: [\".social-login{display:flex;justify-content:center;flex-wrap:wrap;margin-left:-8px}.social-login__button{margin-bottom:16px;margin-left:8px}\\n\"], components: [{ type: GoogleButtonComponent, selector: \"flow-google-button\", inputs: [\"clientId\"], outputs: [\"available\", \"signin\"] }, { type: FacebookButtonComponent, selector: \"flow-facebook-button\", inputs: [\"scopes\", \"appId\"], outputs: [\"available\", \"signin\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: SocialLoginComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-social-login',\n templateUrl: './social-login.component.html',\n styleUrls: ['./social-login.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: AuthService }, { type: i3.CurrentUserService }, { type: i3$2.MatSnackBar }, { type: i3$1.HttpClient }]; }, propDecorators: { loginSuccess: [{\n type: Output\n }] } });\n\nclass AuthComponentsModule {\n}\nAuthComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nAuthComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsModule, declarations: [ComponentAuthTwoStepComponent,\n CheckEmailStepComponent,\n LoginStepComponent,\n SignUpStepComponent,\n PasswordWithRequirementsComponent,\n SocialLoginComponent,\n GoogleButtonComponent,\n FacebookButtonComponent,\n ComponentLogoutComponent], imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n MatSnackBarModule,\n //\n ControllerModule,\n HttpModule,\n AsyncModule,\n ThemeModule] });\nAuthComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsModule, providers: [\n { provide: COMPONENT_FACTORY, useClass: AuthComponentsFactoryService, multi: true }\n ], imports: [[\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n MatSnackBarModule,\n //\n ControllerModule,\n HttpModule,\n AsyncModule,\n ThemeModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: AuthComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n ComponentAuthTwoStepComponent,\n CheckEmailStepComponent,\n LoginStepComponent,\n SignUpStepComponent,\n PasswordWithRequirementsComponent,\n SocialLoginComponent,\n GoogleButtonComponent,\n FacebookButtonComponent,\n ComponentLogoutComponent\n ],\n providers: [\n { provide: COMPONENT_FACTORY, useClass: AuthComponentsFactoryService, multi: true }\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n MatSnackBarModule,\n //\n ControllerModule,\n HttpModule,\n AsyncModule,\n ThemeModule\n ]\n }]\n }] });\n\nconst COMPONENT_TYPE$9 = 'phaas-ngflow-banner';\nclass ComponentBannerComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-banner';\n }\n}\nComponentBannerComponent.type = COMPONENT_TYPE$9;\nComponentBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentBannerComponent, selector: \"phaas-ngflow-banner\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n
`, isInline: true, styles: [\".banner{background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:4px}\\n\"], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentBannerComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-banner',\n template: `\n
\n
`,\n styleUrls: [\n `./component-banner.component.scss`\n ]\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$8 = 'phaas-ngflow-controller-button';\nclass ComponentControllerButtonComponent extends ComponentBase {\n constructor(controllerService) {\n super();\n this.controllerService = controllerService;\n this.class = 'phaas-ngflow-controller-button';\n this.validation = new ComponentValidationResult(false, []);\n this.progressWidth = '0%';\n this.disableButton = new BehaviorSubject(true);\n this.isGoing = false;\n this.disableButton$ = this.disableButton.asObservable();\n }\n ngOnInit() {\n this.controllerService.activeComponentsAreValid$.subscribe((v) => {\n this.validation = v;\n this.calcDisabled();\n });\n this.calcDisabled();\n }\n go() {\n if (this.isGoing) {\n return;\n }\n this.isGoing = true;\n forkJoin({\n doSubmitsBeforeNext: this.config.doSubmitsBeforeNext || of(false),\n validateBeforeNext: this.config.validateBeforeNext || of(false),\n validation: this.controllerService.invalidateComponentValidation()\n }).pipe(mergeMap((joined) => {\n // if we were asked to submit before next, then do so\n if (joined.doSubmitsBeforeNext) {\n // do not bother checking \"isSubmittable\" -- let the components just deal with that\n // on their own.\n return this.controllerService.submit().pipe(map((newValidation) => {\n return {\n validateBeforeNext: joined.validateBeforeNext,\n validation: newValidation\n };\n }));\n }\n // no need to submit, just continue on\n return of({\n validateBeforeNext: joined.validateBeforeNext,\n validation: joined.validation\n });\n })).subscribe({\n next: (joined) => {\n // we have done our submission at this point\n // our validation is up to date\n if (joined.validateBeforeNext && !joined.validation.isValid) {\n return;\n }\n this.controllerService.nextPage();\n },\n complete: () => {\n this.isGoing = false;\n }\n });\n }\n calcDisabled() {\n forkJoin({\n doSubmitsBeforeNext: this.config.doSubmitsBeforeNext || of(false),\n validateBeforeEnable: this.config.validateBeforeEnable || of(false)\n }).pipe(map((joined) => {\n // this logic is returning \"enabled\" -- will negate later\n const v = this.validation;\n // if stuff is valid - then of course we should!\n // WHY EVEN ASK??\n if (v.isValid) {\n return true;\n }\n // if we were not asked to validate before enable -- then yes\n if (!joined.validateBeforeEnable) {\n return true;\n }\n return false;\n })).subscribe((enabled) => {\n this.disableButton.next(!enabled);\n });\n }\n}\nComponentControllerButtonComponent.type = COMPONENT_TYPE$8;\nComponentControllerButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentControllerButtonComponent, deps: [{ token: ControllerService }], target: i0.ɵɵFactoryTarget.Component });\nComponentControllerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentControllerButtonComponent, selector: \"phaas-ngflow-controller-button\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"
\\n \\n \\n \\n \\n
\\n\", styles: [\".validation-progress{background-color:#00000080;height:2px;position:absolute;bottom:0;left:0;border-radius:0 0 0 2px}.button-width{width:100%}\\n\"], components: [{ type: i2$2.MatButton, selector: \"button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\"], exportAs: [\"matButton\"] }], directives: [{ type: i3.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i2.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i2.NgSwitchDefault, selector: \"[ngSwitchDefault]\" }, { type: i2.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentControllerButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-controller-button',\n templateUrl: './component-controller-button.component.html',\n styleUrls: [\"./component-controller-button.component.scss\"]\n }]\n }], ctorParameters: function () { return [{ type: ControllerService }]; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nclass DemographicsData {\n}\nconst COMPONENT_TYPE$7 = 'phaas-ngflow-demographics';\nconst USA_ZIP_REGEXP = /^((\\d{5})|(\\d{5}-\\d{4}))$/;\nconst CAN_ZIP_REGEXP = /^([A-Za-z]\\d[A-Za-z][- ]?\\d[A-Za-z]\\d)$/;\nclass ComponentDemographicsComponent extends ComponentBase {\n constructor(store) {\n super();\n this.store = store;\n this.stateLabel = 'State';\n this.storeID = '';\n }\n ngOnInit() {\n this.config.firstName = this.config.firstName || {};\n this.config.lastName = this.config.lastName || {};\n this.config.email = this.config.email || {};\n this.config.mobilePhone = this.config.mobilePhone || {};\n this.config.address = this.config.address || {};\n // we need to get our store configuration before initializing anything\n (this.config.store || of(COMPONENT_TYPE$7)).subscribe((store => {\n this.storeID = store;\n this.initForm();\n }));\n }\n configChanged() {\n this.setStore();\n }\n validate() {\n var _a;\n return new ComponentValidationResult(false, [\n !!((_a = this.form) === null || _a === void 0 ? void 0 : _a.valid)\n ]);\n }\n submit() {\n return of(null);\n }\n initForm() {\n var _a;\n this.form = new FormGroup({\n firstName: new FormControl({ value: this.data.firstName, disabled: false }),\n lastName: new FormControl({ value: this.data.lastName, disabled: false }),\n email: new FormControl({ value: this.data.email, disabled: false }, [Validators.email]),\n // Validators.phone\n // PhoneNumberFormatter.initializePhoneFormatter(this.phone);\n mobilePhone: new FormControl({ value: this.data.mobilePhone, disabled: false }),\n street: new FormControl({ value: this.data.street, disabled: false }),\n city: new FormControl({ value: this.data.city, disabled: false }),\n state: new FormControl({ value: this.data.state, disabled: false }),\n // Validators.ZipCode\n zip: new FormControl({ value: this.data.zip, disabled: false }),\n country: new FormControl({ value: this.data.country, disabled: false })\n });\n this.setControl('firstName', this.config.firstName);\n this.setControl('lastName', this.config.lastName);\n this.setControl('email', this.config.email);\n this.setControl('mobilePhone', this.config.mobilePhone);\n this.setControl('street', this.config.address);\n this.setControl('city', this.config.address);\n this.setControl('state', this.config.address);\n this.setControl('zip', this.config.address);\n this.setControl('country', this.config.address);\n (_a = this.form.get('country')) === null || _a === void 0 ? void 0 : _a.valueChanges.subscribe((val) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('zip')) === null || _b === void 0 ? void 0 : _b.removeValidators(Validators.pattern(''));\n if (val === 'USA') {\n (_d = (_c = this.form) === null || _c === void 0 ? void 0 : _c.get('zip')) === null || _d === void 0 ? void 0 : _d.addValidators(Validators.pattern(USA_ZIP_REGEXP));\n this.stateLabel = \"State\";\n }\n else if (val === 'CAN') {\n (_f = (_e = this.form) === null || _e === void 0 ? void 0 : _e.get('zip')) === null || _f === void 0 ? void 0 : _f.addValidators(Validators.pattern(CAN_ZIP_REGEXP));\n this.stateLabel = \"Province\";\n }\n (_h = (_g = this.form) === null || _g === void 0 ? void 0 : _g.get('zip')) === null || _h === void 0 ? void 0 : _h.updateValueAndValidity();\n });\n // as we update our form, update our stored data\n this.form.valueChanges.subscribe(() => {\n this.setStore();\n });\n }\n setStore() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n this.data = {\n firstName: (_b = (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('firstName')) === null || _b === void 0 ? void 0 : _b.value,\n lastName: (_d = (_c = this.form) === null || _c === void 0 ? void 0 : _c.get('lastName')) === null || _d === void 0 ? void 0 : _d.value,\n email: (_f = (_e = this.form) === null || _e === void 0 ? void 0 : _e.get('email')) === null || _f === void 0 ? void 0 : _f.value,\n mobilePhone: (_h = (_g = this.form) === null || _g === void 0 ? void 0 : _g.get('mobilePhone')) === null || _h === void 0 ? void 0 : _h.value,\n street: (_k = (_j = this.form) === null || _j === void 0 ? void 0 : _j.get('street')) === null || _k === void 0 ? void 0 : _k.value,\n city: (_m = (_l = this.form) === null || _l === void 0 ? void 0 : _l.get('city')) === null || _m === void 0 ? void 0 : _m.value,\n state: (_p = (_o = this.form) === null || _o === void 0 ? void 0 : _o.get('state')) === null || _p === void 0 ? void 0 : _p.value,\n zip: (_r = (_q = this.form) === null || _q === void 0 ? void 0 : _q.get('zip')) === null || _r === void 0 ? void 0 : _r.value,\n country: (_t = (_s = this.form) === null || _s === void 0 ? void 0 : _s.get('country')) === null || _t === void 0 ? void 0 : _t.value\n };\n this.store.set(this.storeID, this.data);\n }\n setControl(controlName, configEntry) {\n var _a, _b;\n (_a = configEntry.required) === null || _a === void 0 ? void 0 : _a.subscribe((out) => {\n var _a;\n if (out) {\n (_a = this.form) === null || _a === void 0 ? void 0 : _a.controls[controlName].addValidators(Validators.required);\n }\n });\n (_b = configEntry.disabled) === null || _b === void 0 ? void 0 : _b.subscribe((out) => {\n var _a, _b;\n if (out) {\n (_a = this.form) === null || _a === void 0 ? void 0 : _a.controls[controlName].disable();\n }\n else {\n (_b = this.form) === null || _b === void 0 ? void 0 : _b.controls[controlName].enable();\n }\n });\n if (configEntry.default) {\n configEntry.default.subscribe((def) => {\n var _a;\n (_a = this.form) === null || _a === void 0 ? void 0 : _a.controls[controlName].setValue(def);\n });\n }\n }\n}\nComponentDemographicsComponent.type = COMPONENT_TYPE$7;\nComponentDemographicsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentDemographicsComponent, deps: [{ token: ComponentStoreService }], target: i0.ɵɵFactoryTarget.Component });\nComponentDemographicsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentDemographicsComponent, selector: \"flow-component-demographics\", usesInheritance: true, ngImport: i0, template: \"
\\n
\\n
\\n \\n \\n Optional\\n First Name is required.\\n \\n \\n \\n Optional\\n Last Name is required.\\n \\n
\\n
\\n \\n \\n Your receipt will be sent to this address\\n Email is required.\\n Email must be valid.\\n \\n \\n \\n Optional\\n Phone # must be valid.\\n \\n
\\n
\\n
\\n \\n \\n Optional\\n Street Address is required.\\n \\n
\\n
\\n \\n \\n Optional\\n City is required.\\n \\n \\n \\n \\n Optional\\n {{stateLabel}} is required.\\n \\n \\n \\n Optional\\n Zip is required.\\n Zip must be valid.\\n \\n
\\n
\\n \\n \\n United States\\n Canada\\n \\n Optional\\n Country is required.\\n \\n
\\n
\\n
\\n\", styles: [\".gapped{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;grid-gap:1em;gap:1em;flex:1 1}.gapped .mat-form-field{flex:1 1;min-width:125px}.optional{display:none}\\n\"], components: [{ type: i2$1.MatFormField, selector: \"mat-form-field\", inputs: [\"color\", \"floatLabel\", \"appearance\", \"hideRequiredMarker\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { type: i3$3.MatSelect, selector: \"mat-select\", inputs: [\"disabled\", \"disableRipple\", \"tabIndex\"], exportAs: [\"matSelect\"] }, { type: i4.MatOption, selector: \"mat-option\", exportAs: [\"matOption\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"id\", \"disabled\", \"required\", \"type\", \"value\", \"readonly\", \"placeholder\", \"errorStateMatcher\", \"aria-describedby\"], exportAs: [\"matInput\"] }, { type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"disabled\", \"formControlName\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { type: i2$1.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { type: i2$1.MatError, selector: \"mat-error\", inputs: [\"id\"] }, { type: i1.MaxLengthValidator, selector: \"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]\", inputs: [\"maxlength\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentDemographicsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-component-demographics',\n templateUrl: './component-demographics.component.html',\n styleUrls: ['./component-demographics.component.scss']\n }]\n }], ctorParameters: function () { return [{ type: ComponentStoreService }]; } });\n\nvar IconCollection;\n(function (IconCollection) {\n IconCollection[\"Material\"] = \"material\";\n})(IconCollection || (IconCollection = {}));\nclass ComponentIconComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-icon';\n }\n}\nComponentIconComponent.type = 'phaas-ngflow-icon';\nComponentIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentIconComponent, selector: \"phaas-ngflow-icon\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n \n {{ config.id | async }}\n \n
`, isInline: true, components: [{ type: i7.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], directives: [{ type: i2.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i2.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentIconComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-icon',\n template: `\n
\n \n {{ config.id | async }}\n \n
`,\n styles: []\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$6 = 'phaas-ngflow-image';\nclass ComponentImageComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-image';\n }\n}\nComponentImageComponent.type = COMPONENT_TYPE$6;\nComponentImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentImageComponent, selector: \"phaas-ngflow-image\", host: { properties: { \"class\": \"this.class\" } }, viewQueries: [{ propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `\n
\n \n
`, isInline: true, styles: [\".container { display: flex; justify-content: center; }\"], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentImageComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-image',\n template: `\n
\n \n
`,\n styles: [\n `.container { display: flex; justify-content: center; }`\n ]\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }], container: [{\n type: ViewChild,\n args: ['container', { read: ViewContainerRef }]\n }] } });\n\nvar ComponentLinkType;\n(function (ComponentLinkType) {\n ComponentLinkType[\"Default\"] = \"default\";\n ComponentLinkType[\"MatRaised\"] = \"mat-raised\";\n})(ComponentLinkType || (ComponentLinkType = {}));\nclass ComponentLinkComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-link';\n }\n}\nComponentLinkComponent.type = 'phaas-ngflow-link';\nComponentLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentLinkComponent, selector: \"phaas-ngflow-link\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n {{ config.text | async }}\n {{ config.text | async }}\n
`, isInline: true, components: [{ type: i2$2.MatAnchor, selector: \"a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]\", inputs: [\"disabled\", \"disableRipple\", \"color\", \"tabIndex\"], exportAs: [\"matButton\", \"matAnchor\"] }], directives: [{ type: i2.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i3.ThemeDirective, selector: \"[phaas-ngcommon-theme]\", inputs: [\"phaas-ngcommon-theme\"] }, { type: i2.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }, { type: i2.NgSwitchDefault, selector: \"[ngSwitchDefault]\" }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentLinkComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-link',\n template: `\n
\n {{ config.text | async }}\n {{ config.text | async }}\n
`,\n styles: []\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$5 = 'phaas-ngflow-markdown';\nclass ComponentMarkdownConfig {\n}\nclass ComponentMarkdownComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-markdown';\n this.markdown = '';\n }\n ngOnInit() {\n this.loadMarkedjs().subscribe(() => {\n var _a;\n (_a = this.config.markdown) === null || _a === void 0 ? void 0 : _a.subscribe((markdown) => {\n this.markdown = window.marked.parse(markdown || '');\n });\n });\n }\n loadMarkedjs() {\n const markedSub = new AsyncSubject();\n if (window.marked) {\n markedSub.next();\n markedSub.complete();\n }\n else {\n const markedScript = document.createElement('script');\n markedScript.src = 'https://cdn.jsdelivr.net/npm/marked@4.0.0/marked.min.js';\n markedScript.onload = () => {\n markedSub.next();\n markedSub.complete();\n };\n document.head.appendChild(markedScript);\n }\n return markedSub.asObservable();\n }\n}\nComponentMarkdownComponent.type = COMPONENT_TYPE$5;\nComponentMarkdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentMarkdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentMarkdownComponent, selector: \"flow-markdown\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `
`, isInline: true, styles: [\"\"] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentMarkdownComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-markdown',\n template: `
`,\n styles: [``],\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$4 = 'phaas-ngflow-object-tester';\nclass ComponentObjectTesterComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-object-tester';\n }\n}\nComponentObjectTesterComponent.type = COMPONENT_TYPE$4;\nComponentObjectTesterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentObjectTesterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentObjectTesterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentObjectTesterComponent, selector: \"phaas-ngflow-object-tester\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"
{{ (config.object | async) | json }}
\\n\", styles: [\"\"], pipes: { \"json\": i2.JsonPipe, \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentObjectTesterComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-object-tester',\n templateUrl: `./component-object-tester.component.html`,\n styleUrls: ['./component-object-tester.component.scss'],\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$3 = 'phaas-ngflow-progress-bar';\nclass ComponentProgressBarComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-progress-bar';\n }\n currentValue() {\n return this.config.currentValue.pipe(map((cv) => {\n if (Array.isArray(cv)) {\n return cv.reduce((a, b) => a + b, 0);\n }\n else {\n return cv * 1;\n }\n }));\n }\n percent() {\n return combineLatest([\n this.currentValue(),\n this.config.maxValue\n ]).pipe(map(([current, max]) => {\n if (!max) {\n return 0;\n }\n return current / max * 100;\n }));\n }\n}\nComponentProgressBarComponent.type = COMPONENT_TYPE$3;\nComponentProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentProgressBarComponent, selector: \"phaas-ngflow-progress-bar\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"
\\n
\\n
\\n
\\n {{ (config.unit | async) || '$' }}\\n {{ currentValue() | async }}\\n
\\n
{{ (config.currentText | async) || '' }}
\\n
\\n
of
\\n
\\n
\\n {{ (config.unit | async) || '$' }}\\n {{ config.maxValue | async }}\\n
\\n
{{ (config.maxText | async) || '' }}
\\n
\\n
\\n\\n \\n
\\n\", styles: [\".mat-progress-bar{height:24px;border-radius:24px}.progress-text{margin-bottom:1em;display:flex;flex-direction:row;align-items:center}.progress-text>*:nth-child(1),.progress-text>*:nth-child(3){flex-grow:1}.progress-text .value{font-size:30px;font-family:Montserrat,sans-serif;font-weight:700;color:#0c0916cc}.progress-text .value,.progress-text .text{text-align:center}.progress-text .text,.progress-text .divider{font-size:16px;font-family:Montserrat,sans-serif;color:#0c0916cc}\\n\"], components: [{ type: i1$1.MatProgressBar, selector: \"mat-progress-bar\", inputs: [\"color\", \"mode\", \"value\", \"bufferValue\"], outputs: [\"animationEnd\"], exportAs: [\"matProgressBar\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentProgressBarComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-progress-bar',\n templateUrl: './component-progress-bar.component.html',\n styleUrls: ['./component-progress-bar.component.scss']\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE$2 = 'phaas-ngflow-sandbox';\nclass ComponentSandboxComponent extends ComponentBase {\n constructor(\n // private compiler: Compiler\n window) {\n super();\n this.window = window;\n this.content = '';\n }\n ngAfterViewInit() {\n if (this.container) {\n this.iframe = this.window.document.createElement('iframe');\n this.iframe.setAttribute('src', `http://localhost:4347/sandbox`);\n this.iframe.style.width = '100%';\n this.iframe.style.height = '100%';\n this.iframe.style.border = 'none';\n this.container.nativeElement.appendChild(this.iframe);\n }\n }\n}\nComponentSandboxComponent.type = COMPONENT_TYPE$2;\nComponentSandboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentSandboxComponent, deps: [{ token: WindowInjectionToken }], target: i0.ɵɵFactoryTarget.Component });\nComponentSandboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentSandboxComponent, selector: \"flow-sandbox-content\", inputs: { content: \"content\" }, viewQueries: [{ propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true }], usesInheritance: true, ngImport: i0, template: `\n
\n `, isInline: true });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentSandboxComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'flow-sandbox-content',\n template: `\n
\n `,\n styles: []\n }]\n }], ctorParameters: function () { return [{ type: Window, decorators: [{\n type: Inject,\n args: [WindowInjectionToken]\n }] }]; }, propDecorators: { container: [{\n type: ViewChild,\n args: ['container']\n }], content: [{\n type: Input\n }] } });\n\nconst COMPONENT_TYPE$1 = 'phaas-ngflow-submit-tester';\nclass ComponentSubmitTesterComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-submit-tester';\n this.submittable = false;\n this.submitCompletes = false;\n }\n validate() {\n return new ComponentValidationResult(this.submittable, [!this.submittable]);\n }\n submit() {\n // act like it is done\n this.submittable = !this.submitCompletes;\n return of(null);\n }\n}\nComponentSubmitTesterComponent.type = COMPONENT_TYPE$1;\nComponentSubmitTesterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentSubmitTesterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentSubmitTesterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentSubmitTesterComponent, selector: \"phaas-ngflow-submit-tester\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"
\\n On Submit, Complete it\\n Submittable\\n
\\n\", styles: [\"\"], directives: [{ type: i1.CheckboxControlValueAccessor, selector: \"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]\" }, { type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentSubmitTesterComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-submit-tester',\n templateUrl: `./component-submit-tester.component.html`,\n styleUrls: ['./component-submit-tester.component.scss'],\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst COMPONENT_TYPE = 'phaas-ngflow-title';\nclass ComponentTitleComponent extends ComponentBase {\n constructor() {\n super();\n this.class = 'phaas-ngflow-title';\n this.submittable = false;\n this.submitCompletes = false;\n }\n validate() {\n return new ComponentValidationResult(this.submittable, [!this.submittable]);\n }\n submit() {\n // act like it is done\n this.submittable = !this.submitCompletes;\n return of(null);\n }\n}\nComponentTitleComponent.type = COMPONENT_TYPE;\nComponentTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nComponentTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: ComponentTitleComponent, selector: \"phaas-ngflow-title\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: \"\\n

{{ config.text | async }}

\\n

{{ config.text | async }}

\\n

{{ config.text | async }}

\\n

{{ config.text | async }}

\\n
\\n\", styles: [\"h1{text-align:center}\\n\"], directives: [{ type: i2.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { type: i2.NgSwitchDefault, selector: \"[ngSwitchDefault]\" }, { type: i2.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }], pipes: { \"async\": i2.AsyncPipe, \"asyncDefault\": i3.AsyncDefaultPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentTitleComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-title',\n templateUrl: `./component-title.component.html`,\n styleUrls: ['./component-title.component.scss'],\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nclass ComponentsFactoryService {\n constructor() { }\n mapType(componentDefinition) {\n switch (componentDefinition.type) {\n case ComponentTitleComponent.type:\n return ComponentTitleComponent;\n case ComponentDemographicsComponent.type:\n return ComponentDemographicsComponent;\n case ComponentImageComponent.type:\n return ComponentImageComponent;\n case ComponentProgressBarComponent.type:\n return ComponentProgressBarComponent;\n case ComponentBannerComponent.type:\n return ComponentBannerComponent;\n case ComponentSandboxComponent.type:\n return ComponentSandboxComponent;\n case ComponentSubmitTesterComponent.type:\n return ComponentSubmitTesterComponent;\n case ComponentMarkdownComponent.type:\n return ComponentMarkdownComponent;\n case ComponentLinkComponent.type:\n return ComponentLinkComponent;\n case ComponentIconComponent.type:\n return ComponentIconComponent;\n case ComponentObjectTesterComponent.type:\n return ComponentObjectTesterComponent;\n case ComponentControllerButtonComponent.type:\n return ComponentControllerButtonComponent;\n }\n return null;\n }\n}\nComponentsFactoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsFactoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nComponentsFactoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsFactoryService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsFactoryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass ComponentsModule {\n}\nComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsModule, declarations: [ComponentBannerComponent,\n ComponentDemographicsComponent,\n ComponentImageComponent,\n ComponentProgressBarComponent,\n ComponentSandboxComponent,\n ComponentSubmitTesterComponent,\n ComponentTitleComponent,\n ComponentUnknownComponent,\n ComponentMarkdownComponent,\n ComponentLinkComponent,\n ComponentIconComponent,\n ComponentObjectTesterComponent,\n ComponentControllerButtonComponent], imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatProgressBarModule,\n MatIconModule,\n MatSelectModule,\n //\n AsyncModule,\n ControllerModule,\n HttpModule,\n ThemeModule] });\nComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsModule, providers: [\n { provide: COMPONENT_FACTORY, useClass: ComponentsFactoryService, multi: true }\n ], imports: [[\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatProgressBarModule,\n MatIconModule,\n MatSelectModule,\n //\n AsyncModule,\n ControllerModule,\n HttpModule,\n ThemeModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: ComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n ComponentBannerComponent,\n ComponentDemographicsComponent,\n ComponentImageComponent,\n ComponentProgressBarComponent,\n ComponentSandboxComponent,\n ComponentSubmitTesterComponent,\n ComponentTitleComponent,\n ComponentUnknownComponent,\n ComponentMarkdownComponent,\n ComponentLinkComponent,\n ComponentIconComponent,\n ComponentObjectTesterComponent,\n ComponentControllerButtonComponent\n ],\n providers: [\n { provide: COMPONENT_FACTORY, useClass: ComponentsFactoryService, multi: true }\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n // material\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatProgressBarModule,\n MatIconModule,\n MatSelectModule,\n //\n AsyncModule,\n ControllerModule,\n HttpModule,\n ThemeModule\n ]\n }]\n }] });\n\nclass FetchersFactoryService {\n constructor() { }\n mapSource(sourceName) {\n switch (sourceName) {\n case 'profile':\n return {\n type: 'auth-http',\n url: `https://phaas-auth-api.dev.onecause.com/profile`\n };\n }\n return null;\n }\n}\nFetchersFactoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersFactoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFetchersFactoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersFactoryService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersFactoryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass FetchersModule {\n}\nFetchersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nFetchersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersModule, imports: [CommonModule,\n //\n ControllerModule] });\nFetchersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersModule, providers: [\n { provide: FETCHERSOURCE_FACTORY, useClass: FetchersFactoryService, multi: true },\n ], imports: [[\n CommonModule,\n //\n ControllerModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: FetchersModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n providers: [\n { provide: FETCHERSOURCE_FACTORY, useClass: FetchersFactoryService, multi: true },\n ],\n imports: [\n CommonModule,\n //\n ControllerModule\n ],\n exports: []\n }]\n }] });\n\nconst PAGE_TYPE$2 = 'phaas-ngflow-grid';\nclass PageGridConfig {\n constructor() {\n this.columns = of('1fr');\n this.rows = of('1fr');\n this.areas = of('content');\n }\n}\nclass PageGridComponent extends PageBase {\n constructor() {\n super();\n }\n ngOnInit() {\n }\n}\nPageGridComponent.type = PAGE_TYPE$2;\nPageGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nPageGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PageGridComponent, selector: \"phaas-ngflow-page-grid\", usesInheritance: true, ngImport: i0, template: `\n
\n \n \n
\n `, isInline: true, components: [{ type: ComponentOutletComponent, selector: \"phaas-ngflow-component-outlet\", inputs: [\"flow\", \"page\", \"component\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }], pipes: { \"async\": i2.AsyncPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageGridComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-page-grid',\n template: `\n
\n \n \n
\n `\n }]\n }], ctorParameters: function () { return []; } });\n\nconst PAGE_TYPE$1 = 'phaas-ngflow-3column';\nclass Page3ColumnComponent extends PageBase {\n constructor() {\n super();\n this.class = 'page-3column';\n }\n ngOnInit() {\n }\n}\nPage3ColumnComponent.type = PAGE_TYPE$1;\nPage3ColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: Page3ColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nPage3ColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: Page3ColumnComponent, selector: \"phaas-ngflow-page-3column\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n `, isInline: true, styles: [\"\\n .left {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n }\\n .center {\\n flex-grow: 3;\\n display: flex;\\n flex-direction: column;\\n }\\n .right {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n }\\n \"], components: [{ type: ComponentOutletComponent, selector: \"phaas-ngflow-component-outlet\", inputs: [\"flow\", \"page\", \"component\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }], pipes: { \"componentFilter\": ComponentFilterPipe } });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: Page3ColumnComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-page-3column',\n template: `\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n `,\n styles: [`\n .left {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n .center {\n flex-grow: 3;\n display: flex;\n flex-direction: column;\n }\n .right {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n `]\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nconst PAGE_TYPE = 'phaas-ngflow-growing-center-column';\nclass PageGrowingCenterColumnComponent extends PageBase {\n constructor() {\n super();\n this.class = 'page-growing-center-column';\n }\n ngOnInit() {\n }\n}\nPageGrowingCenterColumnComponent.type = PAGE_TYPE;\nPageGrowingCenterColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageGrowingCenterColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nPageGrowingCenterColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.3\", type: PageGrowingCenterColumnComponent, selector: \"phaas-ngflow-page-growing-center-column\", host: { properties: { \"class\": \"this.class\" } }, usesInheritance: true, ngImport: i0, template: `\n
\n
\n
\n \n \n
\n
\n
\n `, isInline: true, styles: [\"\\n .center {\\n flex-grow: 3;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n }\\n .growing-column {\\n display: flex;\\n flex-direction: column;\\n justify-content: stretch;\\n }\\n \"], components: [{ type: ComponentOutletComponent, selector: \"phaas-ngflow-component-outlet\", inputs: [\"flow\", \"page\", \"component\"] }], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PageGrowingCenterColumnComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'phaas-ngflow-page-growing-center-column',\n template: `\n
\n
\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .center {\n flex-grow: 3;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n .growing-column {\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n }\n `]\n }]\n }], ctorParameters: function () { return []; }, propDecorators: { class: [{\n type: HostBinding,\n args: ['class']\n }] } });\n\nclass PagesFactoryService {\n constructor() { }\n mapType(pageDefinition) {\n switch (pageDefinition.type) {\n case PageStackComponent.type:\n return PageStackComponent;\n case Page3ColumnComponent.type:\n return Page3ColumnComponent;\n case PageGrowingCenterColumnComponent.type:\n return PageGrowingCenterColumnComponent;\n case PageGridComponent.type:\n return PageGridComponent;\n }\n return null;\n }\n}\nPagesFactoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesFactoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPagesFactoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesFactoryService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesFactoryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return []; } });\n\nclass PagesModule {\n}\nPagesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPagesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesModule, declarations: [PageStackComponent,\n Page3ColumnComponent,\n PageGridComponent,\n PageGrowingCenterColumnComponent], imports: [CommonModule,\n //\n ControllerModule] });\nPagesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesModule, providers: [\n { provide: PAGE_FACTORY, useClass: PagesFactoryService, multi: true }\n ], imports: [[\n CommonModule,\n //\n ControllerModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.3\", ngImport: i0, type: PagesModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n PageStackComponent,\n Page3ColumnComponent,\n PageGridComponent,\n PageGrowingCenterColumnComponent,\n ],\n providers: [\n { provide: PAGE_FACTORY, useClass: PagesFactoryService, multi: true }\n ],\n imports: [\n CommonModule,\n //\n ControllerModule\n ],\n exports: []\n }]\n }] });\n\n/*\n * Public API Surface of ngflow\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AuthComponentsFactoryService, AuthComponentsModule, COMPONENT_FACTORY, ComponentBase, ComponentFilterPipe, ComponentOutletComponent, ComponentStoreService, ComponentValidationResult, ComponentsFactoryService, ComponentsModule, ControllerComponent, ControllerModule, ControllerService, FETCHERSOURCE_FACTORY, FetcherSources, FetchersFactoryService, FetchersModule, FlowTemplate, HTTPFetcherSourceRefreshConfig, PAGE_FACTORY, PageBase, PageOutletComponent, PagesFactoryService, PagesModule };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Signaling client role.\n */\nvar Role;\n(function (Role) {\n Role[\"MASTER\"] = \"MASTER\";\n Role[\"VIEWER\"] = \"VIEWER\";\n})(Role = exports.Role || (exports.Role = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar isomorphic_webcrypto_1 = tslib_1.__importDefault(require(\"isomorphic-webcrypto\"));\nvar utils_1 = require(\"./internal/utils\");\n/**\n * Utility class for SigV4 signing requests. The AWS SDK cannot be used for this purpose because it does not have support for WebSocket endpoints.\n */\nvar SigV4RequestSigner = /** @class */ (function () {\n function SigV4RequestSigner(region, credentials, service) {\n if (service === void 0) { service = SigV4RequestSigner.DEFAULT_SERVICE; }\n this.region = region;\n this.credentials = credentials;\n this.service = service;\n }\n /**\n * Creates a SigV4 signed WebSocket URL for the given host/endpoint with the given query params.\n *\n * @param endpoint The WebSocket service endpoint including protocol, hostname, and path (if applicable).\n * @param queryParams Query parameters to include in the URL.\n * @param date Date to use for request signing. Defaults to NOW.\n *\n * Implementation note: Query parameters should be in alphabetical order.\n *\n * Note from AWS docs: \"When you add the X-Amz-Security-Token parameter to the query string, some services require that you include this parameter in the\n * canonical (signed) request. For other services, you add this parameter at the end, after you calculate the signature. For details, see the API reference\n * documentation for that service.\" KVS Signaling Service requires that the session token is added to the canonical request.\n *\n * @see https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n * @see https://gist.github.com/prestomation/24b959e51250a8723b9a5a4f70dcae08\n */\n SigV4RequestSigner.prototype.getSignedURL = function (endpoint, queryParams, date) {\n if (date === void 0) { date = new Date(); }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var datetimeString, dateString, protocol, urlProtocol, pathStartIndex, host, path, signedHeaders, method, credentialScope, canonicalQueryParams, canonicalQueryString, canonicalHeaders, canonicalHeadersString, payloadHash, canonicalRequest, canonicalRequestHash, stringToSign, signingKey, signature, _a, _b, signedQueryParams;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!(typeof this.credentials.getPromise === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.credentials.getPromise()];\n case 1:\n _c.sent();\n _c.label = 2;\n case 2:\n utils_1.validateValueNonNil(this.credentials.accessKeyId, 'credentials.accessKeyId');\n utils_1.validateValueNonNil(this.credentials.secretAccessKey, 'credentials.secretAccessKey');\n datetimeString = SigV4RequestSigner.getDateTimeString(date);\n dateString = SigV4RequestSigner.getDateString(date);\n protocol = 'wss';\n urlProtocol = protocol + \"://\";\n if (!endpoint.startsWith(urlProtocol)) {\n throw new Error(\"Endpoint '\" + endpoint + \"' is not a secure WebSocket endpoint. It should start with '\" + urlProtocol + \"'.\");\n }\n if (endpoint.includes('?')) {\n throw new Error(\"Endpoint '\" + endpoint + \"' should not contain any query parameters.\");\n }\n pathStartIndex = endpoint.indexOf('/', urlProtocol.length);\n if (pathStartIndex < 0) {\n host = endpoint.substring(urlProtocol.length);\n path = '/';\n }\n else {\n host = endpoint.substring(urlProtocol.length, pathStartIndex);\n path = endpoint.substring(pathStartIndex);\n }\n signedHeaders = ['host'].join(';');\n method = 'GET';\n credentialScope = dateString + '/' + this.region + '/' + this.service + '/' + 'aws4_request';\n canonicalQueryParams = Object.assign({}, queryParams, {\n 'X-Amz-Algorithm': SigV4RequestSigner.DEFAULT_ALGORITHM,\n 'X-Amz-Credential': this.credentials.accessKeyId + '/' + credentialScope,\n 'X-Amz-Date': datetimeString,\n 'X-Amz-Expires': '299',\n 'X-Amz-SignedHeaders': signedHeaders,\n });\n if (this.credentials.sessionToken) {\n Object.assign(canonicalQueryParams, {\n 'X-Amz-Security-Token': this.credentials.sessionToken,\n });\n }\n canonicalQueryString = SigV4RequestSigner.createQueryString(canonicalQueryParams);\n canonicalHeaders = {\n host: host,\n };\n canonicalHeadersString = SigV4RequestSigner.createHeadersString(canonicalHeaders);\n return [4 /*yield*/, SigV4RequestSigner.sha256('')];\n case 3:\n payloadHash = _c.sent();\n canonicalRequest = [method, path, canonicalQueryString, canonicalHeadersString, signedHeaders, payloadHash].join('\\n');\n return [4 /*yield*/, SigV4RequestSigner.sha256(canonicalRequest)];\n case 4:\n canonicalRequestHash = _c.sent();\n stringToSign = [SigV4RequestSigner.DEFAULT_ALGORITHM, datetimeString, credentialScope, canonicalRequestHash].join('\\n');\n return [4 /*yield*/, this.getSignatureKey(dateString)];\n case 5:\n signingKey = _c.sent();\n _b = (_a = SigV4RequestSigner).toHex;\n return [4 /*yield*/, SigV4RequestSigner.hmac(signingKey, stringToSign)];\n case 6: return [4 /*yield*/, _b.apply(_a, [_c.sent()])];\n case 7:\n signature = _c.sent();\n signedQueryParams = Object.assign({}, canonicalQueryParams, {\n 'X-Amz-Signature': signature,\n });\n // Create signed URL\n return [2 /*return*/, protocol + '://' + host + path + '?' + SigV4RequestSigner.createQueryString(signedQueryParams)];\n }\n });\n });\n };\n /**\n * Utility method for generating the key to use for calculating the signature. This combines together the date string, region, service name, and secret\n * access key.\n *\n * @see https://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html\n */\n SigV4RequestSigner.prototype.getSignatureKey = function (dateString) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var kDate, kRegion, kService;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, SigV4RequestSigner.hmac('AWS4' + this.credentials.secretAccessKey, dateString)];\n case 1:\n kDate = _a.sent();\n return [4 /*yield*/, SigV4RequestSigner.hmac(kDate, this.region)];\n case 2:\n kRegion = _a.sent();\n return [4 /*yield*/, SigV4RequestSigner.hmac(kRegion, this.service)];\n case 3:\n kService = _a.sent();\n return [4 /*yield*/, SigV4RequestSigner.hmac(kService, 'aws4_request')];\n case 4: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Utility method for converting a map of headers to a string for signing.\n */\n SigV4RequestSigner.createHeadersString = function (headers) {\n return Object.keys(headers)\n .map(function (header) { return header + \":\" + headers[header] + \"\\n\"; })\n .join();\n };\n /**\n * Utility method for converting a map of query parameters to a string with the parameter names sorted.\n */\n SigV4RequestSigner.createQueryString = function (queryParams) {\n return Object.keys(queryParams)\n .sort()\n .map(function (key) { return key + \"=\" + encodeURIComponent(queryParams[key]); })\n .join('&');\n };\n /**\n * Gets a datetime string for the given date to use for signing. For example: \"20190927T165210Z\"\n * @param date\n */\n SigV4RequestSigner.getDateTimeString = function (date) {\n return date\n .toISOString()\n .replace(/\\.\\d{3}Z$/, 'Z')\n .replace(/[:\\-]/g, '');\n };\n /**\n * Gets a date string for the given date to use for signing. For example: \"20190927\"\n * @param date\n */\n SigV4RequestSigner.getDateString = function (date) {\n return this.getDateTimeString(date).substring(0, 8);\n };\n SigV4RequestSigner.sha256 = function (message) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var hashBuffer;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, isomorphic_webcrypto_1.default.subtle.digest({ name: 'SHA-256' }, this.toUint8Array(message))];\n case 1:\n hashBuffer = _a.sent();\n return [2 /*return*/, this.toHex(hashBuffer)];\n }\n });\n });\n };\n SigV4RequestSigner.hmac = function (key, message) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var keyBuffer, messageBuffer, cryptoKey;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n keyBuffer = typeof key === 'string' ? this.toUint8Array(key).buffer : key;\n messageBuffer = this.toUint8Array(message).buffer;\n return [4 /*yield*/, isomorphic_webcrypto_1.default.subtle.importKey('raw', keyBuffer, {\n name: 'HMAC',\n hash: {\n name: 'SHA-256',\n },\n }, false, ['sign'])];\n case 1:\n cryptoKey = _a.sent();\n return [4 /*yield*/, isomorphic_webcrypto_1.default.subtle.sign({ name: 'HMAC', hash: { name: 'SHA-256' } }, cryptoKey, messageBuffer)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Note that this implementation does not work with two-byte characters.\n * However, no inputs into a signed signaling service request should have two-byte characters.\n */\n SigV4RequestSigner.toUint8Array = function (input) {\n var buf = new ArrayBuffer(input.length);\n var bufView = new Uint8Array(buf);\n for (var i = 0, strLen = input.length; i < strLen; i++) {\n bufView[i] = input.charCodeAt(i);\n }\n return bufView;\n };\n SigV4RequestSigner.toHex = function (buffer) {\n return Array.from(new Uint8Array(buffer))\n .map(function (b) { return b.toString(16).padStart(2, '0'); })\n .join('');\n };\n SigV4RequestSigner.DEFAULT_ALGORITHM = 'AWS4-HMAC-SHA256';\n SigV4RequestSigner.DEFAULT_SERVICE = 'kinesisvideo';\n return SigV4RequestSigner;\n}());\nexports.SigV4RequestSigner = SigV4RequestSigner;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar events_1 = require(\"events\");\nvar Role_1 = require(\"./Role\");\nvar SigV4RequestSigner_1 = require(\"./SigV4RequestSigner\");\nvar DateProvider_1 = tslib_1.__importDefault(require(\"./internal/DateProvider\"));\nvar utils_1 = require(\"./internal/utils\");\nvar MessageType;\n(function (MessageType) {\n MessageType[\"SDP_ANSWER\"] = \"SDP_ANSWER\";\n MessageType[\"SDP_OFFER\"] = \"SDP_OFFER\";\n MessageType[\"ICE_CANDIDATE\"] = \"ICE_CANDIDATE\";\n})(MessageType || (MessageType = {}));\nvar ReadyState;\n(function (ReadyState) {\n ReadyState[ReadyState[\"CONNECTING\"] = 0] = \"CONNECTING\";\n ReadyState[ReadyState[\"OPEN\"] = 1] = \"OPEN\";\n ReadyState[ReadyState[\"CLOSING\"] = 2] = \"CLOSING\";\n ReadyState[ReadyState[\"CLOSED\"] = 3] = \"CLOSED\";\n})(ReadyState || (ReadyState = {}));\n/**\n * Client for sending and receiving messages from a KVS Signaling Channel. The client can operate as either the 'MASTER' or a 'VIEWER'.\n *\n * Typically, the 'MASTER' listens for ICE candidates and SDP offers and responds with and SDP answer and its own ICE candidates.\n *\n * Typically, the 'VIEWER' sends an SDP offer and its ICE candidates and then listens for ICE candidates and SDP answers from the 'MASTER'.\n */\nvar SignalingClient = /** @class */ (function (_super) {\n tslib_1.__extends(SignalingClient, _super);\n /**\n * Creates a new SignalingClient. The connection with the signaling service must be opened with the 'open' method.\n * @param {SignalingClientConfig} config - Configuration options and parameters.\n * is not provided, it will be loaded from the global scope.\n */\n function SignalingClient(config) {\n var _this = _super.call(this) || this;\n _this.websocket = null;\n _this.readyState = ReadyState.CLOSED;\n _this.pendingIceCandidatesByClientId = {};\n _this.hasReceivedRemoteSDPByClientId = {};\n // Validate config\n utils_1.validateValueNonNil(config, 'SignalingClientConfig');\n utils_1.validateValueNonNil(config.role, 'role');\n if (config.role === Role_1.Role.VIEWER) {\n utils_1.validateValueNonNil(config.clientId, 'clientId');\n }\n else {\n utils_1.validateValueNil(config.clientId, 'clientId');\n }\n utils_1.validateValueNonNil(config.channelARN, 'channelARN');\n utils_1.validateValueNonNil(config.region, 'region');\n utils_1.validateValueNonNil(config.channelEndpoint, 'channelEndpoint');\n _this.config = tslib_1.__assign({}, config); // Copy config to new object for immutability.\n if (config.requestSigner) {\n _this.requestSigner = config.requestSigner;\n }\n else {\n utils_1.validateValueNonNil(config.credentials, 'credentials');\n _this.requestSigner = new SigV4RequestSigner_1.SigV4RequestSigner(config.region, config.credentials);\n }\n _this.dateProvider = new DateProvider_1.default(config.systemClockOffset || 0);\n // Bind event handlers\n _this.onOpen = _this.onOpen.bind(_this);\n _this.onMessage = _this.onMessage.bind(_this);\n _this.onError = _this.onError.bind(_this);\n _this.onClose = _this.onClose.bind(_this);\n return _this;\n }\n /**\n * Opens the connection with the signaling service. Listen to the 'open' event to be notified when the connection has been opened.\n */\n SignalingClient.prototype.open = function () {\n var _this = this;\n if (this.readyState !== ReadyState.CLOSED) {\n throw new Error('Client is already open, opening, or closing');\n }\n this.readyState = ReadyState.CONNECTING;\n // The process of opening the connection is asynchronous via promises, but the interaction model is to handle asynchronous actions via events.\n // Therefore, we just kick off the asynchronous process and then return and let it fire events.\n this.asyncOpen()\n .then()\n .catch(function (err) { return _this.onError(err); });\n };\n /**\n * Asynchronous implementation of `open`.\n */\n SignalingClient.prototype.asyncOpen = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var queryParams, signedURL;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n queryParams = {\n 'X-Amz-ChannelARN': this.config.channelARN,\n };\n if (this.config.role === Role_1.Role.VIEWER) {\n queryParams['X-Amz-ClientId'] = this.config.clientId;\n }\n return [4 /*yield*/, this.requestSigner.getSignedURL(this.config.channelEndpoint, queryParams, this.dateProvider.getDate())];\n case 1:\n signedURL = _a.sent();\n // If something caused the state to change from CONNECTING, then don't create the WebSocket instance.\n if (this.readyState !== ReadyState.CONNECTING) {\n return [2 /*return*/];\n }\n this.websocket = new WebSocket(signedURL);\n this.websocket.addEventListener('open', this.onOpen);\n this.websocket.addEventListener('message', this.onMessage);\n this.websocket.addEventListener('error', this.onError);\n this.websocket.addEventListener('close', this.onClose);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Closes the connection to the KVS Signaling Service. If already closed or closing, no action is taken. Listen to the 'close' event to be notified when the\n * connection has been closed.\n */\n SignalingClient.prototype.close = function () {\n if (this.websocket !== null) {\n this.readyState = ReadyState.CLOSING;\n this.websocket.close();\n }\n else if (this.readyState !== ReadyState.CLOSED) {\n this.onClose();\n }\n };\n /**\n * Sends the given SDP offer to the signaling service.\n *\n * Typically, only the 'VIEWER' role should send an SDP offer.\n * @param {RTCSessionDescription} sdpOffer - SDP offer to send.\n * @param {string} [recipientClientId] - ID of the client to send the message to. Required for 'MASTER' role. Should not be present for 'VIEWER' role.\n */\n SignalingClient.prototype.sendSdpOffer = function (sdpOffer, recipientClientId) {\n this.sendMessage(MessageType.SDP_OFFER, sdpOffer.toJSON(), recipientClientId);\n };\n /**\n * Sends the given SDP answer to the signaling service.\n *\n * Typically, only the 'MASTER' role should send an SDP answer.\n * @param {RTCSessionDescription} sdpAnswer - SDP answer to send.\n * @param {string} [recipientClientId] - ID of the client to send the message to. Required for 'MASTER' role. Should not be present for 'VIEWER' role.\n */\n SignalingClient.prototype.sendSdpAnswer = function (sdpAnswer, recipientClientId) {\n this.sendMessage(MessageType.SDP_ANSWER, sdpAnswer.toJSON(), recipientClientId);\n };\n /**\n * Sends the given ICE candidate to the signaling service.\n *\n * Typically, both the 'VIEWER' role and 'MASTER' role should send ICE candidates.\n * @param {RTCIceCandidate} iceCandidate - ICE candidate to send.\n * @param {string} [recipientClientId] - ID of the client to send the message to. Required for 'MASTER' role. Should not be present for 'VIEWER' role.\n */\n SignalingClient.prototype.sendIceCandidate = function (iceCandidate, recipientClientId) {\n this.sendMessage(MessageType.ICE_CANDIDATE, iceCandidate.toJSON(), recipientClientId);\n };\n /**\n * Validates the WebSocket connection is open and that the recipient client id is present if sending as the 'MASTER'. Encodes the given message payload\n * and sends the message to the signaling service.\n */\n SignalingClient.prototype.sendMessage = function (action, messagePayload, recipientClientId) {\n if (this.readyState !== ReadyState.OPEN) {\n throw new Error('Could not send message because the connection to the signaling service is not open.');\n }\n this.validateRecipientClientId(recipientClientId);\n this.websocket.send(JSON.stringify({\n action: action,\n messagePayload: SignalingClient.serializeJSONObjectAsBase64String(messagePayload),\n recipientClientId: recipientClientId || undefined,\n }));\n };\n /**\n * Removes all event listeners from the WebSocket and removes the reference to the WebSocket object.\n */\n SignalingClient.prototype.cleanupWebSocket = function () {\n if (this.websocket === null) {\n return;\n }\n this.websocket.removeEventListener('open', this.onOpen);\n this.websocket.removeEventListener('message', this.onMessage);\n this.websocket.removeEventListener('error', this.onError);\n this.websocket.removeEventListener('close', this.onClose);\n this.websocket = null;\n };\n /**\n * WebSocket 'open' event handler. Forwards the event on to listeners.\n */\n SignalingClient.prototype.onOpen = function () {\n this.readyState = ReadyState.OPEN;\n this.emit('open');\n };\n /**\n * WebSocket 'message' event handler. Attempts to parse the message and handle it according to the message type.\n */\n SignalingClient.prototype.onMessage = function (event) {\n var parsedEventData;\n var parsedMessagePayload;\n try {\n parsedEventData = JSON.parse(event.data);\n parsedMessagePayload = SignalingClient.parseJSONObjectFromBase64String(parsedEventData.messagePayload);\n }\n catch (e) {\n // For forwards compatibility we ignore messages that are not able to be parsed.\n // TODO: Consider how to make it easier for users to be aware of dropped messages.\n return;\n }\n var messageType = parsedEventData.messageType, senderClientId = parsedEventData.senderClientId;\n switch (messageType) {\n case MessageType.SDP_OFFER:\n this.emit('sdpOffer', parsedMessagePayload, senderClientId);\n this.emitPendingIceCandidates(senderClientId);\n return;\n case MessageType.SDP_ANSWER:\n this.emit('sdpAnswer', parsedMessagePayload, senderClientId);\n this.emitPendingIceCandidates(senderClientId);\n return;\n case MessageType.ICE_CANDIDATE:\n this.emitOrQueueIceCandidate(parsedMessagePayload, senderClientId);\n return;\n }\n };\n /**\n * Takes the given base64 encoded string and decodes it into a JSON object.\n */\n SignalingClient.parseJSONObjectFromBase64String = function (base64EncodedString) {\n return JSON.parse(atob(base64EncodedString));\n };\n /**\n * Takes the given JSON object and encodes it into a base64 string.\n */\n SignalingClient.serializeJSONObjectAsBase64String = function (object) {\n return btoa(JSON.stringify(object));\n };\n /**\n * If an SDP offer or answer has already been received from the given client, then the given ICE candidate is emitted. Otherwise, it is queued up for when\n * an SDP offer or answer is received.\n */\n SignalingClient.prototype.emitOrQueueIceCandidate = function (iceCandidate, clientId) {\n var clientIdKey = clientId || SignalingClient.DEFAULT_CLIENT_ID;\n if (this.hasReceivedRemoteSDPByClientId[clientIdKey]) {\n this.emit('iceCandidate', iceCandidate, clientId);\n }\n else {\n if (!this.pendingIceCandidatesByClientId[clientIdKey]) {\n this.pendingIceCandidatesByClientId[clientIdKey] = [];\n }\n this.pendingIceCandidatesByClientId[clientIdKey].push(iceCandidate);\n }\n };\n /**\n * Emits any pending ICE candidates for the given client and records that an SDP offer or answer has been received from the client.\n */\n SignalingClient.prototype.emitPendingIceCandidates = function (clientId) {\n var _this = this;\n var clientIdKey = clientId || SignalingClient.DEFAULT_CLIENT_ID;\n this.hasReceivedRemoteSDPByClientId[clientIdKey] = true;\n var pendingIceCandidates = this.pendingIceCandidatesByClientId[clientIdKey];\n if (!pendingIceCandidates) {\n return;\n }\n delete this.pendingIceCandidatesByClientId[clientIdKey];\n pendingIceCandidates.forEach(function (iceCandidate) {\n _this.emit('iceCandidate', iceCandidate, clientId);\n });\n };\n /**\n * Throws an error if the recipient client id is null and the current role is 'MASTER' as all messages sent as 'MASTER' should have a recipient client id.\n */\n SignalingClient.prototype.validateRecipientClientId = function (recipientClientId) {\n if (this.config.role === Role_1.Role.MASTER && !recipientClientId) {\n throw new Error('Missing recipient client id. As the MASTER, all messages must be sent with a recipient client id.');\n }\n else if (this.config.role === Role_1.Role.VIEWER && recipientClientId) {\n throw new Error('Unexpected recipient client id. As the VIEWER, messages must not be sent with a recipient client id.');\n }\n };\n /**\n * 'error' event handler. Forwards the error onto listeners.\n */\n SignalingClient.prototype.onError = function (error) {\n this.emit('error', error);\n };\n /**\n * 'close' event handler. Forwards the error onto listeners and cleans up the connection.\n */\n SignalingClient.prototype.onClose = function () {\n this.readyState = ReadyState.CLOSED;\n this.cleanupWebSocket();\n this.emit('close');\n };\n SignalingClient.DEFAULT_CLIENT_ID = 'MASTER';\n return SignalingClient;\n}(events_1.EventEmitter));\nexports.SignalingClient = SignalingClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/*!\nAmazon Kinesis Video Streams WebRTC SDK for JavaScript\nCopyright 2019-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n\nThis product includes software developed at\nAmazon Web Services, Inc. (http://aws.amazon.com/).\n*/\nvar Role_1 = require(\"./Role\");\nexports.Role = Role_1.Role;\nvar SignalingClient_1 = require(\"./SignalingClient\");\nexports.SignalingClient = SignalingClient_1.SignalingClient;\nvar SigV4RequestSigner_1 = require(\"./SigV4RequestSigner\");\nexports.SigV4RequestSigner = SigV4RequestSigner_1.SigV4RequestSigner;\nexports.VERSION = process.env.PACKAGE_VERSION;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Provides dates with an offset to account for local clock skew.\n *\n * Unfortunately, WebSockets in the web do not provide any of the connection information needed to determine the clock skew from a failed connection request.\n * Therefore, a hard coded offset is used that is provided from the AWS SDK.\n *\n * See {@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#correctClockSkew-property}\n */\nvar DateProvider = /** @class */ (function () {\n function DateProvider(clockOffsetMs) {\n this.clockOffsetMs = clockOffsetMs;\n }\n /**\n * Gets the current date with any configured clock offset applied.\n */\n DateProvider.prototype.getDate = function () {\n return new Date(Date.now() + this.clockOffsetMs);\n };\n return DateProvider;\n}());\nexports.default = DateProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Validates that the given value is not null, undefined, or empty string and throws an error if the condition is not met.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction validateValueNonNil(value, valueName) {\n if (value === null) {\n throw new Error(valueName + \" cannot be null\");\n }\n else if (value === undefined) {\n throw new Error(valueName + \" cannot be undefined\");\n }\n else if (value === '') {\n throw new Error(valueName + \" cannot be empty\");\n }\n}\nexports.validateValueNonNil = validateValueNonNil;\n/**\n * Validates that the given value is null, undefined, or empty string and throws an error if the condition is not met.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction validateValueNil(value, valueName) {\n if (value !== null && value !== undefined && value !== '') {\n throw new Error(valueName + \" should be null\");\n }\n}\nexports.validateValueNil = validateValueNil;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n","import { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult = EMPTY, falseResult = EMPTY) {\n return defer(() => condition() ? trueResult : falseResult);\n}\n","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n","import { map } from './map';\nexport function pluck(...properties) {\n const length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return (source) => map(plucker(properties, length))(source);\n}\nfunction plucker(props, length) {\n const mapper = (x) => {\n let currentProp = x;\n for (let i = 0; i < length; i++) {\n const p = currentProp != null ? currentProp[props[i]] : undefined;\n if (p !== void 0) {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport const defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nexport function throttle(durationSelector, config = defaultThrottleConfig) {\n return (source) => source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing));\n}\nclass ThrottleOperator {\n constructor(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n }\n}\nclass ThrottleSubscriber extends SimpleOuterSubscriber {\n constructor(destination, durationSelector, _leading, _trailing) {\n super(destination);\n this.destination = destination;\n this.durationSelector = durationSelector;\n this._leading = _leading;\n this._trailing = _trailing;\n this._hasValue = false;\n }\n _next(value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n }\n send() {\n const { _hasValue, _sendValue } = this;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = undefined;\n }\n throttle(value) {\n const duration = this.tryDurationSelector(value);\n if (!!duration) {\n this.add(this._throttled = innerSubscribe(duration, new SimpleInnerSubscriber(this)));\n }\n }\n tryDurationSelector(value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n }\n throttlingDone() {\n const { _throttled, _trailing } = this;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = undefined;\n if (_trailing) {\n this.send();\n }\n }\n notifyNext() {\n this.throttlingDone();\n }\n notifyComplete() {\n this.throttlingDone();\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nimport { defaultThrottleConfig } from './throttle';\nexport function throttleTime(duration, scheduler = async, config = defaultThrottleConfig) {\n return (source) => source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing));\n}\nclass ThrottleTimeOperator {\n constructor(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n }\n}\nclass ThrottleTimeSubscriber extends Subscriber {\n constructor(destination, duration, scheduler, leading, trailing) {\n super(destination);\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n this._hasTrailingValue = false;\n this._trailingValue = null;\n }\n _next(value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n else if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n }\n _complete() {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n }\n clearThrottle() {\n const throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n }\n}\nfunction dispatchNext(arg) {\n const { subscriber } = arg;\n subscriber.clearThrottle();\n}\n","import { reduce } from './reduce';\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nexport function toArray() {\n return reduce(toArrayReducer, []);\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, Params, Router } from '@angular/router';\nimport { PaymentSubmitted } from '@onecause/ngcart/registered-guest-cart/registered-guest-cart-payment-button/registered-guest-cart-payment-button.component';\nimport { take } from 'rxjs/operators';\nimport {\n EventSessionSummary,\n GetMyGuestSessionSummaryInput,\n GetMyGuestSessionSummaryOutput,\n PurchasedItemSummary,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../services/state.service';\nimport { VECRoutingService } from '../services/vec-routing.service';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\n\n\nexport enum CartStates {\n loading = 'loading',\n submitting = 'submitting',\n active = 'active',\n}\n\n@Component({\n selector: 'app-checkout-page',\n templateUrl: './checkout-page.component.html',\n styleUrls: ['./checkout-page.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CheckoutPageComponent implements OnInit, OnDestroy {\n orgID: string;\n eventID: string;\n eventSession: EventSessionSummary;\n guestSessionSummary: GetMyGuestSessionSummaryOutput;\n\n inWidget = false;\n\n featureFlagCheckout = false;\n\n isSticky = false;\n\n unpaidItems: PurchasedItemSummary[] = [];\n checkoutItems = false;\n\n @Output() closeCart = new EventEmitter();\n\n constructor(\n private state: StateService,\n private virtualEventClient: VirtualEventClientService,\n private activatedRoute: ActivatedRoute,\n private vecRouting: VECRoutingService,\n private featureFlagService: FeatureFlagService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.inWidget = this.activatedRoute.snapshot.data.inWidget;\n\n this.featureFlagService.featureFlags.pipe(take(1)).subscribe((flags) => {\n this.featureFlagCheckout = flags.some((flag) => flag.featureName === 'check-out');\n });\n\n this.state.eventSession.subscribe((eventSession) => {\n this.eventSession = eventSession;\n if (this.eventSession && this.eventSession.id) {\n this.loadGuestSessionSummary();\n }\n });\n }\n\n ngOnDestroy() {\n this.closeSidenav();\n }\n\n setUnpaidItemsList(items: PurchasedItemSummary[]): void {\n this.unpaidItems = items;\n if (this.unpaidItems && this.unpaidItems.length && this.featureFlagCheckout) {\n this.checkoutItems = this.unpaidItems.filter(item => item.fixedPriceItemID !== '' || item.lotID !== '').length > 0;\n } else {\n this.checkoutItems = false;\n }\n }\n\n paymentSubmitted(data: PaymentSubmitted): void {\n if (data && data.successful && data.transactionID) {\n if (this.inWidget) {\n this.router.navigate([`organizations/${this.orgID}/virtual-events/${this.eventID}/embed/auctions`]);\n } else {\n if (this.featureFlagCheckout) {\n if (this.checkoutItems) {\n const extras = {\n queryParamsHandling: 'merge',\n queryParams: {\n transactionID: JSON.stringify(data.transactionID)\n } as Params\n } as NavigationExtras;\n this.vecRouting.goToPickupPage(extras);\n } else {\n this.vecRouting.goToThankYouPage();\n }\n } else {\n this.vecRouting.goToThankYouPage();\n }\n }\n this.closeSidenav();\n }\n }\n\n private closeSidenav(): void {\n this.closeCart.emit('closeCart');\n }\n\n private loadGuestSessionSummary(): void {\n const input = {\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID,\n eventSessionID: this.eventSession.id\n } as GetMyGuestSessionSummaryInput;\n this.virtualEventClient.getMyGuestSessionSummary(input).subscribe((guestSessionSummary) => {\n this.guestSessionSummary = guestSessionSummary;\n });\n }\n}\n","import { ImpactSummary, ListImpactsInput, ListImpactsOutput, VirtualEventClientService } from './../../../../services/virtual-event-client.service';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AuctionSummary, InventoryClientService } from 'src/app/services/inventory-client.service';\nimport { RaffleClientService, ReadRaffleInput, ReadRaffleOutput } from 'src/app/services/raffle-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { CountdownOutput, CountdownService } from '../../services/countdown.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { switchMap, take } from 'rxjs/operators';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\n\n@Component({\n selector: 'app-agenda',\n templateUrl: './agenda.component.html',\n styleUrls: ['./agenda.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaComponent implements OnInit {\n\n event: VirtualEvent;\n\n silentAuctionCountdown = '';\n raffleCountdown = '';\n hasDonationImpacts = false;\n hasFixedPriceItems = false;\n\n constructor(\n private state: StateService,\n private inventoryClient: InventoryClientService,\n private raffleClient: RaffleClientService,\n private virtualEventClient: VirtualEventClientService,\n private countdownService: CountdownService,\n private vecRouting: VECRoutingService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.event.showSilentAuction && this.event.showSilentAuctionCountdown) {\n this.setSilentAuctionCountdown();\n }\n\n if (this.event.enableRaffles) {\n this.setRaffleCountdown();\n }\n this.loadImpacts();\n });\n }\n\n goToSilentAuction() {\n this.vecRouting.goToSilentAuctionPage();\n }\n\n goToRaffle() {\n this.vecRouting.goToRafflePage();\n }\n\n goToSupportOurCause() {\n this.vecRouting.goToSupportOurCausePage();\n }\n\n goToShopItems() {\n this.vecRouting.goToFixedPriceItemsPage();\n }\n\n goToLiveAuctionPreview() {\n this.vecRouting.goToLiveAuctionPreviewPage();\n }\n\n private setSilentAuctionCountdown() {\n this.inventoryClient.readAuction(this.event.organizationID, this.event.activeSilentAuctionID).pipe(\n switchMap((auction: AuctionSummary) => this.countdownService.getCountdown(auction.closeTime))\n ).subscribe(\n (countdown: CountdownOutput) => this.silentAuctionCountdown = this.formatCountdown(countdown),\n _ => this.silentAuctionCountdown = '',\n );\n }\n\n private setRaffleCountdown() {\n this.raffleClient.readRaffle({\n organizationID: this.event.organizationID,\n raffleID: this.event.activeRaffleID\n } as ReadRaffleInput).pipe(\n switchMap((raffle: ReadRaffleOutput) => this.countdownService.getCountdown(raffle.endDate))\n ).subscribe(\n (countdown: CountdownOutput) => this.raffleCountdown = this.formatCountdown(countdown),\n _ => this.raffleCountdown = '',\n );\n }\n\n private formatCountdown(countdown: CountdownOutput) {\n if (countdown.ended) {\n return 'Closed';\n }\n\n return `Closing in: ${countdown.days}d ${countdown.hours}h ${countdown.minutes}m`;\n }\n\n private loadImpacts(): void {\n this.virtualEventClient.listImpacts({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.Equal, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasDonationImpacts = out.items.length > 0;\n });\n\n this.virtualEventClient.listImpacts({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.NotEqual, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasFixedPriceItems = out.items.length > 0;\n });\n\n }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { MatInput } from '@angular/material/input';\nimport { BehaviorSubject, Observable, of, Subscription } from 'rxjs';\nimport { distinctUntilChanged, debounceTime, switchMap, take, tap, pluck } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { GreatfeatsRestService, GetParticipantResult, GetParticipantsInput } from 'src/app/services/zz-greatfeats-rest.service';\n\n@Component({\n selector: 'app-ambassador-search',\n templateUrl: './ambassador-search.component.html',\n styleUrls: ['./ambassador-search.component.scss'],\n})\nexport class AmbassadorSearchComponent implements OnInit, OnDestroy {\n\n @Input() formGroup: FormGroup;\n @ViewChild('ambassadorSearchInput', { static: false }) searchInput: MatInput;\n @ViewChild('ambassadorSearchAutocomplete', { static: false }) autocomplete: MatAutocomplete;\n\n event: VirtualEvent;\n show = false;\n\n loading = new BehaviorSubject(false);\n get loading$(): Observable {\n return this.loading;\n }\n\n ambassadorList = new BehaviorSubject(null);\n get ambassadorList$(): Observable {\n return this.ambassadorList;\n }\n\n selectedAmbassador: GetParticipantResult;\n ambassadorListAutocompleteCache = new Map();\n subscriptions = new Array();\n\n constructor(\n private state: StateService,\n private greatfeatsRestService: GreatfeatsRestService,\n ) {\n }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.show = !!event.greatfeatsChallengeAccessKey;\n if (this.show) {\n this.formGroup = this.formGroup ?? new FormGroup({\n ambassador: new FormControl()\n });\n this.getAmbassadorsList();\n }\n });\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n getAmbassadorsList() {\n const sub = this.formGroup.get('ambassador').valueChanges.pipe(\n debounceTime(250),\n distinctUntilChanged(),\n switchMap((query: string) => {\n if (typeof query !== 'string') {\n return of(null);\n }\n query = query.trim();\n if (!query) {\n return of(null);\n }\n\n const cachedResponse = this.ambassadorListAutocompleteCache.get(query);\n if (cachedResponse) {\n return of(cachedResponse);\n }\n\n return this.searchForParticipants(query);\n })\n ).subscribe(x => {\n this.ambassadorList.next(x);\n });\n\n this.subscriptions.push(sub);\n }\n\n searchForParticipants(query: string): Observable {\n this.ambassadorList.next(null);\n this.loading.next(true);\n return this.greatfeatsRestService.getParticipants(\n new GetParticipantsInput({ organizationID: this.event.organizationID, eventID: this.event.id, searchText: query })).pipe(\n pluck('getParticipantResultList'),\n tap((result: GetParticipantResult[]) => {\n this.ambassadorListAutocompleteCache.set(query, result);\n this.loading.next(false);\n })\n );\n }\n\n onOptionSelectedAmbassador(selected: GetParticipantResult) {\n this.selectedAmbassador = selected;\n }\n\n onClickRemove() {\n this.selectedAmbassador = null;\n this.formGroup.get('ambassador').setValue(null);\n }\n\n onBlurAmbassadorSearchInput() {\n if (!this.selectedAmbassador) {\n this.formGroup.get('ambassador').setValue(null);\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AuctionService } from 'src/app/lazy-modules/virtual-event/services/auction.service';\n\nexport class BidLimitManagerInput {\n minimumBidLimit: number;\n currentBidLimit: number;\n lastBidLimit: number;\n bidIncrement: number;\n lotID: string;\n}\n\n@Component({\n selector: 'app-auction-lot-bid-limit-manager',\n templateUrl: './auction-lot-bid-limit-manager.component.html',\n styleUrls: ['./auction-lot-bid-limit-manager.component.scss']\n})\n\nexport class AuctionLotBidLimitManagerComponent implements OnInit {\n @Input() bidLimitManagerInput: BidLimitManagerInput;\n\n bidLimitForm: FormGroup;\n bidLimitInput: FormControl;\n\n constructor(\n private auctionService: AuctionService\n ) { }\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n private initializeForm(): void {\n this.bidLimitInput = new FormControl(\n this.bidLimitManagerInput.currentBidLimit / 100,\n [Validators.min(this.bidLimitManagerInput.minimumBidLimit / 100)]\n );\n this.bidLimitForm = new FormGroup({\n bidLimitInput: this.bidLimitInput\n });\n }\n\n onBidValueIncreased(): void {\n this.bidLimitInput.setValue(this.bidLimitForm.value.bidLimitInput + (this.bidLimitManagerInput.bidIncrement / 100));\n }\n\n onBidValueDecreased(): void {\n this.bidLimitInput.setValue(this.bidLimitInput.value - (this.bidLimitManagerInput.bidIncrement / 100));\n }\n\n onBidLimitConfirmed(): void {\n if (this.bidLimitInput.value !== this.bidLimitManagerInput.lastBidLimit / 100) {\n this.auctionService.onBidLimitManagerSubmitted(this.bidLimitManagerInput.lotID, true, this.bidLimitInput.value * 100);\n } else {\n this.dismissBidLimit();\n }\n }\n\n dismissBidLimit(): void {\n this.auctionService.onBidLimitManagerSubmitted(this.bidLimitManagerInput.lotID, false, 0);\n }\n\n}\n","import { Component, Input, OnInit, OnChanges, SimpleChanges, ViewEncapsulation, Inject, Optional} from '@angular/core';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { Observable, of } from 'rxjs';\nimport { InventoryClientService, ViewLotPhotosSummary } from 'src/app/services/inventory-client.service';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { map } from 'rxjs/operators';\n\ninterface DialogData {\n organizationID: string;\n auctionID: string;\n lotID: string;\n primaryPhotoURL: string;\n hasMore: boolean;\n showLargeSlider: boolean;\n imageURLs: string[];\n activeImageURL: string;\n}\n\n@Component({\n selector: 'app-auction-lot-image-slider',\n templateUrl: './auction-lot-image-slider.component.html',\n styleUrls: ['./auction-lot-image-slider.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuctionLotImageSliderComponent implements OnChanges, OnInit {\n @Input() organizationID: string;\n @Input() auctionID: string;\n @Input() lotID: string;\n @Input() primaryPhotoURL: string;\n @Input() refreshPhotos: boolean;\n @Input() hasMore: boolean;\n @Input() hasLargeSlider: boolean;\n @Input() showLargeSlider: boolean;\n\n activeImageURL: string;\n imageURLs: string[] = [];\n dialogRef: any;\n haveCheckedForMorePhotos = false;\n\n constructor(\n private inventoryClient: InventoryClientService,\n public dialog: MatDialog,\n @Optional() @Inject(MAT_DIALOG_DATA) public dialogData: DialogData\n ) {\n }\n\n ngOnInit() {\n this.showLargeSlider = false;\n if (this.dialogData) {\n Object.assign(this, this.dialogData);\n } else {\n this.initialize();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.lotID || changes.primaryPhotoURL || changes.hasMore || changes.refreshPhotos) {\n this.initialize();\n\n if (changes.refreshPhotos) {\n this.haveCheckedForMorePhotos = false;\n }\n }\n }\n\n initialize() {\n this.imageURLs = [];\n if (!this.primaryPhotoURL) {\n // if we don't have any more, then don't bother\n if (this.hasMore) {\n this.checkForMorePhotos().subscribe((photos) => {\n photos.forEach((item) => {\n this.appendPhotoURL(item.url);\n if (this.imageURLs.length === 1) {\n this.activeImageURL = this.imageURLs[0];\n }\n });\n });\n }\n } else {\n this.appendPhotoURL(this.primaryPhotoURL);\n if (this.activeImageURL !== this.imageURLs[0]) {\n this.activeImageURL = this.imageURLs[0];\n }\n }\n }\n\n onPreviousClick() {\n if (this.imageURLs.length > 1) {\n this.changePreviousImage();\n return;\n }\n\n this.checkForMorePhotos().subscribe((photos) => {\n photos.forEach((item) => {\n this.appendPhotoURL(item.url);\n });\n this.changePreviousImage();\n });\n }\n\n onNextClick() {\n if (this.imageURLs.length > 1) {\n this.changeNextImage();\n return;\n }\n\n this.checkForMorePhotos().subscribe((photos) => {\n photos.forEach((item) => {\n this.appendPhotoURL(item.url);\n });\n this.changeNextImage();\n });\n }\n\n onOpenLargeSlider() {\n const dialogData: DialogData = {\n organizationID: this.organizationID,\n auctionID: this.auctionID,\n lotID: this.lotID,\n primaryPhotoURL: this.primaryPhotoURL,\n hasMore: this.hasMore,\n showLargeSlider: true,\n imageURLs: this.imageURLs,\n activeImageURL: this.activeImageURL\n };\n this.dialogRef = this.dialog.open(AuctionLotImageSliderComponent, {\n data: dialogData,\n panelClass: 'auction-lot-large-image-modal',\n maxWidth: '100vw'\n });\n }\n\n private appendPhotoURL(notTransformedURL: string) {\n const transformedURL = this.transformImageURL(notTransformedURL);\n if (this.imageURLs.find((imageURL) => imageURL === transformedURL)) {\n return;\n }\n this.imageURLs.push(transformedURL);\n }\n\n private changeNextImage() {\n const index = this.imageURLs.findIndex(image => image === this.activeImageURL);\n if (index > -1 && index < this.imageURLs.length - 1) {\n this.activeImageURL = this.imageURLs[index + 1];\n }\n else {\n this.activeImageURL = this.imageURLs[0];\n }\n }\n\n private changePreviousImage() {\n const index = this.imageURLs.findIndex(image => image === this.activeImageURL);\n if (index > 0) {\n this.activeImageURL = this.imageURLs[index - 1];\n }\n else {\n this.activeImageURL = this.imageURLs[this.imageURLs.length - 1];\n }\n }\n\n private checkForMorePhotos(): Observable {\n if (this.haveCheckedForMorePhotos) {\n return of([]);\n }\n this.haveCheckedForMorePhotos = true;\n\n const pagingInput = new PagingInputV3().Filter(\n new FilterParameterV3('lot_id', FilterComparator.Equal, this.lotID)\n );\n return this.inventoryClient\n .viewLotPhotos(this.organizationID, this.auctionID, pagingInput)\n .pipe(\n map((o) => {\n return o.items;\n })\n );\n }\n\n private transformImageURL(url: string): string {\n // ratio is 1.85\n return `${url}${url?.indexOf('?') > -1 ? '&' : '?'}t=resize:350,650`;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BidLimitManagerInput } from '../auction-lot-bid-limit-manager/auction-lot-bid-limit-manager.component';\n\n@Component({\n selector: 'app-auction-lot-overlay',\n templateUrl: './auction-lot-overlay.component.html',\n styleUrls: ['./auction-lot-overlay.component.scss']\n})\nexport class AuctionLotOverlayComponent implements OnInit {\n\n @Input() bidLimitManagerInput: BidLimitManagerInput;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport {\n CurrentUserService,\n FilterComparator,\n FilterGroupV3,\n FilterParameterV3,\n PagingInputV3,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n SortDirection,\n SortParameter\n} from '@onecause/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { debounceTime, pluck, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport {\n BidLimitCreatedPayload,\n BidReceivedPayload,\n BidRescindedPayload,\n BidsClearedPayload,\n GeneralAuctionLotUpdated,\n LotBoughtPayload,\n ProxyBidderAddedPayload,\n ProxyBidderRemovedPayload,\n WebSocketService\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n AllLotView,\n Auction,\n AuctionSummary,\n InventoryClientService,\n Lot,\n ReadLotInput\n} from 'src/app/services/inventory-client.service';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { AuctionService, BidLimitManagerOutput } from '../../services/auction.service';\nimport { BuyItemsService } from '../../services/buy-items.service';\nimport { CountdownOutput, CountdownService } from '../../services/countdown.service';\nimport { EventsService } from '../../services/events.service';\nimport { PurchaseNotificationService, PurchaseNotificationType } from '../../services/purchase-notification.service';\nimport { StateService } from '../../services/state.service';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../credit-card-dialog/credit-card-dialog.component';\nimport { LogInDialogComponent } from '../log-in-dialog/log-in-dialog.component';\nimport { BidLimitManagerInput } from './auction-lot-bid-limit-manager/auction-lot-bid-limit-manager.component';\n\nexport class LotGroup {\n lot: Lot;\n fullDescription: string;\n truncatedDescription: string;\n categories: string;\n itemDonors: string;\n itemPhotoCount: number;\n //\n estimatedValueCents: number;\n userLastBidAmountCents: number;\n userActiveBidLimitAmountCents: number;\n bidValueCents: number;\n //\n bidSucceeded: boolean;\n placingBid = false;\n adjustingBidLimit: boolean;\n autoOutbid: boolean;\n //\n showBiddingButtons: boolean;\n showConfirmBid = false;\n showConfirmBuyNow = false;\n showTruncated: boolean;\n canBid: boolean;\n //\n showBoughtOverlay: boolean;\n //\n customBid = false;\n triggerPhotoRefresh = false;\n}\n\nconst LOT_PAGE_SIZE = 10;\nconst PAGE_BREAKPOINT = 800;\n\n@Component({\n selector: 'app-auction-lot',\n templateUrl: './auction-lot.component.html',\n styleUrls: ['./auction-lot.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class AuctionLotComponent implements OnInit, OnDestroy {\n @ViewChild('topElement') topElement: ElementRef;\n\n @Input() allowBidding: boolean;\n @Input() linkLotID: string;\n\n virtualEvent: VirtualEvent;\n registeredUser: ReadMyRegistrationOutput;\n loggedIn = false;\n auction: Auction;\n\n categories: string[] = [];\n\n lotGroups: LotGroup[] | undefined;\n lotSearchFilters: FilterParameterV3[] = [];\n lotCategoryFilters: FilterParameterV3[] = [];\n lotSorts: SortParameter[] = [];\n getLotListTrigger$: BehaviorSubject;\n\n countdownInterval: any;\n countdown: string;\n viewUserLots = false;\n\n descriptionCharacterLimit = 100;\n\n lotFilterForm: FormGroup;\n formLoaded = false;\n filterCategoryAuctionLot: FormControl;\n sortAuctionLot: FormControl;\n searchAuctionLot: FormControl;\n isMobile: boolean;\n loadingMore = false;\n nextPage: PagingInputV3;\n\n newEventExperienceShowBuyTickets = true;\n\n private destroy$ = new Subject();\n private allLots: LotGroup[] = [];\n private bottomObserverIsRegistered = false;\n\n constructor(\n private inventoryClient: InventoryClientService,\n private websocketService: WebSocketService,\n private state: StateService,\n private events: EventsService,\n private auctionService: AuctionService,\n private countdownService: CountdownService,\n private dialog: MatDialog,\n private currentUserService: CurrentUserService,\n private router: Router,\n private purchaseNotification: PurchaseNotificationService,\n private snackbar: MatSnackBar,\n private cdRef: ChangeDetectorRef,\n private buyItemsService: BuyItemsService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe(event => {\n this.virtualEvent = event;\n this.initializeForm();\n\n if (this.allowBidding) {\n this.loadAuction();\n\n this.subscribeToWebsocketEvents();\n this.subscribeToProxyGuestWebsocketEvents();\n this.subscribeToBidLimitManager();\n\n this.currentUserService.getProfile().subscribe(\n () => this.userLoggedIn(),\n () => this.setLotGroups()\n );\n } else {\n this.setLotGroups();\n }\n\n this.state.showPurchaseTickets.pipe(take(1)).subscribe((showPurchaseTickets: boolean) => {\n this.newEventExperienceShowBuyTickets = showPurchaseTickets;\n });\n\n this.subscribeToGeneralWebsocketEvents();\n\n this.events.userLoggedOut.pipe(takeUntil(this.destroy$)).subscribe(_ => this.loggedIn = false);\n\n this.isMobile = window.innerWidth <= PAGE_BREAKPOINT ? true : false;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.isMobile = window.innerWidth <= PAGE_BREAKPOINT ? true : false;\n }\n\n private loadAuction() {\n this.inventoryClient.readAuction(this.virtualEvent.organizationID, this.virtualEvent.activeSilentAuctionID)\n .subscribe((auction: AuctionSummary) => {\n this.auction = auction;\n\n this.getCategories();\n\n if (this.virtualEvent.showSilentAuctionCountdown) {\n this.loadSilentAuctionCountdown();\n }\n\n if (this.linkLotID) {\n this.getLinkedLot(this.linkLotID);\n }\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(() => this.userLoggedIn());\n });\n }\n\n private userLoggedIn() {\n this.loggedIn = true;\n this.state.registration.pipe(takeUntil(this.destroy$)).subscribe((registration: ReadMyRegistrationOutput) => {\n if (registration) {\n this.registeredUser = registration;\n this.setLotGroups(); // we need the user ID to get their bid amounts for each lot\n }\n });\n }\n\n private loadSilentAuctionCountdown() {\n // start auction countdown\n this.setCountdown();\n\n // update countdown every minute if not closed\n if (!this.biddingClosed()) {\n this.countdownInterval = setInterval(() => {\n this.setCountdown();\n }, 60000);\n }\n }\n\n isRegistered(): boolean {\n return !!this.registeredUser?.found;\n }\n\n private subscribeToWebsocketEvents() {\n this.websocketService.silentAuctionBidReceived.pipe(\n takeUntil(this.destroy$)\n ).subscribe((bidReceivedPayload: BidReceivedPayload) => {\n if (this.isActiveAuction(bidReceivedPayload.auctionID)) {\n this.onBidReceived(bidReceivedPayload);\n }\n });\n\n this.websocketService.silentAuctionLotBought.pipe(\n takeUntil(this.destroy$)\n ).subscribe((lotBoughtPayload: LotBoughtPayload) => {\n if (this.isActiveAuction(lotBoughtPayload.auctionID)) {\n this.onLotBought(lotBoughtPayload);\n }\n });\n\n this.websocketService.silentAuctionBidRescinded.pipe(\n takeUntil(this.destroy$)\n ).subscribe((bidRescindedPayload: BidRescindedPayload) => {\n if (this.isActiveAuction(bidRescindedPayload.auctionID)) {\n this.onBidRescinded(bidRescindedPayload);\n }\n });\n\n this.websocketService.silentAuctionBidsCleared.pipe(\n takeUntil(this.destroy$)\n ).subscribe((bidsClearedPayload: BidsClearedPayload) => {\n if (this.isActiveAuction(bidsClearedPayload.auctionID)) {\n this.onBidsCleared(bidsClearedPayload);\n }\n });\n\n this.websocketService.silentAuctionBidLimitCreated.pipe(\n takeUntil(this.destroy$)\n ).subscribe((bidLimitCreatedPayload: BidLimitCreatedPayload) => {\n if (this.isActiveAuction(bidLimitCreatedPayload.auctionID)\n && this.registeredUser && (this.registeredUser?.biddingAsUserID === bidLimitCreatedPayload.userID\n || this.registeredUser?.userID === bidLimitCreatedPayload.userID)) {\n this.updateBidLimit(bidLimitCreatedPayload);\n }\n });\n }\n\n private subscribeToGeneralWebsocketEvents() {\n this.websocketService.generalAuctionLotUpdated.pipe(\n takeUntil(this.destroy$)\n ).subscribe((lotUpdatedPayload: GeneralAuctionLotUpdated) => {\n this.refreshLotInGroup(lotUpdatedPayload);\n });\n }\n\n private subscribeToProxyGuestWebsocketEvents() {\n this.websocketService.proxyBidderAdded.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: ProxyBidderAddedPayload) => {\n if (payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID) {\n this.auctionService.proxyBidderUpdated();\n }\n });\n\n this.websocketService.proxyBidderRemoved.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: ProxyBidderRemovedPayload) => {\n if (\n payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID &&\n this.registeredUser.biddingAsUserID &&\n payload.userID === this.registeredUser.biddingAsUserID\n ) {\n this.auctionService.proxyBidderUpdated();\n }\n });\n }\n\n private updateBidLimit(bidLimit: BidLimitCreatedPayload): void {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === bidLimit.lotID);\n\n if (!lotGroup || bidLimit.bidLimitAmountCents < lotGroup.lot.topBidAmountCents) {\n return;\n }\n\n this.updateBidLimitAmountOnLot(lotGroup, bidLimit.bidLimitAmountCents);\n }\n private isActiveAuction(auctionID: string): boolean {\n return auctionID === this.virtualEvent.activeSilentAuctionID;\n }\n\n biddingOpen(): boolean {\n const now = new Date().getTime();\n return this.allowBidding && now >= new Date(this.auction?.openTime).getTime() && now < new Date(this.auction?.closeTime).getTime();\n }\n\n biddingClosed(): boolean {\n const now = new Date().getTime();\n return this.allowBidding && now >= new Date(this.auction?.closeTime).getTime();\n }\n\n subscribeToBidLimitManager(): void {\n this.auctionService.bidLimitDismiss$.pipe(\n takeUntil(this.destroy$)\n ).subscribe((bidLimitSubmitted: BidLimitManagerOutput) => {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === bidLimitSubmitted.lotID);\n\n if (!lotGroup) {\n return;\n }\n\n if (bidLimitSubmitted.create) {\n this.submitBidLimit(lotGroup, bidLimitSubmitted.amount);\n } else {\n lotGroup.bidSucceeded = false;\n lotGroup.adjustingBidLimit = false;\n }\n lotGroup.showBiddingButtons = false;\n lotGroup.canBid = false;\n this.resetBiddingButtons(lotGroup);\n });\n }\n\n showBuyNowButton(lotGroup: LotGroup): boolean {\n return this.allowBidding &&\n this.isRegistered() &&\n this.biddingOpen() &&\n lotGroup.lot.isBuyNowActive &&\n !lotGroup.lot.isBought &&\n lotGroup.lot.buyNowPriceCents > lotGroup.lot.topBidAmountCents &&\n this.showBuyNowButtonMobile(lotGroup);\n }\n\n showBuyNowButtonMobile(lotGroup: LotGroup): boolean {\n return !this.isMobile ||\n (this.isMobile && !lotGroup.showConfirmBid);\n }\n\n showBiddingButtons(lotGroup: LotGroup): void {\n if (!this.biddingOpen() || this.isLeadingBidder(lotGroup) || lotGroup.lot.isBought) {\n lotGroup.canBid = false;\n return;\n }\n lotGroup.showBiddingButtons = true;\n lotGroup.canBid = true;\n }\n\n private canUseBidButtons(lotGroup: LotGroup): boolean {\n return this.biddingOpen()\n && !this.isLeadingBidder(lotGroup)\n && !lotGroup.lot.isBought;\n }\n\n showWinningBidderOverlay(lotGroup: LotGroup): boolean {\n return lotGroup.bidSucceeded && !lotGroup.autoOutbid && !lotGroup.adjustingBidLimit;\n }\n\n showAutoOutbidOverlay(lotGroup: LotGroup): boolean {\n return lotGroup.autoOutbid && !lotGroup.adjustingBidLimit;\n }\n\n showAdjustBidLimitOverlay(lotGroup: LotGroup): boolean {\n return lotGroup.adjustingBidLimit;\n }\n\n showSilentAuctionLot(lotGroup: LotGroup): boolean {\n return !lotGroup.bidSucceeded && !lotGroup.autoOutbid && !lotGroup.adjustingBidLimit && !lotGroup.showBoughtOverlay;\n }\n\n getBidLimitManagerInput(lotGroup: LotGroup): BidLimitManagerInput {\n const minimumBidLimit = lotGroup.userLastBidAmountCents + lotGroup.lot.bidIncrementCents;\n return {\n minimumBidLimit: minimumBidLimit,\n currentBidLimit: lotGroup.userActiveBidLimitAmountCents < lotGroup.bidValueCents ?\n minimumBidLimit :\n lotGroup.userActiveBidLimitAmountCents,\n lastBidLimit: lotGroup.userActiveBidLimitAmountCents,\n bidIncrement: lotGroup.lot.bidIncrementCents,\n lotID: lotGroup.lot.id,\n };\n }\n\n adjustBidLimit(lotGroup: LotGroup): void {\n lotGroup.adjustingBidLimit = true;\n }\n\n onBuyNowClicked(lotGroup: LotGroup): void {\n if (lotGroup.showConfirmBuyNow) {\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile && !this.auctionService.isActiveProxyBidder()) {\n this.dialog.open(CreditCardDialogComponent).afterClosed()\n .subscribe({\n next: (out: CreditCardDialogOutput) => {\n if (!out.addedCard) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(\n 'Your purchase has been canceled.',\n SnackBarIcon.Error,\n false,\n ),\n );\n this.resetBiddingButtons(lotGroup);\n lotGroup.showConfirmBuyNow = false;\n } else {\n this.buyNow(lotGroup);\n }\n }\n });\n } else {\n this.buyNow(lotGroup);\n }\n });\n } else {\n lotGroup.showConfirmBuyNow = true;\n }\n }\n\n buyNow(lotGroup: LotGroup): void {\n this.auctionService.buyNow('silent', lotGroup.lot).subscribe({\n next: (out) => {\n lotGroup.lot.isBought = true;\n lotGroup.lot.topBidAmountCents = lotGroup.lot.buyNowPriceCents;\n lotGroup.lot.topBidID = out.bidID;\n lotGroup.showBoughtOverlay = true;\n setTimeout(() => {\n lotGroup.showBoughtOverlay = false;\n this.events.raiseAuctionLotAddedToCart();\n }, 3000);\n this.purchaseNotification.open(PurchaseNotificationType.Purchase);\n },\n error: (err) => {\n lotGroup.showConfirmBuyNow = false;\n this.auctionService.showError(err);\n }\n });\n }\n\n hideBiddingButtons(lotGroup: LotGroup): void {\n if (!this.biddingOpen() || lotGroup.placingBid) { return; }\n lotGroup.showBiddingButtons = false;\n lotGroup.showConfirmBuyNow = false;\n\n // reset the confirmation button - delay reset for animation if desktop\n if (this.isMobile) {\n this.resetBiddingButtons(lotGroup);\n } else {\n setTimeout(() => {\n this.resetBiddingButtons(lotGroup);\n }, 500);\n }\n\n }\n\n onBidSucceeded(lotGroup: LotGroup): void {\n lotGroup.bidSucceeded = true;\n }\n\n submitBidLimit(lotGroup: LotGroup, bidLimitAmountCents: number) {\n this.auctionService.submitBidLimit(lotGroup.lot, bidLimitAmountCents).subscribe(_ => {\n lotGroup.bidSucceeded = false;\n lotGroup.adjustingBidLimit = false;\n\n this.updateBidLimitAmountOnLot(lotGroup, bidLimitAmountCents);\n }, (e => {\n this.auctionService.showError(e);\n }));\n }\n\n setRefresh(refresh: boolean, lotGroup: LotGroup) {\n lotGroup.triggerPhotoRefresh = refresh;\n }\n\n private updateBidLimitAmountOnLot(lotGroup: LotGroup, bidLimitAmountCents: number): void {\n lotGroup.userActiveBidLimitAmountCents = bidLimitAmountCents;\n }\n\n private onBidReceived(bidReceived: BidReceivedPayload) {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === bidReceived.lotID);\n\n if (!lotGroup || bidReceived.bidAmountCents < lotGroup.lot.topBidAmountCents) {\n return;\n }\n\n lotGroup.lot.topBidAmountCents = bidReceived.bidAmountCents;\n lotGroup.lot.topBidID = bidReceived.bidID;\n lotGroup.lot.topBidderUserID = bidReceived.userID;\n if (bidReceived.userID === this.registeredUser?.userID || bidReceived.userID === this.registeredUser?.biddingAsUserID) {\n lotGroup.userLastBidAmountCents = bidReceived.bidAmountCents;\n }\n if (!lotGroup.customBid && !lotGroup.showConfirmBid) {\n this.resetBidValue(lotGroup);\n }\n\n this.showBiddingButtons(lotGroup);\n }\n\n private onLotBought(lotBoughtPayload: LotBoughtPayload) {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === lotBoughtPayload.lotID);\n\n if (!lotGroup) {\n return;\n }\n\n lotGroup.lot.topBidID = lotBoughtPayload.bidID;\n lotGroup.lot.topBidderUserID = lotBoughtPayload.userID;\n lotGroup.lot.isBought = true;\n lotGroup.lot.topBidAmountCents = lotGroup.lot.buyNowPriceCents;\n\n this.hideBiddingButtons(lotGroup);\n }\n\n private onBidsCleared(bidsClearedPayload: BidsClearedPayload) {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === bidsClearedPayload.lotID);\n\n if (!lotGroup) {\n return;\n }\n\n lotGroup.lot.topBidID = '';\n lotGroup.lot.topBidderUserID = '';\n lotGroup.lot.topBidAmountCents = 0;\n lotGroup.userLastBidAmountCents = 0;\n lotGroup.lot.isBought = false;\n\n if (!lotGroup.customBid && !lotGroup.showConfirmBid) {\n this.resetBidValue(lotGroup);\n }\n }\n\n private onBidRescinded(bidRescinded: BidRescindedPayload) {\n if (!this.lotGroups) {\n return;\n }\n\n const lotGroup = this.lotGroups.find((group: LotGroup) => group.lot.id === bidRescinded.lotID);\n\n if (!lotGroup) {\n return;\n }\n\n lotGroup.lot.topBidAmountCents = bidRescinded.bidAmountCents;\n lotGroup.lot.topBidID = bidRescinded.bidID;\n lotGroup.lot.topBidderUserID = bidRescinded.userID;\n lotGroup.lot.isBought = false;\n if (this.registeredUser?.userID === bidRescinded.userID || this.registeredUser?.biddingAsUserID === bidRescinded.userID) {\n lotGroup.userLastBidAmountCents = bidRescinded.bidAmountCents;\n }\n\n if (!lotGroup.customBid && !lotGroup.showConfirmBid) {\n this.resetBidValue(lotGroup);\n }\n }\n\n private getCategories() {\n const input = new PagingInputV3().Take(50).Filters([\n new FilterParameterV3('source_id', FilterComparator.Equal, this.virtualEvent.id),\n new FilterParameterV3('auction_id', FilterComparator.Equal, this.auction.id),\n ]);\n this.inventoryClient.readCategoryListByAuction(this.virtualEvent.organizationID, input).subscribe((out) => {\n out.items.forEach((category) => {\n this.categories.push(category.categoryName);\n });\n });\n }\n\n private getLotPagingInput(): PagingInputV3 {\n const paging = new PagingInputV3().Take(LOT_PAGE_SIZE).Filters([\n new FilterParameterV3('filter_by_user_id', FilterComparator.Equal, this.viewUserLots),\n new FilterParameterV3('user_id', FilterComparator.Equal, this.registeredUser?.biddingAsUserID || this.registeredUser?.userID || '')\n ]);\n if (!this.allowBidding) {\n paging.Filters([\n new FilterParameterV3('auction_type', FilterComparator.Equal, 'live'),\n new FilterParameterV3('show_in_preview', FilterComparator.Equal, true)\n ]);\n } else {\n paging.Filter(new FilterParameterV3('auction_id', FilterComparator.Equal, this.virtualEvent.activeSilentAuctionID));\n }\n\n paging.Filters(this.lotCategoryFilters);\n paging.Filters(this.lotSearchFilters);\n if (this.lotSorts.length < 1) {\n paging.Sort(new SortParameter('lot_order', SortDirection.Ascending));\n } else {\n paging.Sorts(this.lotSorts);\n }\n\n return paging;\n }\n\n private mergeIntoAllLots(toMerge: LotGroup[]): LotGroup[] {\n const have = new Map();\n this.allLots.forEach((lg) => {\n have.set(lg.lot.id, true);\n });\n toMerge.forEach((lg) => {\n if (!have.get(lg.lot.id)) {\n have.set(lg.lot.id, true);\n this.allLots.push(lg);\n }\n });\n return this.allLots;\n }\n\n private setLotGroups(): void {\n // only do this one time\n if (this.getLotListTrigger$) {\n return;\n }\n\n this.getLotListTrigger$ = new BehaviorSubject(this.getLotPagingInput());\n\n this.getLotListTrigger$.pipe(\n tap(() => {\n this.loadingMore = true;\n }),\n switchMap((paging: PagingInputV3) => this.inventoryClient.readAllLotViewList(\n this.virtualEvent.organizationID,\n this.virtualEvent.id,\n paging\n )),\n tap(() => {\n this.loadingMore = false;\n }),\n tap(out => {\n if (out?.paging?.nextPage) {\n const np = out.paging.nextPage;\n this.nextPage = new PagingInputV3().Skip(np.skip).Take(np.take).Filters(np.filters).Sorts(np.sorts);\n } else {\n this.nextPage = null;\n }\n }),\n pluck('items'),\n ).subscribe({\n next: (out: AllLotView[]) => {\n this.lotGroups = this.mergeIntoAllLots(this.mapLotGroups(out));\n this.lotGroups = this.lotGroups.map((lotGroup) => {\n lotGroup.canBid = this.canUseBidButtons(lotGroup);\n return lotGroup;\n });\n this.attachBottomOfScrollObserver();\n }\n });\n }\n\n refreshLotInGroup(payload: GeneralAuctionLotUpdated): void {\n if (!this.lotGroups) {\n return;\n }\n\n this.lotGroups.some(group => {\n if (group.lot.id === payload.lotID &&\n group.lot.auctionID === payload.auctionID &&\n group.lot.organizationID === payload.organizationID) {\n this.inventoryClient.readLot({\n lotID: payload.lotID,\n organizationID: payload.organizationID,\n auctionID: payload.auctionID\n } as ReadLotInput).pipe(take(1)).subscribe((lot) => {\n if (lot.primaryPhotoURL === group.lot.primaryPhotoURL) {\n // trigger only concerned with a change in value to inform when lot photos should be reloaded\n group.triggerPhotoRefresh = !group.triggerPhotoRefresh;\n }\n group.lot = Object.assign(group.lot, lot);\n group.fullDescription = lot.description;\n group.truncatedDescription = this.getDescription(lot.description);\n group.showTruncated = this.shouldTruncateDescription(lot.description);\n });\n return true;\n }\n return false;\n });\n }\n\n toggleUserLots(): void {\n this.viewUserLots = !this.viewUserLots;\n this.searchAuctionLot.setValue('', { emitEvent: false });\n this.filterCategoryAuctionLot.setValue('', { emitEvent: false });\n this.sortAuctionLot.setValue('', { emitEvent: false });\n this.searchLotList('', false);\n this.filterLotListByCategory('all', false);\n this.sortLotList('', false);\n this.lotGroups = []; // empty list so that styles aren't confusing\n\n this.allLots = [];\n this.nextPage = null;\n this.getLotListTrigger$.next(this.getLotPagingInput());\n }\n\n isLeadingBidder(lotGroup: LotGroup): boolean {\n if (!lotGroup.lot.topBidderUserID) { return false; }\n return lotGroup.lot.topBidderUserID === this.registeredUser?.userID\n || lotGroup.lot.topBidderUserID === this.registeredUser?.biddingAsUserID;\n }\n\n getLotGroupClass(lotGroup: LotGroup): string {\n const primary = 'primary-color-border';\n const outbid = 'auction-lot__lot-group_outbid';\n const defaultStyles = 'auction-lot__lot-group_default';\n\n if (this.viewUserLots) {\n return !this.isLeadingBidder(lotGroup) ? outbid : primary;\n }\n return lotGroup.bidSucceeded || lotGroup.showBiddingButtons ? primary : defaultStyles;\n }\n\n private setCountdown(): void {\n const pluralize = (num: number, output: string) => {\n return num !== 1 ? output + 's' : output;\n };\n\n if (!this.biddingOpen() && !this.biddingClosed()) {\n const dateOptions: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric'\n };\n this.countdown = 'Bidding will open on ' + new Date(this.auction?.openTime).toLocaleString('en-US', dateOptions);\n }\n else if (this.auction?.closeTime) {\n clearInterval(this.countdownInterval);\n this.countdownService.getCountdown(this.auction?.closeTime).subscribe(\n (countdown: CountdownOutput) => {\n if (countdown.ended) {\n this.countdown = 'Bidding closed';\n return;\n }\n\n const days = countdown.days;\n const hours = countdown.hours;\n const minutes = countdown.minutes;\n\n this.countdown = `${days} ${pluralize(days, 'Day')}  ${hours} ${pluralize(hours, 'Hour')}  ${minutes} ${pluralize(minutes, 'Minute')}`;\n },\n _ => this.countdown = '',\n );\n }\n }\n\n private mapLotGroups(lots: AllLotView[]): LotGroup[] {\n return lots.map((l) => {\n const lot = {\n organizationID: this.virtualEvent.organizationID,\n auctionID: l.auctionID,\n id: l.id,\n name: l.name,\n lotOrder: l.lotOrder,\n bidMinimumCents: l.bidMinimumCents,\n bidIncrementCents: l.bidIncrementCents,\n buyNowPriceCents: l.buyNowPriceCents,\n isBuyNowActive: l.isBuyNowActive,\n isBought: l.isBought,\n topBidID: '', // not used but prevents from being undefined\n topBidAmountCents: l.topBidAmountCents,\n topBidderUserID: l.topBidderUserID,\n primaryPhotoURL: l.primaryPhotoURL,\n } as Lot;\n\n return {\n lot: lot,\n fullDescription: l.description,\n truncatedDescription: this.getDescription(l.description),\n showTruncated: this.shouldTruncateDescription(l.description),\n categories: l.itemCategories,\n itemDonors: l.itemDonors,\n estimatedValueCents: l.estimatedValueCents,\n userLastBidAmountCents: l.myLastBidAmountCents,\n userActiveBidLimitAmountCents: l.myActiveBidLimitAmountCents,\n bidValueCents: this.auctionService.getMinimumBid(lot),\n itemPhotoCount: l.itemPhotoCount\n } as LotGroup;\n });\n }\n\n private resetBidValue(lotGroup: LotGroup): void {\n lotGroup.bidValueCents = this.auctionService.getMinimumBid(lotGroup.lot);\n }\n\n private getDescription(description: string): string {\n if (this.shouldTruncateDescription(description)) {\n return description.substring(0, this.descriptionCharacterLimit) + '...';\n }\n return description;\n }\n\n shouldTruncateDescription(description: string): boolean {\n return description.length > this.descriptionCharacterLimit;\n }\n\n toggleDescription(lotGroup: LotGroup) {\n lotGroup.showTruncated = !lotGroup.showTruncated;\n }\n\n onBidValueDecreased(lotGroup: LotGroup): void {\n const lot = lotGroup.lot;\n const bid = lotGroup.bidValueCents;\n lotGroup.bidValueCents = this.auctionService.decreaseBidValue(bid, lot);\n if (this.auctionService.isMinimumBid(bid, lot)) {\n lotGroup.customBid = false;\n }\n }\n\n onBidValueIncreased(lotGroup: LotGroup): void {\n lotGroup.bidValueCents = this.auctionService.increaseBidValue(lotGroup.bidValueCents, lotGroup.lot);\n lotGroup.customBid = true;\n }\n\n onBidClicked(lotGroup: LotGroup): void {\n if (!this.isRegistered()) {\n if (this.router.url.includes('/embed')) {\n const url = `organizations/${this.virtualEvent.organizationID}/virtual-events/${this.virtualEvent.id}/embed/auth/sign-up`;\n this.router.navigate([url]);\n }\n else if (this.virtualEvent.enableTicketing) {\n this.events.raiseOpenTicketSelectSidenav();\n }\n else {\n this.dialog.open(LogInDialogComponent, { panelClass: 'virtual-event-page__large-dialog', maxWidth: '90vw' });\n }\n }\n else {\n lotGroup.showConfirmBid = true;\n lotGroup.showConfirmBuyNow = false;\n }\n }\n\n onCancelBid(lotGroup: LotGroup): void {\n lotGroup.placingBid = false;\n lotGroup.showConfirmBid = false;\n }\n\n onBidPlaced(lotGroup: LotGroup): void {\n lotGroup.placingBid = true;\n\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile && !this.auctionService.isActiveProxyBidder()) {\n this.dialog.open(CreditCardDialogComponent).afterClosed()\n .subscribe((out: CreditCardDialogOutput) => {\n out.addedCard ? this.submitBid(lotGroup) : this.resetBiddingButtons(lotGroup);\n });\n }\n else if (this.auctionService.isOutbid(lotGroup.bidValueCents, lotGroup.lot)) {\n this.auctionService.showOutbidMessage();\n this.resetBiddingButtons(lotGroup);\n }\n else {\n this.submitBid(lotGroup);\n }\n });\n }\n\n loadMore(): void {\n if (this.nextPage) {\n this.getLotListTrigger$.next(this.nextPage);\n }\n }\n\n private attachBottomOfScrollObserver() {\n if (this.bottomObserverIsRegistered) {\n return;\n }\n this.bottomObserverIsRegistered = true;\n\n // make sure our template render is complete, start watching for auto paging\n this.cdRef.detectChanges();\n\n // when our bottom indicator comes into view, read another page\n const observer = new IntersectionObserver((entries, opts) => {\n entries.forEach(entry => {\n this.loadMore();\n });\n }, {\n root: null, // default is the viewport\n threshold: .5 // percentage of taregt's visible area. Triggers \"onIntersection\"\n });\n observer.observe(document.querySelector('.auction-lot__bottom-of-scroll'));\n }\n\n private submitBid(lotGroup: LotGroup) {\n this.auctionService.submitBid('silent', lotGroup.bidValueCents, lotGroup.lot).subscribe(out => {\n if (out.topBidderUserID === this.registeredUser?.userID || out.topBidderUserID === this.registeredUser?.biddingAsUserID) {\n lotGroup.userLastBidAmountCents = out.topBidAmountCents;\n this.onBidSucceeded(lotGroup);\n } else {\n lotGroup.autoOutbid = true;\n setTimeout(() => {\n lotGroup.autoOutbid = false;\n this.resetBiddingButtons(lotGroup);\n }, 3000);\n }\n }, (e => {\n this.auctionService.showError(e);\n this.resetBiddingButtons(lotGroup);\n }));\n }\n\n private resetBiddingButtons(lotGroup: LotGroup): void {\n lotGroup.placingBid = false;\n lotGroup.showConfirmBid = false;\n lotGroup.customBid = false;\n this.resetBidValue(lotGroup);\n }\n\n private initializeForm() {\n this.sortAuctionLot = new FormControl();\n this.filterCategoryAuctionLot = new FormControl();\n this.searchAuctionLot = new FormControl();\n\n this.sortAuctionLot.valueChanges.subscribe((sort: string) => {\n this.sortLotList(sort, true);\n });\n\n this.filterCategoryAuctionLot.valueChanges.subscribe((lotFilter: string) => {\n this.filterLotListByCategory(lotFilter, true);\n });\n\n if (this.linkLotID) {\n this.searchAuctionLot.setValue(this.linkLotID);\n }\n this.searchAuctionLot.valueChanges.pipe(debounceTime(2000)).subscribe((search: string) => {\n this.searchLotList(search, true);\n });\n\n this.lotFilterForm = new FormGroup({\n sortAuctionLot: this.sortAuctionLot,\n filterCategoryAuctionLot: this.filterCategoryAuctionLot,\n searchAuctionLot: this.searchAuctionLot\n });\n\n this.formLoaded = true;\n }\n\n private sortLotList(by: string, triggerSearch: boolean) {\n\n this.lotSorts = [];\n\n switch (by) {\n case 'lot-number':\n this.lotSorts.push(new SortParameter('lot_order', SortDirection.Ascending));\n break;\n case 'most-bids':\n this.lotSorts.push(new SortParameter('bid_count', SortDirection.Descending));\n break;\n case 'least-bids':\n this.lotSorts.push(new SortParameter('bid_count', SortDirection.Ascending));\n break;\n case 'highest-bid-to-value':\n this.lotSorts.push(new SortParameter('bid_value_percentage', SortDirection.Descending));\n break;\n case 'lowest-bid-to-value':\n this.lotSorts.push(new SortParameter('bid_value_percentage', SortDirection.Ascending));\n break;\n case 'highest-bid':\n this.lotSorts.push(new SortParameter('top_bid_amount_cents', SortDirection.Descending));\n break;\n case 'lowest-bid':\n this.lotSorts.push(new SortParameter('top_bid_amount_cents', SortDirection.Ascending));\n break;\n default:\n this.lotSorts.push(new SortParameter('lot_order', SortDirection.Ascending));\n }\n\n if (triggerSearch) {\n // reset cached lots since sort is changing\n this.allLots = [];\n this.nextPage = null;\n this.getLotListTrigger$.next(this.getLotPagingInput());\n }\n }\n\n private filterLotListByCategory(by: string, triggerSearch: boolean) {\n if (by === 'all') {\n this.lotCategoryFilters = [];\n } else {\n this.lotCategoryFilters = [\n new FilterParameterV3('item_categories', FilterComparator.Contains, by)\n ];\n }\n\n if (triggerSearch) {\n // reset cached lots since filter is changing\n this.allLots = [];\n this.nextPage = null;\n this.getLotListTrigger$.next(this.getLotPagingInput());\n }\n }\n\n private searchLotList(by: string, triggerSearch: boolean) {\n if (!by) {\n this.lotSearchFilters = [];\n } else {\n this.lotSearchFilters = [\n new FilterParameterV3(null, null, null, {\n op: 'OR',\n filters: [\n new FilterParameterV3('lot_order', FilterComparator.Equal, by),\n new FilterParameterV3('name', FilterComparator.Contains, by),\n new FilterParameterV3('description', FilterComparator.Contains, by),\n new FilterParameterV3('id', FilterComparator.Contains, by)\n ]\n } as FilterGroupV3)\n ];\n }\n if (triggerSearch) {\n // reset cached lots since we are searching\n this.allLots = [];\n this.nextPage = null;\n this.getLotListTrigger$.next(this.getLotPagingInput());\n }\n }\n\n private getLinkedLot(lotID: string) {\n if (this.biddingOpen() && !this.biddingClosed()) {\n this.viewUserLots = !this.viewUserLots;\n }\n this.searchLotList(lotID, false);\n }\n}\n","import { Component, ViewEncapsulation, HostListener, Inject, OnInit, Input } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { take } from 'rxjs/operators';\nimport { AuthDisplayMode, AuthOutput } from '../../auth/auth.component';\n\nexport class AuthDialogInput {\n mode: AuthDisplayMode;\n}\n\nexport class AuthDialogOutput {\n canceled: boolean;\n newRegistration: boolean;\n}\n\n@Component({\n selector: 'app-auth-dialog',\n templateUrl: './auth-dialog.component.html',\n styleUrls: ['./auth-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuthDialogComponent {\n\n mode: AuthDisplayMode;\n\n constructor(\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) inputData: AuthDialogInput\n ) {\n this.mode = inputData.mode;\n }\n\n @HostListener('window:keydown.esc') onKeyDown() {\n this.cancel();\n }\n\n cancel() {\n this.matDialogRef.close({\n canceled: true,\n newRegistration: false\n });\n }\n\n onAuthSuccess(result: AuthOutput) {\n this.matDialogRef.close({\n canceled: false,\n newRegistration: result && result.newRegistration\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CurrentUserService,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { TicketOptionAnswer, TicketType } from 'src/app/services/ticket-client.service';\nimport {\n AttendeeExperience,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { RegistrationService } from '../../services/registration.service';\nimport { StateService } from '../../services/state.service';\nimport { TicketPurchaseDialogComponent } from '../ticket-purchase-dialog/ticket-purchase-dialog.component';\nimport { RegisterOutput } from './register/register.component';\n\n\nexport enum AuthDisplayMode {\n None = 'none',\n LogIn = 'log-in',\n SignUp = 'sign-up',\n Register = 'register',\n}\n\nexport class AuthOutput {\n newRegistration: boolean;\n}\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuthComponent implements OnInit {\n @Input() displayMode: AuthDisplayMode;\n @Input() showNeedsTicketLink = true;\n\n @Output() success: EventEmitter = new EventEmitter();\n @Output() cancel: EventEmitter = new EventEmitter();\n\n event: VirtualEvent;\n loggedIn = false;\n isRegisteredForEvent = false;\n\n AuthDisplayMode = AuthDisplayMode;\n\n showSignUp: boolean;\n showDonateAndRegister: boolean;\n showRegister: boolean;\n showLogin: boolean;\n showTicketOptions: boolean;\n\n userInfo: Profile;\n passthroughInvitationID: string;\n ticketID: string;\n ticketToken: string;\n ticketType: TicketType;\n\n constructor(\n private state: StateService,\n private virtualEventClient: VirtualEventClientService,\n private currentUserService: CurrentUserService,\n private registrationService: RegistrationService,\n private snackbar: MatSnackBar,\n private activatedRoute: ActivatedRoute,\n private dialog: MatDialog,\n ) { }\n\n ngOnInit() {\n this.currentUserService.getProfile('flow/ve/auth::init').subscribe((profile: Profile) => {\n this.state.registration.pipe(take(1)).subscribe((registration: ReadMyRegistrationOutput) => {\n this.isRegisteredForEvent = registration?.found || false;\n this.loggedIn = true;\n this.userInfo = profile;\n this.init();\n });\n }, () => {\n this.init();\n });\n }\n\n private init(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n this.passthroughInvitationID = this.activatedRoute.snapshot.queryParams.invite || '';\n this.ticketID = this.activatedRoute.snapshot.queryParams.ticket || '';\n this.ticketToken = this.activatedRoute.snapshot.queryParams.t || '';\n\n if (this.displayMode) {\n this.setDefaultDisplay();\n }\n else if (!this.loggedIn) {\n this.login();\n }\n else if (!this.isRegisteredForEvent) {\n this.register();\n }\n });\n }\n\n private setDefaultDisplay() {\n switch (this.displayMode) {\n case AuthDisplayMode.LogIn:\n this.login();\n break;\n case AuthDisplayMode.SignUp:\n this.signUp();\n break;\n case AuthDisplayMode.Register:\n this.register();\n break;\n case AuthDisplayMode.None:\n // show nothing\n break;\n default:\n console.log('unknown auth display type', this.displayMode);\n break;\n }\n }\n\n private claimingTicket(): boolean {\n return !!this.ticketID && !!this.ticketToken;\n }\n\n signUp(): void {\n this.resetView();\n this.showSignUp = true;\n }\n\n register(): void {\n this.resetView();\n this.showRegister = true;\n }\n\n donateAndRegister(): void {\n this.resetView();\n this.showDonateAndRegister = true;\n }\n\n login(): void {\n this.resetView();\n this.showLogin = true;\n }\n\n showRedeemTicketOptions(): void {\n this.resetView();\n this.showTicketOptions = true;\n }\n\n resetView(): void {\n this.showSignUp = false;\n this.showDonateAndRegister = false;\n this.showRegister = false;\n this.showLogin = false;\n this.showTicketOptions = false;\n }\n\n redirectToSignUp(): void {\n if (this.event.enableTicketing) {\n this.dialog.open(TicketPurchaseDialogComponent);\n }\n else {\n this.signUp();\n }\n }\n\n onSignUpComplete([profile, ticketType, attendeeExperience]: [Profile, TicketType?, AttendeeExperience?]): void {\n this.showTicketOptions = !!ticketType;\n\n this.loggedInSuccess(profile);\n\n if (this.claimingTicket()) {\n if (this.showTicketOptions) {\n this.ticketType = ticketType;\n return this.showRedeemTicketOptions();\n }\n this.claimTicketAndRegister();\n return;\n }\n\n this.registrationService.shouldShowDonateWhenRegistering(this.event).subscribe((shouldShowDonationForm: boolean) => {\n if (shouldShowDonationForm) {\n this.donateAndRegister();\n return;\n }\n\n this.registrationService.register(profile, this.passthroughInvitationID, attendeeExperience).subscribe({\n next: registration => {\n if (registration.found) {\n this.registrationSuccess(true, registration);\n }\n },\n error: _ => {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was a problem registering for the virtual event.', SnackBarIcon.Error, true)\n );\n this.register();\n }\n });\n });\n }\n\n onRegisterComplete(output: RegisterOutput): void {\n this.userInfo = output.profile;\n\n if (output.ticketType?.ticketOptions) {\n this.showTicketOptions = true;\n this.ticketType = output.ticketType;\n return this.showRedeemTicketOptions();\n }\n\n this.registrationService.shouldShowDonateWhenRegistering(this.event).subscribe((shouldShowDonationForm: boolean) => {\n if (shouldShowDonationForm) {\n this.donateAndRegister();\n return;\n }\n\n if (output.registration?.found) {\n this.registrationSuccess(true, output.registration);\n }\n });\n }\n\n onDonateAndRegisterComplete(registration: ReadMyRegistrationOutput): void {\n this.registrationSuccess(true, registration);\n }\n\n onRedeemTicketOptionAnswered(ticketOptionAnswers: TicketOptionAnswer[]): void {\n this.claimTicketAndRegister(ticketOptionAnswers);\n }\n\n onLogInComplete(profile: Profile): void {\n this.loggedInSuccess(profile);\n\n this.virtualEventClient.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n if (existingRegistration.found) {\n this.state.setRegistration(existingRegistration);\n this.registrationSuccess(false, existingRegistration);\n } else if (!existingRegistration?.found && this.event.enableTicketing && this.claimingTicket()) {\n this.register();\n } else if (!existingRegistration?.found && this.event.enableTicketing) {\n this.success.emit();\n } else {\n this.register();\n }\n });\n }\n\n private loggedInSuccess(profile: Profile): void {\n this.loggedIn = true;\n this.userInfo = profile;\n }\n\n private registrationSuccess(isNewRegistration: boolean, registration: ReadMyRegistrationOutput): void {\n this.isRegisteredForEvent = true;\n this.resetView();\n this.success.emit({ newRegistration: isNewRegistration } as AuthOutput);\n }\n\n private claimTicketAndRegister(ticketOptionAnswers?: TicketOptionAnswer[]): void {\n this.registrationService.claimTicket(this.ticketID, this.ticketToken, this.userInfo, this.event.id, ticketOptionAnswers || [])\n .subscribe({\n next: registration => {\n if (registration.found) {\n this.registrationSuccess(true, registration);\n }\n },\n error: e => {\n const snackMessage = UserFriendlyError.isFriendlyError(e) ? new UserFriendlyError(e).message : 'There was a problem claiming your ticket for the virtual event.';\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(snackMessage, SnackBarIcon.Error, true));\n },\n });\n }\n}\n","import { Component, OnInit, ViewEncapsulation, Output, EventEmitter, Input, ViewChild, AfterViewInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n Profile,\n UserFriendlyError,\n} from '@onecause/core';\nimport { CreditCardFormData, CreditCardFormComponent, CardInfo } from 'lib';\nimport { take } from 'rxjs/operators';\nimport {\n VirtualEvent,\n VirtualEventClientService,\n DonateAndSelfRegisterInput,\n ReadMyRegistrationOutput,\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../../services/state.service';\nimport { CreateUserCardInput, GivingmanagementClientService } from 'src/app/services/givingmanagement-client.service';\nimport { RegistrationService } from 'src/app/lazy-modules/virtual-event/services/registration.service';\n\n@Component({\n selector: 'app-donate-and-register',\n templateUrl: './donate-and-register.component.html',\n styleUrls: ['./donate-and-register.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DonateAndRegisterComponent implements OnInit, AfterViewInit {\n @Input() userInfo: Profile;\n @Input() passthroughInvitationID: string;\n @Output() cancel: EventEmitter = new EventEmitter();\n @Output() donateAndRegisterComplete: EventEmitter = new EventEmitter();\n @ViewChild(CreditCardFormComponent) creditCardForm: CreditCardFormComponent;\n\n event: VirtualEvent;\n presetDonationAmountsDollars: number[] = [];\n donationAmountControl: FormControl;\n\n creditCardFormData: CreditCardFormData;\n\n saveCardToProfile = true;\n\n submitting = false;\n\n constructor(\n private state: StateService,\n private registrationService: RegistrationService,\n private virtualEventClient: VirtualEventClientService,\n private givingManagementClient: GivingmanagementClientService,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.event.donationSuggestedAmountsCents.length) {\n this.presetDonationAmountsDollars = this.event.donationSuggestedAmountsCents.map((cents: number) => cents / 100);\n }\n\n this.donationAmountControl = new FormControl(\n this.getRequiredDonationCents() || 0,\n [Validators.pattern('\\\\d+(\\\\.\\\\d{1,2})?'), Validators.min(this.getRequiredDonationCents() || 1)]\n );\n });\n }\n\n ngAfterViewInit(): void {\n if (this.userInfo) {\n setTimeout(() => {\n this.initCreditCardFormValues();\n });\n }\n }\n\n private initCreditCardFormValues() {\n this.creditCardForm?.writeValue({\n billingAddress: {\n street: this.userInfo.addressLine1,\n city: this.userInfo.addressCity,\n state: this.userInfo.addressState,\n zip: this.userInfo.addressZip,\n country: this.creditCardForm.defaultCountryCode,\n },\n cardInfo: {\n name: this.userInfo.firstName + ' ' + this.userInfo.lastName,\n } as CardInfo,\n });\n }\n\n getRequiredDonationCents(): number {\n if (this.event.requireDonationDuringRegistration) {\n return this.event.donationSuggestedAmountsCents[0];\n }\n }\n\n setDonationValue(donationAmountCents: number): void {\n this.donationAmountControl.setValue(donationAmountCents);\n this.donationAmountControl.markAsTouched();\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.creditCardFormData = formData;\n }\n\n invalidForms(): boolean {\n return this.donationAmountControl.invalid || !this.creditCardFormData;\n }\n\n register(): void {\n this.submitting = true;\n\n this.registrationService.register(this.userInfo, this.passthroughInvitationID).subscribe({\n next: (registration: ReadMyRegistrationOutput) => { this.donateAndRegisterComplete.emit(registration); },\n error: e => { this.handleDonateAndRegisterError(e); },\n });\n }\n\n donateAndRegister(): void {\n if (this.invalidForms()) {\n this.donationAmountControl.markAsTouched();\n return;\n }\n\n this.submitting = true;\n\n const input = {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n firstName: this.userInfo.firstName,\n lastName: this.userInfo.lastName,\n mobilePhone: this.userInfo.phone,\n amountCents: this.donationAmountControl.value,\n cardName: this.creditCardFormData.cardInfo.name,\n payerName: this.creditCardFormData.cardInfo.name,\n expiration: this.creditCardFormData.cardInfo.expiration,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n token: this.creditCardFormData.cardInfo.nonce,\n } as DonateAndSelfRegisterInput;\n\n if (this.creditCardFormData.billingAddress) {\n input.payerStreet = this.creditCardFormData.billingAddress.street;\n input.payerCity = this.creditCardFormData.billingAddress.city;\n input.payerState = this.creditCardFormData.billingAddress.state;\n input.payerZip = this.creditCardFormData.billingAddress.zip;\n input.payerCountry = this.creditCardFormData.billingAddress.country;\n }\n\n // We need to save the user's credit card before updating registration in state service\n // `VirtualEventComponent` listens for registration updates and shows the credit card dialog if one does not exist\n // if we update the state's registration before saving the card, we will incorrectly show the dialog\n this.virtualEventClient.donateAndSelfRegister(input)\n .subscribe({\n next: _ => { this.saveCardToProfile ? this.saveUserCard() : this.setRegistration(); },\n error: e => { this.handleDonateAndRegisterError(e); },\n });\n }\n\n private setRegistration() {\n this.registrationService.setRegistration().subscribe((registration: ReadMyRegistrationOutput) => {\n this.donateAndRegisterComplete.emit(registration);\n });\n }\n\n private saveUserCard(): void {\n\n const input = {\n organizationID: this.event.organizationID,\n sourceType: 'virtualevent',\n sourceID: this.event.id,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardName: this.creditCardFormData.cardInfo.name,\n cardExpiration: this.creditCardFormData.cardInfo.expiration,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n token: this.creditCardFormData.cardInfo.nonce,\n } as CreateUserCardInput;\n\n if (this.creditCardFormData.billingAddress) {\n input.billingStreet = this.creditCardFormData.billingAddress.street;\n input.billingCity = this.creditCardFormData.billingAddress.city;\n input.billingState = this.creditCardFormData.billingAddress.state;\n input.billingZip = this.creditCardFormData.billingAddress.zip;\n input.billingCountry = this.creditCardFormData.billingAddress.country;\n }\n\n this.givingManagementClient.createUserCard(input).subscribe(() => {\n this.givingManagementClient.getUserCardForSourceByUserID({\n organizationID: this.event.organizationID,\n sourceID: this.event.id\n }).subscribe((card) => {\n this.state.setUserCard(card.userCard);\n this.setRegistration();\n });\n }, () => {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was an error saving the credit card.', SnackBarIcon.Error, true)\n );\n this.setRegistration();\n });\n }\n\n private handleDonateAndRegisterError(e: any): void {\n const snackMessage = UserFriendlyError.isFriendlyError(e) ? new UserFriendlyError(e).message : 'There was a problem registering for the virtual event.';\n this.submitting = false;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n}\n","import { Component, EventEmitter, Inject, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n EnvironmentService,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n WindowInjectionToken,\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { RegistrationService } from 'src/app/lazy-modules/virtual-event/services/registration.service';\nimport { AuthClientService, AuthenticationResult, LoginInput } from 'src/app/services/auth-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../../services/state.service';\nimport { LogInFormComponent, LogInFormData } from '../../log-in-form/log-in-form.component';\n\n@Component({\n selector: 'app-log-in',\n templateUrl: './log-in.component.html',\n styleUrls: ['./log-in.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LogInComponent implements OnInit {\n @Input() showNeedTicketsLink = true;\n\n @Output() cancel: EventEmitter = new EventEmitter();\n @Output() signUp: EventEmitter = new EventEmitter();\n @Output() logInComplete: EventEmitter = new EventEmitter();\n @ViewChild(LogInFormComponent) logInForm: LogInFormComponent;\n\n event: VirtualEvent;\n\n googleClientId: string;\n facebookAppId: string;\n googleIsReady = false;\n facebookIsReady = false;\n\n submitting = false;\n\n private logInUserInfo: LoginInput;\n\n constructor(\n private state: StateService,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private snackbar: MatSnackBar,\n private environmentService: EnvironmentService,\n @Inject(WindowInjectionToken) private window: Window,\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n setLogInFormData(formData: LogInFormData): void {\n if (formData.userInfo) {\n this.logInUserInfo = formData.userInfo;\n }\n else if (formData.facebookUserInfo) {\n this.facebookLogin(formData.facebookUserInfo);\n }\n else if (formData.googleUserInfo) {\n this.googleLogin(formData.googleUserInfo);\n }\n }\n\n private googleLogin(googleUser: any) {\n this.submitting = true;\n\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n private facebookLogin(data: any) {\n this.submitting = true;\n\n this.authClient.facebookLogin({ accessToken: data.accessToken })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n login(): void {\n if (!this.logInUserInfo) {\n this.logInForm.logInForm.markAllAsTouched();\n return;\n }\n\n this.submitting = true;\n\n this.authClient.login(this.logInUserInfo)\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n private handleLoginError(err: any) {\n let errorMessage = 'Login Failed.';\n if (UserFriendlyError.isFriendlyError(err)) {\n errorMessage = new UserFriendlyError(err).message;\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(errorMessage, SnackBarIcon.Error, true)\n );\n\n this.submitting = false;\n }\n\n private onLoginComplete(authResult: AuthenticationResult) {\n this.registrationService.updateAccess(authResult).subscribe((profile: Profile) => {\n this.logInComplete.emit(profile);\n });\n }\n\n forgotPassword(): void {\n this.environmentService.getURL('auth', 'forgot-password').subscribe(url => {\n this.window.open(`${url}?referrer=${this.window.location.href}`, '_blank');\n });\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TicketOptionAnswer, TicketType } from 'src/app/services/ticket-client.service';\n\n@Component({\n selector: 'app-redeem-ticket-options',\n templateUrl: './redeem-ticket-options.component.html',\n styleUrls: ['./redeem-ticket-options.component.scss']\n})\nexport class RedeemTicketOptionsComponent {\n @Input() ticketType: TicketType;\n @Output() redeemTicketOptionAnswered: EventEmitter = new EventEmitter();\n\n submitting = false;\n private ticketOptionAnswers: TicketOptionAnswer[] = [];\n\n constructor() { }\n\n onTicketOptionAnswersUpdated(ticketOptionAnswers: TicketOptionAnswer[]) {\n this.ticketOptionAnswers = ticketOptionAnswers;\n }\n\n disableButton() {\n const missingTicketOptions = this.ticketType.ticketOptions.length && !this.ticketOptionAnswers.length;\n return this.submitting || missingTicketOptions;\n }\n\n submitTicketOptionAnswers() {\n this.submitting = true;\n this.redeemTicketOptionAnswered.emit(this.filterAnswers(this.ticketOptionAnswers));\n }\n\n private filterAnswers(answers: TicketOptionAnswer[]) {\n // filter so we don't save empty answers\n return answers.filter(answer => answer.ticketOptionAnswer || (answer.ticketOptionAnswerID && answer.ticketOptionAnswer === ''));\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n EmailValidator, LocationUtility, PhoneNumberFormatter, PhoneNumberPipe, PhoneNumberValidator, Profile, SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon, StateSelectComponent, UserFriendlyError,\n ZipCodeValidator\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { RegistrationService } from 'src/app/lazy-modules/virtual-event/services/registration.service';\nimport { AttendeeExperience, EventType, ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { ReadTicketTypeInput, ReadTicketTypeOutput, Ticket, TicketClientService, TicketType } from '../../../../../services/ticket-client.service';\nimport { StateService } from '../../../services/state.service';\n\nexport class RegisterOutput {\n profile: Profile;\n registration: ReadMyRegistrationOutput;\n ticketType: TicketType;\n\n constructor(\n profile: Profile,\n registration: ReadMyRegistrationOutput,\n ticketType: TicketType) {\n this.profile = profile;\n this.registration = registration;\n this.ticketType = ticketType;\n }\n}\n\nconst PAGE_BREAKPOINT = 800;\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class RegisterComponent implements OnInit {\n @Input() ticketID: string;\n @Input() ticketToken: string;\n @Input() userInfo: Profile;\n @Input() passthroughInvitationID: string;\n @Output() cancel: EventEmitter = new EventEmitter();\n @Output() registerComplete: EventEmitter = new EventEmitter();\n @ViewChild(StateSelectComponent) stateSelect: StateSelectComponent;\n\n event: VirtualEvent;\n registerForm: FormGroup;\n submitting = false;\n\n showDonationForm: boolean;\n\n showTicketOptions = false;\n ticketType: TicketType;\n isMobile: boolean;\n howAttending = AttendeeExperience.Virtual;\n\n private defaultCountryCode = 'USA';\n private countryLookupList: any = LocationUtility.countryListLookup;\n\n constructor(\n private state: StateService,\n private registrationService: RegistrationService,\n private ticketClient: TicketClientService,\n private phoneNumberPipe: PhoneNumberPipe,\n private snackbar: MatSnackBar\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n if (this.claimingTicket()) {\n this.checkTicket();\n }\n else {\n this.registerForm = this.buildRegisterForm();\n\n this.registerForm.controls.country?.valueChanges.subscribe(value => {\n this.registerForm.controls.zip.setValidators(ZipCodeValidator(value));\n this.registerForm.controls.zip.updateValueAndValidity();\n if (this.registerForm.controls.zip.invalid) {\n this.registerForm.controls.zip.setValue('');\n }\n });\n\n this.registrationService.shouldShowDonateWhenRegistering(this.event).subscribe((out: boolean) => {\n this.showDonationForm = out;\n });\n }\n\n this.isMobile = window.innerWidth <= PAGE_BREAKPOINT ? true : false;\n });\n }\n\n getZipCodeLabel() {\n const zipCodeLabel = (this.registerForm.controls.country?.value === this.countryLookupList.CAN.code) ? 'Postal Code' : 'Zip Code';\n return this.event?.requireAddress ? '*' + zipCodeLabel : zipCodeLabel;\n }\n\n private buildRegisterForm(): FormGroup {\n const phoneValidators = [PhoneNumberValidator()];\n if (this.event.requirePhoneNumber) {\n phoneValidators.push(Validators.required);\n }\n\n const phoneNumber = new FormControl(\n this.userInfo.phone ? this.phoneNumberPipe.transform(this.userInfo.phone) : '',\n phoneValidators\n );\n PhoneNumberFormatter.initializePhoneFormatter(phoneNumber);\n\n const addressValidations = this.event.requireAddress ? [Validators.required] : [];\n\n const zipValidators = [];\n if (this.event.showAddress) {\n zipValidators.push(ZipCodeValidator(this.defaultCountryCode));\n if (this.event.requireAddress) {\n zipValidators.push(Validators.required);\n }\n }\n\n return new FormGroup({\n firstName: new FormControl(this.userInfo.firstName || '', Validators.required),\n lastName: new FormControl(this.userInfo.lastName || '', Validators.required),\n email: new FormControl({ value: this.userInfo.email || '', disabled: true }, [Validators.required, EmailValidator()]),\n phone: phoneNumber,\n street: new FormControl(this.userInfo.addressLine1 || '', addressValidations),\n city: new FormControl(this.userInfo.addressCity || '', addressValidations),\n state: new FormControl(this.userInfo.addressState || '', addressValidations),\n zip: new FormControl(this.userInfo.addressZip || '', zipValidators),\n country: new FormControl(this.userInfo.addressCountry || this.defaultCountryCode, addressValidations)\n });\n }\n\n claimingTicket(): boolean {\n return !!(this.ticketID && this.ticketToken);\n }\n\n private checkTicket(): void {\n this.ticketClient.readAssignedTicket({\n organizationID: this.event.organizationID,\n ticketID: this.ticketID,\n assignmentToken: this.ticketToken,\n }).subscribe({\n next: (ticketOut: Ticket) => {\n if (ticketOut.claimedTime) {\n this.cancel.emit();\n }\n else {\n this.userInfo.firstName = ticketOut.attendeeFirstName;\n this.userInfo.lastName = ticketOut.attendeeLastName;\n this.userInfo.phone = ticketOut.attendeeMobilePhone;\n this.registerForm = this.buildRegisterForm();\n this.getTicketType(ticketOut);\n }\n },\n error: _ => { this.cancel.emit(); }\n });\n }\n\n getTicketType(ticket: Ticket): void {\n this.ticketClient.readTicketType({\n organizationID: ticket.organizationID,\n source: ticket.source,\n ticketTypeID: ticket.ticketTypeID\n } as ReadTicketTypeInput).subscribe((out: ReadTicketTypeOutput) => {\n if (out.ticketOptions && out.ticketOptions.length > 0) {\n this.showTicketOptions = true;\n this.ticketType = out;\n }\n });\n }\n\n getSubmitText(): string {\n if (this.claimingTicket()) {\n if (this.showTicketOptions) {\n return this.submitting ? 'LOADING...' : 'NEXT';\n }\n return this.submitting ? 'REDEEMING...' : 'REDEEM TICKET';\n }\n\n if (this.showDonationForm) {\n return this.submitting ? 'LOADING...' : 'NEXT';\n }\n\n if (this.showDonationForm === undefined) {\n return '';\n }\n\n return this.submitting ? 'SUBMITTING...' : 'REGISTER';\n }\n\n register(): void {\n if (this.registerForm.invalid) {\n this.registerForm.markAllAsTouched();\n if (this.event.showAddress) {\n this.stateSelect.stateSelectForm.markAllAsTouched();\n }\n return;\n }\n\n this.setSubmitting();\n\n const userInfo = {\n firstName: this.registerForm.controls.firstName.value,\n lastName: this.registerForm.controls.lastName.value,\n email: this.registerForm.controls.email.value,\n phone: this.registerForm.controls.phone.value,\n addressLine1: this.registerForm.controls.street.value,\n addressCity: this.registerForm.controls.city.value,\n addressState: this.registerForm.controls.state.value,\n addressZip: this.registerForm.controls.zip.value,\n addressCountry: this.registerForm.controls.country.value\n } as Profile;\n\n if (this.showTicketOptions) {\n this.registerComplete.emit(new RegisterOutput(userInfo, null, this.ticketType));\n return;\n }\n\n if (this.claimingTicket()) {\n this.registrationService.claimTicket(this.ticketID, this.ticketToken, userInfo, this.event.id).subscribe({\n next: (updatedRegistration: ReadMyRegistrationOutput) => {\n this.registerComplete.emit(new RegisterOutput(userInfo, updatedRegistration, null));\n },\n error: e => {\n this.sendSnackbarError(e, 'There was a problem claiming your ticket for the virtual event.');\n },\n });\n return;\n }\n\n if (this.showDonationForm) {\n this.registerComplete.emit(new RegisterOutput(userInfo, null, null));\n return;\n }\n\n let howAttending = AttendeeExperience.Unknown;\n if (this.event.eventType === EventType.Hybrid || this.event.eventType === EventType.VirtualPlusWatchParty) {\n howAttending = this.howAttending;\n }\n this.registrationService.register(userInfo, this.passthroughInvitationID, howAttending).subscribe({\n next: (registration) => {\n this.registerComplete.emit(new RegisterOutput(userInfo, registration, null));\n },\n error: (e) => {\n this.sendSnackbarError(e, 'There was a problem registering for the virtual event.');\n },\n });\n }\n\n sendSnackbarError(e, message: string) {\n if (UserFriendlyError.isFriendlyError(e)) {\n message = new UserFriendlyError(e).message;\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(message, SnackBarIcon.Error, true)\n );\n this.resetForm();\n }\n\n private setSubmitting(): void {\n this.submitting = true;\n this.registerForm.disable();\n if (this.event.showAddress) {\n this.stateSelect.stateSelectForm.disable();\n }\n }\n\n private resetForm(): void {\n this.registerForm.enable();\n if (this.event.showAddress) {\n this.stateSelect.stateSelectForm.enable();\n }\n this.submitting = false;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { RegistrationService } from 'src/app/lazy-modules/virtual-event/services/registration.service';\nimport { AuthClientService, AuthenticationResult, RegisterUserDTO } from 'src/app/services/auth-client.service';\nimport {\n ReadTicketTypeInput,\n ReadTicketTypeOutput,\n Ticket,\n TicketClientService,\n TicketType\n} from 'src/app/services/ticket-client.service';\nimport {\n AttendeeExperience,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../../services/state.service';\nimport { SignUpFormComponent, SignUpFormData } from '../../sign-up-form/sign-up-form.component';\n\n@Component({\n selector: 'app-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrls: ['./sign-up.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SignUpComponent implements OnInit {\n @Input() ticketID: string;\n @Input() ticketToken: string;\n @Output() cancel: EventEmitter = new EventEmitter();\n @Output() login: EventEmitter = new EventEmitter();\n @Output() signUpComplete: EventEmitter<[Profile, TicketType?, AttendeeExperience?]> = new EventEmitter();\n @Output() loginComplete: EventEmitter = new EventEmitter();\n @ViewChild(SignUpFormComponent) signUpForm: SignUpFormComponent;\n\n event: VirtualEvent;\n signUpInfo: RegisterUserDTO;\n\n formReady = false;\n submitting = false;\n showAlreadyRegistered = false;\n showTicketOptions = false;\n ticketType: TicketType;\n howAttending = AttendeeExperience.Virtual;\n\n private signUpUserInfo: RegisterUserDTO;\n\n constructor(\n private state: StateService,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private ticketClient: TicketClientService,\n private virtualEventClient: VirtualEventClientService,\n private snackbar: MatSnackBar\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.claimingTicket()) {\n this.getSignUpInfo();\n }\n else {\n this.formReady = true;\n }\n });\n }\n\n private claimingTicket(): boolean {\n return !!(this.ticketID && this.ticketToken);\n }\n\n private getSignUpInfo(): void {\n this.ticketClient.readAssignedTicket({\n organizationID: this.event.organizationID,\n ticketID: this.ticketID,\n assignmentToken: this.ticketToken,\n }).subscribe({\n next: (ticketOut: Ticket) => {\n if (ticketOut.claimedTime) {\n this.cancel.emit();\n }\n else {\n this.signUpInfo = {\n firstName: ticketOut.attendeeFirstName,\n lastName: ticketOut.attendeeLastName,\n email: ticketOut.attendeeEmail,\n phone: ticketOut.attendeeMobilePhone,\n } as RegisterUserDTO;\n this.getTicketType(ticketOut);\n this.formReady = true;\n }\n },\n error: _ => { this.cancel.emit(); }\n });\n }\n\n getTicketType(ticket: Ticket): void {\n this.ticketClient.readTicketType({\n organizationID: ticket.organizationID,\n source: ticket.source,\n ticketTypeID: ticket.ticketTypeID\n } as ReadTicketTypeInput).subscribe((out: ReadTicketTypeOutput) => {\n if (out.ticketOptions && out.ticketOptions.length > 0) {\n this.showTicketOptions = true;\n this.ticketType = out;\n }\n });\n }\n\n getSubmitText(): string {\n if (this.claimingTicket()) {\n if (this.showTicketOptions) {\n return this.submitting ? 'LOADING...' : 'NEXT';\n }\n return this.submitting ? 'REDEEMING...' : 'REDEEM TICKET';\n }\n\n if (this.event.requireDonationDuringRegistration || this.event.donationSuggestedAmountsShow) {\n return this.submitting ? 'LOADING...' : 'NEXT';\n }\n\n return this.submitting ? 'SUBMITTING...' : 'SIGN UP';\n }\n\n setSignUpFormData(formData: SignUpFormData): void {\n if (formData.userInfo) {\n this.signUpUserInfo = formData.userInfo;\n }\n else if (formData.facebookUserInfo) {\n this.facebookSignUp(formData.facebookUserInfo);\n }\n else if (formData.googleUserInfo) {\n this.googleSignUp(formData.googleUserInfo);\n }\n }\n\n private googleSignUp(googleUser: any) {\n this.submitting = true;\n\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onSignUpComplete(authResult); },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n private facebookSignUp(data: any) {\n this.submitting = true;\n\n this.authClient.facebookLogin({ accessToken: data.accessToken })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onSignUpComplete(authResult); },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n signUp(): void {\n if (!this.signUpUserInfo) {\n this.signUpForm.signUpForm.markAllAsTouched();\n if (this.event.showAddress) {\n this.signUpForm.stateSelect.stateSelectForm.markAllAsTouched();\n }\n return;\n }\n\n this.submitting = true;\n\n this.authClient.registerAndLogin(this.signUpUserInfo)\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onSignUpComplete(authResult); },\n error: e => { this.handleSignUpError(e); }\n });\n }\n\n private handleSignUpError(e: any): void {\n let snackMessage = 'There was a problem creating your account.';\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n if (snackMessage === 'This email is already registered') {\n this.showAlreadyRegistered = true;\n }\n }\n\n if (!this.showAlreadyRegistered) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n\n this.submitting = false;\n }\n\n private onSignUpComplete(authResult: AuthenticationResult): void {\n this.registrationService.updateAccess(authResult).subscribe((profile: Profile) => {\n this.checkIfRegistered(profile);\n });\n }\n\n private checkIfRegistered(profile: Profile) {\n this.virtualEventClient.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n if (existingRegistration.found) {\n this.loginComplete.emit(profile);\n } else if (this.showTicketOptions) {\n this.signUpComplete.emit([profile, this.ticketType, this.howAttending]);\n } else {\n this.signUpComplete.emit([profile, null, this.howAttending]);\n }\n });\n }\n}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { EnvironmentService, WindowInjectionToken } from '@onecause/core';\nimport { forkJoin } from 'rxjs';\nimport { EventsService } from '../../services/events.service';\n\nexport class BuyTicketsCTAInput {\n orgID: string;\n eventID: string;\n}\n\nexport class BuyTicketsCTAOutput {\n success: boolean;\n\n constructor(success: boolean) {\n this.success = success;\n }\n}\n\n@Component({\n selector: 'app-buy-tickets-cta',\n templateUrl: './buy-tickets-cta.component.html',\n styleUrls: ['./buy-tickets-cta.component.scss']\n})\nexport class BuyTicketsCtaComponent implements OnInit {\n @ViewChild('iframe') iframe: ElementRef;\n logoURL: string;\n iframeURL: string;\n eventSupporterTicketsURL: string;\n eventHandler = message => {\n switch (message.data.type) {\n case 'onecause:auth-flow-component-resized':\n this.resize(message.data.height);\n break;\n case 'onecause:trigger-ticket-purchase-sidenav':\n this.events.raiseOpenTicketSelectSidenav();\n this.dialogRef.close(new BuyTicketsCTAOutput(false));\n break;\n }\n }\n\n constructor(\n private dialogRef: MatDialogRef,\n private env: EnvironmentService,\n @Inject(WindowInjectionToken) private window: Window,\n private events: EventsService,\n @Inject(MAT_DIALOG_DATA) public dialogData: BuyTicketsCTAInput,\n ) { }\n\n ngOnInit(): void {\n forkJoin({\n logoURL: this.env.getURL('assets', 'onecause/onecause-logo-gradient.svg'),\n eventSupporterTicketsUrl: this.env.getURL('eventsupportertickets', ''),\n }).subscribe(out => {\n this.logoURL = out.logoURL;\n this.eventSupporterTicketsURL = out.eventSupporterTicketsUrl;\n this.iframeURL = `${out.eventSupporterTicketsUrl}/organizations/${this.dialogData.orgID}/events/${this.dialogData.eventID}/buy-tickets-cta`;\n });\n\n this.window.addEventListener('message', this.eventHandler);\n }\n\n ngOnDestroy() {\n this.window.removeEventListener('message', this.eventHandler);\n }\n\n cancel() {\n this.dialogRef.close(new BuyTicketsCTAOutput(false));\n }\n\n resize(height: number) {\n // +34 for padding\n this.iframe.nativeElement.style.height = (height + 34) + 'px';\n }\n\n}\n","import { Component, ViewEncapsulation, HostListener, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { take } from 'rxjs/operators';\n\nexport class ConfirmationDialogInput {\n title: string;\n text: string;\n confirmText: string;\n\n constructor(title: string, text: string, confirmText: string) {\n this.title = title;\n this.text = text;\n this.confirmText = confirmText;\n }\n}\n\nexport class ConfirmationDialogOutput {\n isConfirmed: boolean;\n\n constructor(isConfirmed: boolean) {\n this.isConfirmed = isConfirmed;\n }\n}\n\n@Component({\n selector: 'app-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ConfirmationDialogComponent implements OnInit {\n\n title = 'Confirm Action';\n text: string;\n confirmText = 'Confirm';\n\n constructor(\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) private inputData: ConfirmationDialogInput\n ) {\n // Change default close behavior when a user clicks off modal or presses escape.\n matDialogRef.disableClose = true;\n matDialogRef.backdropClick().pipe(take(1)).subscribe(() => {\n this.cancel();\n });\n }\n\n @HostListener('window:keydown.esc') onKeyDown() {\n this.cancel();\n }\n\n ngOnInit() {\n this.title = this.inputData.title;\n this.text = this.inputData.text;\n this.confirmText = this.inputData.confirmText;\n }\n\n cancel() {\n this.matDialogRef.close(new ConfirmationDialogOutput(false));\n }\n\n confirm() {\n this.matDialogRef.close(new ConfirmationDialogOutput(true));\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { LoggerService } from '@onecause/core';\nimport { CalculateCoverCostInput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-cover-cost',\n templateUrl: './cover-cost.component.html',\n styleUrls: ['./cover-cost.component.scss']\n})\nexport class CoverCostComponent implements OnInit, OnChanges {\n @Input() organizationID: string;\n @Input() virtualEventID: string;\n @Input() cardType: string;\n @Input() amountCents: number;\n @Input() customCoverCostMessage: string;\n @Input() isCoveringCosts: FormControl;\n\n @Output() calculatedCoverCostAmountCents = new EventEmitter();\n\n coverCostAmountCents = 0;\n\n constructor(\n private virtualEventClientService: VirtualEventClientService,\n private loggerService: LoggerService,\n ) { }\n\n ngOnInit(): void {\n this.calculateCoverCost();\n }\n\n ngOnChanges() {\n this.calculateCoverCost();\n }\n\n calculateCoverCost() {\n if (this.amountCents === 0) {\n this.coverCostAmountCents = 0;\n this.calculatedCoverCostAmountCents.emit(0);\n return;\n }\n this.virtualEventClientService.calculateCoverCost(\n this.organizationID,\n this.virtualEventID,\n {\n cardType: this.cardType,\n amountCents: this.amountCents\n } as CalculateCoverCostInput\n ).subscribe({\n next: (out) => {\n this.coverCostAmountCents = out.coverCostCents;\n this.calculatedCoverCostAmountCents.emit(out.coverCostCents);\n }, error: (err) => {\n this.loggerService.error('Failed to calculate cover cost.', err);\n }\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { CreditCardFormData } from 'lib';\nimport { take } from 'rxjs/operators';\nimport { CreateUserCardInput, GivingmanagementClientService } from 'src/app/services/givingmanagement-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../services/state.service';\n\nexport class CreditCardDialogOutput {\n addedCard: boolean;\n\n constructor(addedCard: boolean) {\n this.addedCard = addedCard;\n }\n}\n\n@Component({\n selector: 'app-credit-card-dialog',\n templateUrl: './credit-card-dialog.component.html',\n styleUrls: ['./credit-card-dialog.component.scss']\n})\nexport class CreditCardDialogComponent implements OnInit {\n\n event: VirtualEvent;\n\n private creditCardFormData: CreditCardFormData;\n\n constructor(\n private dialogRef: MatDialogRef,\n private state: StateService,\n private givingManagementClient: GivingmanagementClientService,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n disableSave() {\n return !this.creditCardFormData;\n }\n\n cancel() {\n this.dialogRef.close(new CreditCardDialogOutput(false));\n }\n\n save() {\n if (this.creditCardFormData) {\n\n const input = {\n organizationID: this.event.organizationID,\n sourceType: 'virtualevent',\n sourceID: this.event.id,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardName: this.creditCardFormData.cardInfo.name,\n cardExpiration: this.creditCardFormData.cardInfo.expiration,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n token: this.creditCardFormData.cardInfo.nonce,\n } as CreateUserCardInput;\n\n if (this.creditCardFormData.billingAddress) {\n input.billingStreet = this.creditCardFormData.billingAddress.street;\n input.billingCity = this.creditCardFormData.billingAddress.city;\n input.billingState = this.creditCardFormData.billingAddress.state;\n input.billingZip = this.creditCardFormData.billingAddress.zip;\n input.billingCountry = this.creditCardFormData.billingAddress.country;\n }\n\n this.givingManagementClient.createUserCard(input).subscribe(() => {\n this.givingManagementClient.getUserCardForSourceByUserID({\n organizationID: this.event.organizationID,\n sourceID: this.event.id\n }).subscribe((card) => {\n this.state.setUserCard(card.userCard);\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('Credit card saved.', SnackBarIcon.Success, false),\n );\n this.dialogRef.close(new CreditCardDialogOutput(true));\n });\n }, () => {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was an error saving your credit card.', SnackBarIcon.Error, true),\n );\n });\n }\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.creditCardFormData = formData;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CurrentUserService,\n LocationUtility,\n PhoneNumberFormatter,\n PhoneNumberValidator,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UpdateProfileInput,\n ZipCodeValidator,\n} from '@onecause/core';\nimport { forkJoin, Observable, Subject } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { UserProfileService } from 'src/app/lazy-modules/virtual-event/components/user-profile/user-profile.service';\nimport {\n GeneratedVirtualEventRestService,\n GetMyGuestDemographicsInput,\n GetMyGuestDemographicsOutput,\n UpdateMyGuestInput,\n UpdateMyGuestOutput\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\n@Component({\n selector: 'app-edit-profile-dialog',\n templateUrl: './edit-profile-dialog.component.html',\n styleUrls: ['./edit-profile-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class EditProfileDialogComponent implements OnInit, OnDestroy {\n editProfileForm: FormGroup;\n profile: GetMyGuestDemographicsOutput = new GetMyGuestDemographicsOutput();\n userID: string;\n registration: ReadMyRegistrationOutput;\n organizationID: string;\n eventID: string;\n errorMsgNonWhiteSpace = 'Please enter a non-whitespace character.';\n event: VirtualEvent;\n isSubmitting: boolean;\n formLoaded = false;\n\n private countryLookupList: any = LocationUtility.countryListLookup;\n private defaultCountryCode = 'USA';\n\n private destroy$ = new Subject();\n\n constructor(\n private currentUser: CurrentUserService,\n private state: StateService,\n private dialogRef: MatDialogRef,\n private snackbar: MatSnackBar,\n private fb: FormBuilder,\n private userProfileService: UserProfileService,\n private virtualEventService: GeneratedVirtualEventRestService\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.organizationID = this.event.organizationID;\n this.eventID = this.event.id;\n this.virtualEventService.getMyGuestDemographics(\n {\n eventID: this.eventID,\n organizationID: this.organizationID,\n } as GetMyGuestDemographicsInput).subscribe(getMyGuestDemographicsOutput => {\n this.profile = getMyGuestDemographicsOutput;\n this.createForm();\n });\n\n this.currentUser.getProfile('flow/ve/editProfile::load').subscribe((profile: Profile) => {\n this.userID = profile.id;\n });\n });\n\n this.isSubmitting = false;\n }\n createForm() {\n // regex: white space is invalid ONLY IF no other non-whitespace characters are present.\n const whitespace = '^\\\\S+?(.*)|(^\\\\s+\\\\S+?(.*))';\n\n this.editProfileForm = this.fb.group({\n firstName: [`${this.profile.firstName}`, [Validators.required, Validators.pattern(whitespace)]],\n lastName: [`${this.profile.lastName}`, [Validators.required, Validators.pattern(whitespace)]],\n mobilePhone: [`${this.profile.mobilePhone}`, [Validators.required, PhoneNumberValidator()]],\n address: [`${this.profile.address}`, [Validators.required, Validators.pattern(whitespace)]],\n city: [`${this.profile.city}`, [Validators.required, Validators.pattern(whitespace)]],\n zip: [`${this.profile.zip}`, [Validators.required, Validators.pattern(whitespace), ZipCodeValidator()]],\n state: [`${this.profile.state}`, [Validators.required]],\n country: [`${this.profile.country || this.defaultCountryCode}`],\n updateAll: [true],\n });\n\n PhoneNumberFormatter.initializePhoneFormatter(this.editProfileForm.get('mobilePhone'));\n\n // refresh zipValidator with correct validation when country changes\n this.editProfileForm.get('country').valueChanges.subscribe(value => {\n const stringValue = String(value);\n this.editProfileForm.get('zip').setValidators([\n Validators.required,\n Validators.pattern(whitespace),\n ZipCodeValidator(stringValue)\n ]);\n this.editProfileForm.get('zip').updateValueAndValidity();\n if (this.editProfileForm.get('zip').invalid) {\n this.editProfileForm.get('zip').setValue('');\n }\n });\n this.formLoaded = true;\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getZipCodeLabel() {\n const zipCodeLabel = (this.editProfileForm.get('country').value === this.countryLookupList.CAN.code) ? 'Postal Code' : 'Zip Code';\n return '*' + zipCodeLabel;\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n submitForm(): void {\n this.editProfileForm.disable();\n this.isSubmitting = true;\n const updateGuestDemographicsInput = {\n organizationID: this.organizationID,\n eventID: this.eventID,\n mobilePhone: this.editProfileForm.get('mobilePhone').value.trim(),\n firstName: this.editProfileForm.get('firstName').value.trim(),\n lastName: this.editProfileForm.get('lastName').value.trim(),\n address: this.editProfileForm.get('address').value.trim(),\n city: this.editProfileForm.get('city').value.trim(),\n postalCode: this.editProfileForm.get('zip').value.trim(),\n state: this.editProfileForm.get('state').value,\n country: this.editProfileForm.get('country').value,\n } as UpdateMyGuestInput;\n\n const updateProfileInput = {\n id: this.userID,\n firstName: this.editProfileForm.get('firstName').value.trim(),\n lastName: this.editProfileForm.get('lastName').value.trim(),\n phone: this.editProfileForm.get('mobilePhone').value.trim(),\n addressLine1: this.editProfileForm.get('address').value.trim(),\n addressCity: this.editProfileForm.get('city').value.trim(),\n addressZip: this.editProfileForm.get('zip').value.trim(),\n addressState: this.editProfileForm.get('state').value,\n addressCountry: this.editProfileForm.get('country').value,\n } as UpdateProfileInput;\n\n this.updateProfiles(updateGuestDemographicsInput, updateProfileInput);\n }\n\n private updateProfiles(updateMyGuestDemographics: UpdateMyGuestInput, updateProfileInput: UpdateProfileInput) {\n forkJoin({\n updateDemographics: this.updateMyDemographics(updateMyGuestDemographics),\n profile: this.updateAndRefreshProfile(updateProfileInput)\n }).subscribe(\n out => {\n this.virtualEventService.getMyGuestDemographics(\n {\n eventID: this.eventID,\n organizationID: this.organizationID,\n } as GetMyGuestDemographicsInput).subscribe(getMyGuestDemographicsOutput => {\n this.profile = getMyGuestDemographicsOutput;\n });\n this.userProfileService.setFullName(\n (\n this.editProfileForm.get('firstName').value.trim()\n + ' '\n + this.editProfileForm.get('lastName').value.trim()\n ).trim(),\n );\n const snackbarConfig = new SnackBarConfig('Your profile update has posted!', SnackBarIcon.Success, true);\n snackbarConfig.duration = 2000;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n snackbarConfig,\n );\n this.dialogRef.close();\n },\n error => {\n this.editProfileForm.enable();\n const snackbarConfig = new SnackBarConfig('There was an error updating your profile.', SnackBarIcon.Error, true);\n snackbarConfig.duration = 2000;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n snackbarConfig,\n );\n // reset fields\n this.editProfileForm.get('firstName').setValue(`${this.profile.firstName}`);\n this.editProfileForm.get('lastName').setValue(`${this.profile.lastName}`);\n this.editProfileForm.get('mobilePhone').setValue(`${this.profile.mobilePhone}`);\n this.editProfileForm.get('address').setValue(`${this.profile.address}`);\n this.editProfileForm.get('city').setValue(`${this.profile.city}`);\n this.editProfileForm.get('state').setValue(`${this.profile.state}`);\n this.editProfileForm.get('zip').setValue(`${this.profile.zip}`);\n this.editProfileForm.get('country').setValue(`${this.profile.country || this.defaultCountryCode}`);\n this.isSubmitting = false;\n });\n }\n\n private updateMyDemographics(updateMyGuestInput: UpdateMyGuestInput): Observable {\n return this.virtualEventService.updateMyGuest(updateMyGuestInput);\n }\n\n private updateAndRefreshProfile(updateProfileInput: UpdateProfileInput): Observable {\n return this.currentUser.updateProfile(updateProfileInput, 'flow/ve/editProfile').pipe(\n switchMap(out => {\n return this.currentUser.getProfile('flow/ve/editProfile::refresh');\n })\n );\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-event-branding',\n templateUrl: './event-branding.component.html',\n styleUrls: ['./event-branding.component.scss']\n})\nexport class EventBrandingComponent implements OnInit {\n\n @Input()\n showLogo = true;\n\n event: VirtualEvent;\n\n constructor(\n private stateService: StateService,\n\n ) { }\n\n ngOnInit(): void {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, OnDestroy, Output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { ImpactSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { BuyItemsService } from '../../../services/buy-items.service';\nimport { StateService } from '../../../services/state.service';\nimport { FixedPriceQuantityUpdatedPayload, WebSocketService } from '../../../services/websocket.service';\n\nenum DialogState {\n confirmation = 'confirmation',\n status = 'status'\n}\n\nexport class StatusDetails {\n state: string;\n icon: string;\n heading: string;\n subheading: string;\n phone: string;\n}\n\n@Component({\n selector: 'app-fixed-price-dialog',\n templateUrl: './fixed-price-dialog.component.html',\n styleUrls: ['./fixed-price-dialog.component.scss']\n})\nexport class FixedPriceDialogComponent implements OnInit, OnDestroy {\n\n constructor(\n private state: StateService,\n private buyItemsService: BuyItemsService,\n private websocketService: WebSocketService\n ) { }\n\n @Input() impact: ImpactSummary;\n @Input() quantity: number;\n @Output() closed = new EventEmitter();\n\n event: VirtualEvent;\n isSubmitting = false;\n hasSubmissionCompleted = false;\n activePane = DialogState.confirmation;\n statusDetails = {} as StatusDetails;\n\n private destroy$ = new Subject();\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n\n this.subscribeToWebsocketEvent();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onConfirm(): void {\n this.isSubmitting = true;\n\n this.buyItemsService.buyImpact({\n donationAmountCents: this.impact.amountCents,\n impact: {\n id: this.impact.id,\n name: this.impact.name,\n fixedPriceItem: this.impact.fixedPriceItem,\n fixedPriceItemID: this.impact.fixedPriceItemID\n } as ImpactSummary,\n isAnonymous: false,\n }, this.quantity ? this.quantity : 1 ).subscribe(out => {\n if (out?.canceled) {\n this.onClose();\n }\n\n this.activePane = DialogState.status;\n this.statusDetails = {\n state: 'success',\n icon: 'check_circle',\n heading: 'Purchase Successful'\n } as StatusDetails;\n this.isSubmitting = false;\n this.hasSubmissionCompleted = true;\n }, err => {\n this.activePane = DialogState.status;\n const phoneNumMessage = this.event.contactPhone ? ' or call' : '';\n this.statusDetails = {\n state: 'failure',\n icon: 'warning',\n heading: 'Oops! Something went wrong',\n subheading: 'Please try again later' + phoneNumMessage,\n phone: this.event.contactPhone\n } as StatusDetails;\n this.isSubmitting = false;\n this.hasSubmissionCompleted = true;\n });\n }\n\n onClose(): void {\n this.closed.emit(true);\n }\n\n isItemSoldOut(): boolean {\n if (this.impact.fixedPriceItem.numUnlimited) {\n return false;\n }\n\n return this.impact.fixedPriceItem.maxNumAvailable - this.impact.fixedPriceItem.numPurchased <= 0;\n }\n\n private subscribeToWebsocketEvent(): void {\n this.websocketService.fixedPriceQuantityUpdated.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: FixedPriceQuantityUpdatedPayload) => {\n if (this.impact.fixedPriceItemID === payload.fixedPriceID) {\n this.impact.fixedPriceItem.numPurchased = payload.numPurchased;\n this.impact.fixedPriceItem.maxNumAvailable = payload.maxNumAvailable;\n this.impact.fixedPriceItem.numUnlimited = payload.numUnlimited;\n\n if (this.isItemSoldOut() && !this.hasSubmissionCompleted) {\n this.statusDetails = {\n state: 'failure',\n icon: 'sell',\n heading: 'Unfortunately this item has just sold out.',\n } as StatusDetails;\n this.activePane = DialogState.status;\n }\n }\n });\n }\n}\n","import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { PhaasStyling } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ImpactSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { FixedPriceQuantityUpdatedPayload, WebSocketService } from '../../../services/websocket.service';\nimport { LogInDialogComponent } from '../../log-in-dialog/log-in-dialog.component';\nimport { TicketPurchaseDialogComponent } from '../../ticket-purchase-dialog/ticket-purchase-dialog.component';\n\n@Component({\n selector: 'app-fixed-price-item',\n templateUrl: './fixed-price-item.component.html',\n styleUrls: ['./fixed-price-item.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FixedPriceItemComponent implements OnInit, OnDestroy {\n\n @Input() impact: ImpactSummary;\n @Input() isLoggedIn: boolean;\n @Input() isRegistered: boolean;\n @Input() isTicketingEnabled: boolean;\n @Input() organizationID: string;\n @Input() event: VirtualEvent;\n @ViewChild('impactContainer') impactContainerDiv: ElementRef;\n\n fixedPriceForm: FormGroup = new FormGroup({});\n fixedPriceQuantity: FormControl = new FormControl();\n\n eventPrimaryContrastColor: string;\n\n submitting: boolean;\n confirmIsOpen = false;\n confirmationMinHeight = 0;\n\n descriptionMaxLength = 80;\n showFullDescription = true;\n\n limitedItemQuantity = 10;\n maxQuantity = 1;\n selectedQuantity = 1;\n showQuantity = true;\n\n private destroy$ = new Subject();\n\n constructor(\n private websocketService: WebSocketService,\n private dialog: MatDialog,\n ) { }\n\n ngOnInit() {\n this.eventPrimaryContrastColor = PhaasStyling.getContrastingTextColor(this.event.themePrimaryColor);\n\n if (this.descriptionExceedsMaxLength()) {\n this.showFullDescription = false;\n }\n\n this.initForm();\n this.subscribeToWebsocketEvent();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initForm(){\n this.fixedPriceQuantity = new FormControl(1, [ Validators.required,\n Validators.pattern('^[0-9]*$'), Validators.min(1)]);\n this.fixedPriceForm.addControl('fixedPriceQuantity', this.fixedPriceQuantity);\n this.fixedPriceForm?.get('fixedPriceQuantity')?.setValue(1);\n this.setQuantity();\n if (!this.impact.fixedPriceItem?.numUnlimited){\n this.fixedPriceForm?.get('fixedPriceQuantity')?.addValidators(\n (control: AbstractControl) => Validators.max(this.maxQuantity)(control)\n );\n }\n\n this.fixedPriceForm.valueChanges.subscribe(() => {\n this.fixedPriceQuantity.markAsTouched();\n this.selectedQuantity = +this.fixedPriceQuantity.value;\n });\n }\n\n private setQuantity(){\n this.showQuantity = true;\n if (!this.impact.fixedPriceItem?.numUnlimited){\n this.maxQuantity = this.impact.fixedPriceItem?.maxNumAvailable - this.impact.fixedPriceItem?.numPurchased;\n this.showQuantity = this.maxQuantity >= 2;\n }\n }\n\n onFixedPriceActionButtonClicked(): void {\n if (!this.isRegistered) {\n if (this.isTicketingEnabled) {\n this.dialog.open(TicketPurchaseDialogComponent,\n {\n panelClass: 'ticket-purchase__responsive-styles',\n // required to clear the default max width value (80vw)\n maxWidth: '',\n restoreFocus: false,\n }\n ).afterClosed().subscribe((loggedIn: boolean) => {\n if (loggedIn) {\n this.toggleConfirmationDialog();\n }\n });\n }\n else {\n this.dialog.open(LogInDialogComponent,\n {\n panelClass: 'virtual-event-page__large-dialog',\n maxWidth: '90vw',\n restoreFocus: false,\n }\n ).afterClosed().subscribe((purchasedTicket: boolean) => {\n if (purchasedTicket) {\n this.toggleConfirmationDialog();\n }\n });\n }\n }\n else {\n this.toggleConfirmationDialog();\n }\n }\n\n closed(){\n this.fixedPriceForm?.get('fixedPriceQuantity')?.setValue(1);\n this.toggleConfirmationDialog();\n }\n\n toggleConfirmationDialog(): void {\n this.confirmIsOpen = !this.confirmIsOpen;\n }\n\n shortenDescription(): string {\n const desc = this.impact.descriptionMarkdown;\n\n if (!this.descriptionExceedsMaxLength) {\n return desc;\n }\n\n // confine to max length, but do not truncate last word.\n return desc.substr(0, desc.lastIndexOf(' ', this.descriptionMaxLength));\n }\n\n descriptionExceedsMaxLength(): boolean {\n if (this.impact.descriptionMarkdown && this.impact.descriptionMarkdown.length > this.descriptionMaxLength) {\n return true;\n }\n return false;\n }\n\n isProgressVisible(): boolean {\n return !this.isItemSoldOut();\n }\n\n getProgressText(): string {\n if (this.impact.fixedPriceItem.numUnlimited) {\n return `${this.impact.fixedPriceItem.numPurchased} Sold`;\n }\n\n const numRemaining = this.impact.fixedPriceItem.maxNumAvailable - this.impact.fixedPriceItem.numPurchased;\n\n if (numRemaining <= this.limitedItemQuantity) {\n return `Only ${numRemaining} Left!`;\n } else {\n return `${numRemaining} Remaining`;\n }\n }\n\n isItemSoldOut(): boolean {\n if (this.impact.fixedPriceItem.numUnlimited) {\n return false;\n }\n\n return this.impact.fixedPriceItem.maxNumAvailable - this.impact.fixedPriceItem.numPurchased <= 0;\n }\n\n private subscribeToWebsocketEvent() {\n this.websocketService.fixedPriceQuantityUpdated.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: FixedPriceQuantityUpdatedPayload) => {\n if (this.impact.fixedPriceItemID === payload.fixedPriceID) {\n this.impact.fixedPriceItem.numPurchased = payload.numPurchased;\n this.impact.fixedPriceItem.maxNumAvailable = payload.maxNumAvailable;\n this.impact.fixedPriceItem.numUnlimited = payload.numUnlimited;\n this.setQuantity();\n }\n });\n }\n\n hasPhoto() {\n return this.impact.fixedPriceItem.photos.length;\n }\n\n impactPhotoSrc() {\n return this.impact.fixedPriceItem.photos[0].url;\n }\n\n impactPhotoAlt() {\n return this.impact.fixedPriceItem.name;\n }\n\n getMarginLeft(): string{\n return this.isRegistered && this.isLoggedIn && this.showQuantity ? '10px' : 'auto';\n }\n}\n","import { ChangeDetectorRef, Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CurrentUserService,\n FilterComparator,\n FilterParameterV3,\n PagingInputV3,\n SortDirection,\n SortParameter,\n} from '@onecause/core';\nimport { BehaviorSubject, forkJoin, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport {\n AttendeeExperience,\n EventSessionSummary,\n FixedPriceItem,\n FixedPriceItemDetail,\n FixedPriceItemPhoto,\n GetMyExperienceTypeInput,\n GetMyGuestSessionSummaryOutput,\n ImpactSummary,\n ReadMyRegistrationOutput,\n ViewFixedPriceDetailsInput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { UserProfileService } from '../user-profile/user-profile.service';\n\nexport class FixedPriceControl {\n id: string;\n control: FormControl;\n}\n\nconst PAGE_SIZE = 10;\n\n@Component({\n selector: 'app-fixed-price',\n templateUrl: './fixed-price.component.html',\n styleUrls: ['./fixed-price.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class FixedPriceComponent implements OnInit {\n impacts: ImpactSummary[] = [];\n\n virtualEvent: VirtualEvent;\n\n isLoggedIn = false;\n\n registeredUser: ReadMyRegistrationOutput;\n getFixedPriceTrigger$: BehaviorSubject;\n loadingMore = false;\n nextPage: PagingInputV3;\n myGuestSessionSummary$: Observable;\n isGuestCheckedIn = false;\n isInPerson = false;\n eventSession: EventSessionSummary;\n orgID: string;\n eventID: string;\n\n private destroy$ = new Subject();\n private bottomObserverIsRegistered = false;\n\n constructor(\n private state: StateService,\n private currentUserService: CurrentUserService,\n private events: EventsService,\n private virtualEventClient: VirtualEventClientService,\n private userProfileService: UserProfileService,\n private cdRef: ChangeDetectorRef,\n private activatedRoute: ActivatedRoute\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.currentUserService.getProfile().subscribe(\n () => this.userLoggedIn()\n );\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(() => this.userLoggedIn());\n this.events.userLoggedOut.pipe(takeUntil(this.destroy$)).subscribe(() => this.userLoggedOut());\n\n forkJoin({\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1)),\n }).subscribe(out => {\n this.virtualEvent = out.event;\n this.eventSession = out.eventSession;\n if (this.isLoggedIn) {\n this.virtualEventClient.getMyExperienceType(new GetMyExperienceTypeInput(this.orgID, this.eventID))\n .subscribe((output) => {\n this.isInPerson = output.experienceType === AttendeeExperience.InPerson;\n this.loadFixedPriceItems();\n });\n } else {\n this.loadFixedPriceItems();\n }\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isRegistered(): boolean {\n return !!this.registeredUser?.found;\n }\n\n private userLoggedIn(): void {\n this.isLoggedIn = true;\n this.state.registration.pipe(takeUntil(this.destroy$)).subscribe((registration: ReadMyRegistrationOutput) => {\n this.registeredUser = registration;\n if (registration && registration.found) {\n this.myGuestSessionSummary$ = this.userProfileService.getMyGuestSessionSummary();\n this.myGuestSessionSummary$.subscribe((myGuestSessionSummary) => {\n if (myGuestSessionSummary?.checkedInTime) {\n this.isGuestCheckedIn = true;\n this.loadFixedPriceItems();\n } else {\n this.virtualEventClient.getMyExperienceType(new GetMyExperienceTypeInput(this.orgID, this.eventID))\n .subscribe((output) => {\n this.isInPerson = output.experienceType === AttendeeExperience.InPerson;\n this.loadFixedPriceItems();\n });\n }\n });\n }\n });\n }\n\n private userLoggedOut(): void {\n this.isLoggedIn = false;\n this.loadFixedPriceItems(true);\n }\n\n private isItemSoldOut(impact: ImpactSummary): boolean {\n if (impact.fixedPriceItem.numUnlimited) {\n return false;\n }\n\n return impact.fixedPriceItem.maxNumAvailable - impact.fixedPriceItem.numPurchased <= 0;\n }\n\n private moveSoldoutItemsToBottom(): void {\n // soldout items should be put on the bottom of the list while\n // otherwise maintaining the order specified on admin page\n const results = [] as ImpactSummary[];\n const soldoutItems = [] as ImpactSummary[];\n this.impacts.forEach(impact => {\n if (this.isItemSoldOut(impact)) {\n soldoutItems.push(impact);\n } else {\n results.push(impact);\n }\n });\n\n this.impacts = results.concat(soldoutItems);\n }\n\n private getFPPagingInput(): PagingInputV3 {\n const paging = new PagingInputV3()\n .Take(PAGE_SIZE)\n .Sort(new SortParameter('sort_order', SortDirection.Descending))\n .Sort(new SortParameter('updated', SortDirection.Descending))\n .Filter(new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false));\n\n if (!this.isLoggedIn || (!this.isGuestCheckedIn && !this.isInPerson)) {\n paging.Filter(new FilterParameterV3('in_person_only', FilterComparator.Equal, false));\n }\n\n return paging;\n }\n\n private mergeIntoAllFP(toMerge: ImpactSummary[]): ImpactSummary[] {\n const have = new Map();\n this.impacts.forEach((i) => {\n have.set(i.id, true);\n });\n toMerge.forEach((i) => {\n if (!have.get(i.id)) {\n have.set(i.id, true);\n this.impacts.push(i);\n }\n });\n return this.impacts;\n }\n\n // Pass reset = true to reload first page instead of appending to existing array\n private loadFixedPriceItems(reset?: boolean): void {\n this.getFixedPriceTrigger$ = new BehaviorSubject(this.getFPPagingInput());\n\n this.getFixedPriceTrigger$.pipe(\n tap(() => {\n this.loadingMore = true;\n }),\n switchMap((paging: PagingInputV3) => this.virtualEventClient.viewFixedPriceDetails({\n organizationID: this.orgID,\n eventID: this.eventID,\n paging: paging\n } as ViewFixedPriceDetailsInput)),\n tap(() => {\n this.loadingMore = false;\n }),\n tap(out => {\n if (out?.paging?.nextPage) {\n this.nextPage = new PagingInputV3().FromPageObject(out.paging.nextPage);\n } else {\n this.nextPage = null;\n }\n }),\n map(out => out.items),\n ).subscribe({\n next: (out: FixedPriceItemDetail[]) => {\n this.impacts = reset ? this.mapImpacts(out) : this.mergeIntoAllFP(this.mapImpacts(out));\n this.moveSoldoutItemsToBottom();\n this.attachBottomOfScrollObserver();\n }\n });\n }\n\n private mapImpacts(fixedPriceItems: FixedPriceItemDetail[]): ImpactSummary[] {\n return fixedPriceItems.map((fp) => {\n let photos = [];\n if (fp.url !== '') {\n photos = [{\n orgnaizationID: this.virtualEvent?.organizationID,\n eventID: this.virtualEvent?.id,\n fixedPriceItemID: fp.id,\n id: fp.photoID,\n url: fp.url\n } as FixedPriceItemPhoto];\n }\n return {\n organizationID: this.virtualEvent?.organizationID,\n eventID: this.virtualEvent?.id,\n id: fp.impactID,\n name: fp.name,\n amountCents: fp.priceCents,\n descriptionMarkdown: fp.description,\n fixedPriceItemID: fp.id,\n fixedPriceItem: {\n id: fp.id,\n name: fp.name,\n description: fp.description,\n organizationID: this.virtualEvent?.organizationID,\n eventID: this.virtualEvent?.id,\n priceCents: fp.priceCents,\n valueCents: fp.valueCents,\n numPurchased: fp.numPurchased,\n maxNumAvailable: fp.maxNumAvailable,\n numUnlimited: fp.numUnlimited,\n inPersonOnly: fp.inPersonOnly,\n photos: photos\n } as FixedPriceItem\n } as ImpactSummary;\n });\n\n }\n\n loadMore(): void {\n if (this.nextPage) {\n this.getFixedPriceTrigger$.next(this.nextPage);\n }\n }\n\n private attachBottomOfScrollObserver() {\n if (this.bottomObserverIsRegistered) {\n return;\n }\n this.bottomObserverIsRegistered = true;\n\n // make sure our template render is complete, start watching for auto paging\n this.cdRef.detectChanges();\n\n // when our bottom indicator comes into view, read another page\n const observer = new IntersectionObserver((entries, opts) => {\n entries.forEach(entry => {\n this.loadMore();\n });\n }, {\n root: null, // default is the viewport\n threshold: .5 // percentage of taregt's visible area. Triggers \"onIntersection\"\n });\n observer.observe(document.querySelector('.fixed-price__bottom-of-scroll'));\n }\n}\n","import { Component, OnInit, ViewEncapsulation, ViewChild, ElementRef } from '@angular/core';\nimport { StateService } from '../../services/state.service';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { EnvironmentService, } from '@onecause/core';\nimport { take, tap } from 'rxjs/operators';\nimport { combineLatest } from 'rxjs';\n\n@Component({\n selector: 'app-game',\n templateUrl: './game.component.html',\n styleUrls: ['./game.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class GameComponent implements OnInit {\n private iframe: ElementRef;\n\n @ViewChild('iframe') set content(content: ElementRef) {\n if (content) {\n this.iframe = content;\n this.updateIframe();\n }\n }\n\n event: VirtualEvent;\n registration: ReadMyRegistrationOutput;\n\n constructor(\n private environmentService: EnvironmentService,\n private stateService: StateService,\n ) { }\n\n ngOnInit() {\n this.init();\n }\n\n isRegistered() {\n return this.registration && this.registration?.found;\n }\n\n updateIframe() {\n let userID = '';\n let initials = 'anon';\n let email: string;\n let mobilePhone: string;\n if (this.isRegistered()) {\n userID = this.registration.userID;\n initials = `${this.registration.firstName} ${this.registration.lastName}`;\n email = this.registration.email;\n mobilePhone = this.registration.mobilePhone;\n }\n\n let gameUrl = `${this.event.organizationID}/${this.event.id}/game?initials=${initials}&isRegistered=${this.isRegistered()}`;\n\n if (userID) {\n gameUrl = gameUrl + `&userID=${userID}`;\n }\n\n if (email) {\n gameUrl = gameUrl + `&email=${email}`;\n }\n\n if (mobilePhone) {\n gameUrl = gameUrl + `&mobile=${mobilePhone}`;\n }\n\n if (this.iframe) {\n this.environmentService.getURL('game', gameUrl).subscribe((url: string) => {\n this.iframe.nativeElement.setAttribute('src', url);\n });\n }\n }\n\n private init(): void {\n combineLatest([\n this.stateService.registration.pipe(tap((reg) => this.registration = reg)),\n this.stateService.event.pipe(take(1), tap((evt) => this.event = evt)),\n ]).subscribe(() => {\n this.updateIframe();\n });\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { AttendeeExperience } from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-how-are-you-attending',\n templateUrl: './how-are-you-attending.component.html',\n styleUrls: ['./how-are-you-attending.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class HowAreYouAttendingComponent implements OnChanges, OnInit {\n\n ATTENDEE_EXPERIENCE = AttendeeExperience;\n\n @Input() required = true;\n\n @Input() disabled = false;\n @Output() disabledChanged = false;\n\n @Input() allowedExperiences = [\n AttendeeExperience.Virtual,\n AttendeeExperience.WatchParty,\n AttendeeExperience.InPerson\n ];\n\n @Input() value = AttendeeExperience.Virtual;\n @Output() valueChange = new EventEmitter();\n\n enabled = new Map();\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.recalcEnabled();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.allowedExperiences) {\n this.recalcEnabled();\n }\n }\n\n radioChange(ev: any): void {\n this.value = ev.value;\n this.valueChange.emit(this.value);\n }\n\n private recalcEnabled(): void {\n this.enabled.clear();\n this.allowedExperiences.forEach((ae) => this.enabled.set(ae, true));\n }\n\n}\n","import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CoreCurrencyPipe } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ImpactSummary } from 'src/app/services/virtual-event-client.service';\nimport { BuyItemsService } from '../../../services/buy-items.service';\nimport { ImpactTotalsUpdatedPayload, WebSocketService } from '../../../services/websocket.service';\n\n@Component({\n selector: 'app-impact-item',\n templateUrl: './impact-item.component.html',\n styleUrls: ['./impact-item.component.scss']\n})\nexport class ImpactItemComponent implements OnInit, OnDestroy {\n\n @Input() impact: ImpactSummary;\n @Input() isLoggedIn: boolean;\n @Input() isRegistered: boolean;\n @Input() isTicketingEnabled: boolean;\n @Input() organizationID: string;\n @Input() eventID: string;\n @ViewChild('impactContainer') impactContainerDiv: ElementRef;\n\n donationAmount: FormControl;\n submitting: boolean;\n confirmIsOpen = false;\n confirmationMinHeight = 0;\n\n descriptionMaxLength = 80;\n showFullDescription = true;\n\n isAnonymous: FormControl;\n\n limitedItemQuantity = 10;\n\n private destroy$ = new Subject();\n\n constructor(\n private currencyPipe: CoreCurrencyPipe,\n private buyItemsService: BuyItemsService,\n private websocketService: WebSocketService,\n private dialog: MatDialog,\n ) { }\n\n ngOnInit() {\n if (this.descriptionExceedsMaxLength()) {\n this.showFullDescription = false;\n }\n\n // Set up donate btn validator\n const dollars = this.impact.amountCents / 100;\n this.donationAmount = new FormControl(dollars,\n [Validators.required, Validators.pattern('\\\\d+(\\\\.\\\\d{1,2})?'), Validators.min(dollars)]\n );\n\n // set up is anonymous checkbox\n this.isAnonymous = new FormControl(false);\n this.subscribeToWebsocketEvent();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isFixedPriceItem(): boolean {\n return !!this.impact.fixedPriceItemID;\n }\n\n toggleConfirmationDialog(): void {\n this.confirmationMinHeight = this.impactContainerDiv.nativeElement.offsetHeight;\n this.confirmIsOpen = !this.confirmIsOpen;\n }\n\n shortenDescription(): string {\n const desc = this.impact.descriptionMarkdown;\n\n if (!this.descriptionExceedsMaxLength) {\n return desc;\n }\n\n // confine to max length, but do not truncate last word.\n return desc.substr(0, desc.lastIndexOf(' ', this.descriptionMaxLength));\n }\n\n descriptionExceedsMaxLength(): boolean {\n if (this.impact.descriptionMarkdown && this.impact.descriptionMarkdown.length > this.descriptionMaxLength) {\n return true;\n }\n return false;\n }\n\n isTargetedAchievement(): boolean {\n return !!(this.impact.goalPurchasesAmountCents || this.impact.goalPurchasesCount);\n }\n\n donate(): void {\n if (!this.donationAmount.valid) {\n return;\n }\n\n this.submitting = true;\n\n const amountCents = Number(this.donationAmount.value) * 100;\n\n this.buyItemsService.buyImpact({\n donationAmountCents: amountCents,\n impact: {\n id: this.impact.id,\n name: this.impact.name,\n } as ImpactSummary,\n isAnonymous: this.isAnonymous.value,\n }).subscribe(() => {\n this.submitting = false;\n }, (err => {\n this.submitting = false;\n }));\n }\n\n isProgressVisible(): boolean {\n let progress = 0;\n let threshold = 0;\n\n if (!this.isTargetedAchievement() || this.impact.goalPurchasesCount) {\n progress = this.impact.totalPurchasesCount;\n threshold = this.impact.goalPurchasesCount ?\n this.impact.goalPurchasesCountDisplayThreshold :\n this.impact.totalPurchasesCountDisplayThreshold;\n }\n else if (this.impact.goalPurchasesAmountCents) {\n progress = this.impact.totalPurchasesAmountCents;\n threshold = this.impact.goalPurchasesAmountCentsDisplayThreshold;\n }\n\n return progress >= threshold;\n }\n\n getProgressText(): string {\n let raised: any;\n let goal: any;\n let label = '';\n\n if (!this.isTargetedAchievement()) {\n return `${this.impact.totalPurchasesCount || 0} donors`;\n }\n\n if (this.impact.goalPurchasesAmountCents) {\n raised = this.currencyPipe.transform(this.impact.totalPurchasesAmountCents / 100);\n goal = this.currencyPipe.transform(this.impact.goalPurchasesAmountCents / 100);\n }\n else if (this.impact.goalPurchasesCount) {\n raised = this.impact.totalPurchasesCount || 0;\n goal = this.impact.goalPurchasesCount;\n label = ' donations';\n }\n\n return `${raised} / ${goal}${label}`;\n }\n\n getProgressValue(): number {\n let raised: number;\n let goal: number;\n\n if (this.impact.goalPurchasesAmountCents) {\n raised = this.impact.totalPurchasesAmountCents || 0;\n goal = this.impact.goalPurchasesAmountCents;\n }\n else if (this.impact.goalPurchasesCount) {\n raised = this.impact.totalPurchasesCount || 0;\n goal = this.impact.goalPurchasesCount;\n }\n\n return (raised / goal) * 100;\n }\n\n isGoalCompleted(): boolean {\n if (!this.isTargetedAchievement()) {\n return false;\n }\n\n let progress = 0;\n let goal = 0;\n\n if (this.impact.goalPurchasesCount) {\n progress = this.impact.totalPurchasesCount;\n goal = this.impact.goalPurchasesCount;\n }\n else if (this.impact.goalPurchasesAmountCents) {\n progress = this.impact.totalPurchasesAmountCents;\n goal = this.impact.goalPurchasesAmountCents;\n }\n\n return progress >= goal;\n }\n\n private subscribeToWebsocketEvent() {\n this.websocketService.impactTotalsUpdated.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: ImpactTotalsUpdatedPayload) => {\n if (this.impact.id === payload.impactID) {\n this.impact.totalPurchasesAmountCents = payload.totalAmountCents;\n this.impact.totalPurchasesCount = payload.totalCount;\n }\n });\n }\n\n hasPhoto() {\n return this.impact?.photos?.length;\n }\n\n impactPhotoSrc() {\n\n return this.impact.photos[0]?.url;\n\n\n }\n\n impactPhotoAlt() {\n\n return this.impact.name;\n\n }\n}\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { CurrentUserService, FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { BehaviorSubject, forkJoin, Subject } from 'rxjs';\nimport { pluck, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { AllLotView } from 'src/app/services/inventory-client.service';\nimport { ImpactSummary, ListImpactsInput, ListImpactsOutput, ReadMyRegistrationOutput, VirtualEvent, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\n\nexport class ImpactControl {\n id: string;\n control: FormControl;\n}\n\nconst IMPACT_PAGE_SIZE = 20;\n\n@Component({\n selector: 'app-impact',\n templateUrl: './impact.component.html',\n styleUrls: ['./impact.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class ImpactComponent implements OnInit, OnChanges {\n impacts: ImpactSummary[] = [];\n\n virtualEvent: VirtualEvent;\n\n isLoggedIn = false;\n\n registeredUser: ReadMyRegistrationOutput;\n\n private destroy$ = new Subject();\n\n constructor(\n private state: StateService,\n private currentUserService: CurrentUserService,\n private events: EventsService,\n private virtualEventClient: VirtualEventClientService,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.init();\n }\n\n ngOnInit() {\n this.currentUserService.getProfile().subscribe(\n () => this.userLoggedIn()\n );\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(() => this.userLoggedIn());\n this.events.userLoggedOut.pipe(takeUntil(this.destroy$)).subscribe(() => this.isLoggedIn = false);\n\n this.state.event.pipe(take(1)).subscribe(event => {\n this.virtualEvent = event;\n this.init();\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isRegistered(): boolean {\n return !!this.registeredUser?.found;\n }\n\n private userLoggedIn(): void {\n this.isLoggedIn = true;\n this.state.registration.pipe(takeUntil(this.destroy$)).subscribe((registration: ReadMyRegistrationOutput) => {\n this.registeredUser = registration;\n });\n }\n\n private init(): void {\n\n this.virtualEventClient.listImpacts({\n organizationID: this.virtualEvent.organizationID,\n eventID: this.virtualEvent.id,\n pagingInput: new PagingInputV3().Take(IMPACT_PAGE_SIZE).Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.Equal, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n const impactsList = out.items.map((impact: ImpactSummary) => {\n this.virtualEventClient\n .getImpactPhotoList(this.virtualEvent.organizationID, this.virtualEvent.id, impact.id, new PagingInputV3())\n .pipe(take(1))\n .subscribe(res => {\n impact.photos = res.items;\n });\n return impact;\n });\n this.impacts = this.virtualEvent.impactOrderIDs.filter((id: string) => {\n const impactLevel = impactsList.find(level => level.id === id);\n return impactLevel ? true : false;\n }).map((id: string) => {\n return impactsList.find(level => level.id === id);\n });\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Event, NavigationEnd, Router } from '@angular/router';\nimport { CurrentUserService } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { RightDrawerContentService } from '../right-drawer-content/right-drawer-content.service';\n\nexport enum ShowState {\n None,\n Hidden,\n Visible\n}\n\n@Component({\n selector: 'app-ipo-header',\n templateUrl: './ipo-header.component.html',\n styleUrls: ['./ipo-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoHeaderComponent implements OnInit {\n @Output() menuClicked = new EventEmitter();\n\n event: VirtualEvent;\n isRegistered: boolean | undefined;\n isLoggedIn = false;\n hideJoinUs = false;\n\n @Input() showState: ShowState = ShowState.None;\n @Output() showStateChange = new EventEmitter();\n showStates = ShowState;\n\n constructor(\n private stateService: StateService,\n private events: EventsService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private vecRouting: VECRoutingService,\n private currentUser: CurrentUserService,\n private rightDrawerService: RightDrawerContentService\n ) {\n }\n\n ngOnInit() {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n\n this.stateService.registration.subscribe((registration: ReadMyRegistrationOutput) => {\n if (!registration) {\n // not read yet, do nothing\n return;\n }\n this.isRegistered = registration.found;\n });\n\n this.events.userLoggedIn.subscribe(() => {\n this.isLoggedIn = true;\n });\n\n this.currentUser.isLoggedIn().subscribe(isLoggedIn => {\n this.isLoggedIn = isLoggedIn;\n });\n\n this.hideJoinUs = this.shouldHideJoinUs(window.location.href);\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationEnd) {\n this.hideJoinUs = this.shouldHideJoinUs(event.url);\n }\n });\n }\n\n onMenuClicked() {\n this.menuClicked.emit();\n }\n\n goToCheckout() {\n this.events.raiseOpenCartSidenav();\n }\n\n goToTicketManager() {\n this.rightDrawerService.openTicketManager();\n }\n\n goToProfile() {\n this.router.navigate(['profile'], { relativeTo: this.activatedRoute });\n }\n\n goHome() {\n this.vecRouting.goToHome();\n }\n\n joinUs() {\n if (this.event?.showStory) {\n this.vecRouting.goToStoryPage();\n } else {\n this.vecRouting.goToHome();\n }\n }\n\n toggleShow() {\n this.showState = this.showState === ShowState.Visible ? ShowState.Hidden : ShowState.Visible;\n this.showStateChange.emit(this.showState);\n }\n\n private shouldHideJoinUs(url: string): boolean {\n return url.endsWith('in-person') || url.endsWith('story') || url.endsWith('home');\n }\n\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TieredMomentChangedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { ReadDonationMomentInput, ReadDonationMomentOutput, ReadMyRegistrationOutput, ReadOverlayOutput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { BuyItemsService } from '../../services/buy-items.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { AmbassadorSearchComponent } from '../ambassador-search/ambassador-search.component';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../credit-card-dialog/credit-card-dialog.component';\nimport { AppealOverlayConfig } from '../show/overlay/appeal-overlay/appeal-overlay.component';\n\n@Component({\n selector: 'app-ipo-live-appeal',\n templateUrl: './ipo-live-appeal.component.html',\n styleUrls: ['./ipo-live-appeal.component.scss'],\n animations: [\n trigger('collapse', [\n state('hiddenContainer', style({ height: '0px', overflow: 'hidden' })),\n state('showGiveContainer', style({ height: '80px' })),\n state('showConfirmationContainer', style({ height: '70px', marginTop: '4px' })),\n transition('hiddenContainer => showEmojiContainer', animate('200ms ease-in')),\n transition('hiddenContainer => showConfirmationContainer', animate('200ms ease-in')),\n transition('showEmojiContainer => hiddenContainer', animate('200ms ease-out')),\n transition('showConfirmationContainer => hiddenContainer', animate('200ms ease-out'))\n ])\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IpoLiveAppealComponent implements OnInit, OnDestroy {\n\n orgID: string;\n eventID: string;\n config: AppealOverlayConfig;\n disableOnlineDonations = false;\n currentAppealLevelCents: number;\n donationAmountCents: number;\n emoji = '';\n isAnonymous: boolean;\n donorName: string;\n showDonationConfirmation = false;\n giveAtAnyLevelActive = false;\n customAmount = new FormControl('', [Validators.required, Validators.min(1)]);\n\n @ViewChild('ambassadorSearch') ambassadorSearch: AmbassadorSearchComponent;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private matDialog: MatDialog,\n private stateService: StateService,\n private eventsService: EventsService,\n private activatedRoute: ActivatedRoute,\n private buyItemsService: BuyItemsService,\n private webSocketService: WebSocketService,\n private virtualEventService: VirtualEventClientService,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.isAnonymous = false;\n\n this.subscribeToStateChanges();\n\n this.subscribeToWebsocketEvents();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToStateChanges() {\n this.stateService.currentOverlay.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((overlay: ReadOverlayOutput) => {\n this.config = overlay ? JSON.parse(overlay.config) : new AppealOverlayConfig();\n if (this.config.donationMomentID) {\n this.virtualEventService.readDonationMoment(\n {\n organizationID: this.orgID,\n eventID: this.eventID,\n id: this.config.donationMomentID,\n } as ReadDonationMomentInput)\n .subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.giveAtAnyLevelActive = donationMoment.giveAtAnyLevelActive;\n this.disableOnlineDonations = donationMoment.disableOnlineDonations;\n this.currentAppealLevelCents = donationMoment.currentDonationTierAmountCents;\n this.donationAmountCents = this.currentAppealLevelCents;\n });\n }\n });\n\n this.stateService.registration.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((registration: ReadMyRegistrationOutput) => {\n this.donorName = registration.firstName + ' ' + registration.lastName;\n });\n }\n\n private subscribeToWebsocketEvents() {\n this.webSocketService.tieredMomentChanged.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((payload: TieredMomentChangedPayload) => {\n this.currentAppealLevelCents = payload.currentDonationTierAmountCents;\n this.giveAtAnyLevelActive = payload.giveAtAnyLevelActive;\n if (!this.showDonationConfirmation) {\n this.donationAmountCents = this.currentAppealLevelCents;\n }\n });\n }\n\n appealButtonClicked() {\n // hide the button and show the confirmation panels\n this.showDonationConfirmation = true;\n }\n\n emojiSelected(emojiAlias: string) {\n this.emoji = emojiAlias;\n }\n\n makeDonation() {\n if (this.giveAtAnyLevelActive) {\n if (this.customAmount.invalid) {\n this.customAmount.markAllAsTouched();\n return;\n }\n\n this.donationAmountCents = Math.floor(this.customAmount.value * 100);\n }\n\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile) {\n this.matDialog.open(CreditCardDialogComponent).afterClosed().\n subscribe((out: CreditCardDialogOutput) => {\n if (out.addedCard) {\n this.buyAppealDonation();\n } else {\n this.resetOverlay();\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(\n 'Your purchase has been canceled.',\n SnackBarIcon.Error,\n false,\n ),\n );\n }\n });\n }\n else {\n this.buyAppealDonation();\n }\n });\n }\n\n private buyAppealDonation() {\n this.buyItemsService.buyAppealDonation(\n this.donationAmountCents,\n this.emoji,\n this.isAnonymous,\n this.ambassadorSearch?.selectedAmbassador\n ).subscribe(() => {\n this.eventsService.raiseAppealAddedToCart();\n });\n this.resetOverlay();\n }\n\n resetOverlay() {\n this.showDonationConfirmation = false;\n this.donationAmountCents = this.currentAppealLevelCents;\n this.emoji = '';\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n BiddingClosedPayload,\n BiddingOpenPayload,\n BiddingPausedPayload,\n BidReceivedPayload,\n ProxyBidderAddedPayload,\n ProxyBidderRemovedPayload,\n WebSocketService\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { Lot } from 'src/app/services/inventory-client.service';\nimport { ReadMyRegistrationOutput } from 'src/app/services/virtual-event-client.service';\nimport { AuctionStateService } from '../../services/auction-state.service';\nimport { AuctionService } from '../../services/auction.service';\nimport { BuyItemsService } from '../../services/buy-items.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../credit-card-dialog/credit-card-dialog.component';\n\n@Component({\n selector: 'app-ipo-live-auction',\n templateUrl: './ipo-live-auction.component.html',\n styleUrls: ['./ipo-live-auction.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoLiveAuctionComponent implements OnInit, OnDestroy {\n\n activeLot: Lot;\n activeLotImageURLs: string[];\n nextLot: Lot;\n bidValueCents: number;\n showConfirmBid = false;\n private registeredUser: ReadMyRegistrationOutput;\n private customBid: boolean;\n private placingBid = false;\n\n private destroyTriggered = new Subject();\n\n constructor(\n public auctionService: AuctionService,\n private auctionStateService: AuctionStateService,\n private vecRoutingService: VECRoutingService,\n private websocketService: WebSocketService,\n private stateService: StateService,\n private matDialog: MatDialog,\n private buyItemsService: BuyItemsService,\n ) { }\n\n ngOnInit(): void {\n this.subscribeToStateChanges();\n this.subscribeToWebsocketEvents();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n goToLiveAuctionPreview() {\n this.vecRoutingService.goToLiveAuctionPreviewPage();\n }\n\n onBidValueIncreased(): void {\n if (!this.auctionService.isBiddingPaused()) {\n this.bidValueCents = this.auctionService.increaseBidValue(this.bidValueCents);\n this.customBid = true;\n }\n }\n\n onBidValueDecreased(): void {\n if (!this.auctionService.isBiddingPaused()) {\n this.bidValueCents = this.auctionService.decreaseBidValue(this.bidValueCents);\n if (this.auctionService.isMinimumBid(this.bidValueCents)) {\n this.customBid = false;\n }\n }\n }\n\n onBidClicked(): void {\n this.showConfirmBid = true;\n }\n\n onBidCancelled(): void {\n this.showConfirmBid = false;\n }\n\n onBidPlaced(): void {\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile) {\n this.matDialog.open(CreditCardDialogComponent).afterClosed().subscribe((out: CreditCardDialogOutput) => {\n out.addedCard ? this.submitBid() : this.resetBiddingButtons();\n });\n } else if (this.auctionService.isOutbid(this.bidValueCents)) {\n this.auctionService.showOutbidMessage();\n this.resetBiddingButtons();\n } else {\n this.submitBid();\n }\n });\n }\n\n private subscribeToStateChanges(): void {\n this.auctionStateService.activeLot.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((lot: Lot) => { // triggered by stateService so the lot change animation works properly\n this.auctionService.onActiveLotChanges(lot);\n this.activeLot = lot;\n this.resetBidValue();\n });\n\n this.auctionStateService.activeLotPhotoURLs.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((imageURLs: string[]) => {\n this.activeLotImageURLs = imageURLs;\n });\n\n this.auctionStateService.nextLot.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((nextLot: Lot) => {\n this.nextLot = nextLot;\n });\n\n this.stateService.registration.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((registration: ReadMyRegistrationOutput) => {\n this.registeredUser = registration;\n });\n }\n\n private subscribeToWebsocketEvents(): void {\n // opened connection in parent component\n this.websocketService.liveAuctionBiddingOpened.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: BiddingOpenPayload) => {\n this.auctionService.onBiddingOpened(payload);\n });\n\n this.websocketService.liveAuctionBidReceived.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: BidReceivedPayload) => {\n this.auctionService.onBidReceived(payload);\n if (this.auctionService.isActiveLot(payload.lotID) && !this.customBid && !this.showConfirmBid) {\n this.resetBidValue();\n }\n });\n\n this.websocketService.liveAuctionBiddingPaused\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingPaused: BiddingPausedPayload) => {\n if (this.auctionService.isActiveLot(biddingPaused.lotID)) {\n this.auctionService.onBiddingPaused(biddingPaused);\n }\n });\n\n this.websocketService.liveAuctionBiddingClosed.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: BiddingClosedPayload) => {\n this.auctionService.onBiddingClosed(payload);\n });\n\n this.websocketService.proxyBidderAdded.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ProxyBidderAddedPayload) => {\n if (payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID) {\n this.auctionService.proxyBidderUpdated();\n }\n });\n\n this.websocketService.proxyBidderRemoved.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ProxyBidderRemovedPayload) => {\n if (\n payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID &&\n this.registeredUser.biddingAsUserID &&\n payload.userID === this.registeredUser?.biddingAsUserID\n ) {\n this.auctionService.proxyBidderUpdated();\n }\n });\n }\n\n private resetBidValue(): void {\n this.bidValueCents = this.auctionService.getMinimumBid();\n }\n\n private submitBid() {\n if (this.placingBid) { return; }\n this.placingBid = true;\n\n this.auctionService.submitBid('live', this.bidValueCents).subscribe(() => {\n this.auctionService.currentLeaderUserID = this.registeredUser.biddingAsUserID || this.registeredUser.userID;\n this.resetBiddingButtons();\n }, (e: any) => {\n this.auctionService.showError(e);\n this.resetBiddingButtons();\n });\n }\n\n private resetBiddingButtons(): void {\n this.showConfirmBid = false;\n this.placingBid = false;\n this.customBid = false;\n if (this.auctionService.isOutbid(this.bidValueCents)) {\n this.resetBidValue();\n }\n }\n\n}\n","import { AfterViewInit, Component, EventEmitter, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { CurrentUserService, SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { combineLatest, forkJoin, of, Subject } from 'rxjs';\nimport { delay, filter, switchMap, take, takeUntil } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport {\n CheckInMyGuestSessionsInput, GeneratedVirtualEventRestService,\n GetMyCheckInStatusInput,\n GetMyExperienceTypeInput,\n GetMyExperienceTypeOutput,\n GetMyGuestSessionSummaryInput,\n ListPreEventQuestionConfigsInput,\n PreEventQuestionConfigSummary, ReadGuestInput,\n ReadGuestOutput,\n ReadOverlayInput,\n ReadSceneOutput\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { ActiveOverlayChangedPayload, WebSocketService } from '../../services/websocket.service';\n\n\nclass BannerProperties {\n type: string;\n headerText: string;\n subheaderText: string;\n direction: string;\n iconType: string;\n bannerButton: boolean;\n}\n\n@Component({\n selector: 'app-ipo-live-banner',\n templateUrl: './ipo-live-banner.component.html',\n styleUrls: ['./ipo-live-banner.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoLiveBannerComponent implements OnInit, AfterViewInit, OnDestroy {\n @Output() showLiveBanner = new EventEmitter();\n @Output() reloadShow = new EventEmitter();\n\n orgID: string;\n eventID: string;\n eventSessionID: string;\n event: VirtualEvent;\n liveAuctionRunning = false;\n liveAppealRunning = false;\n bannerProperties = new BannerProperties();\n showCheckIn = false;\n showCheckInSuccess = false;\n\n private destroy$ = new Subject();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: GeneratedVirtualEventRestService,\n private router: Router,\n private stateService: StateService,\n private vecRoutingService: VECRoutingService,\n private websocketService: WebSocketService,\n private snackbar: MatSnackBar,\n private currentUser: CurrentUserService,\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n forkJoin({\n eventSession: this.stateService.eventSession.pipe(take(1)),\n event: this.stateService.event.pipe(take(1)),\n }).subscribe((out) => {\n this.event = out.event;\n this.eventSessionID = out.eventSession.id;\n this.currentUser.isLoggedIn().pipe(filter(isLoggedIn => isLoggedIn), takeUntil(this.destroy$)).subscribe(() => {\n this.getCheckInStatus();\n });\n });\n\n this.subscribeToStateChanges();\n this.subscribeToWebsocketEvents();\n }\n\n ngAfterViewInit(): void {\n window.scrollTo(0, 0);\n }\n\n private subscribeToStateChanges() {\n this.stateService.liveAuctionRunning.subscribe((running: boolean) => {\n this.liveAuctionRunning = running;\n this.refreshState();\n });\n\n this.stateService.liveAppealRunning.subscribe((running: boolean) => {\n this.liveAppealRunning = running;\n this.refreshState();\n });\n\n this.stateService.currentOverlay.subscribe(() => {\n this.refreshState();\n });\n\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd)\n ).subscribe(() => {\n this.refreshState();\n });\n\n this.stateService.registration\n .pipe(\n filter(reg => reg && reg.found),\n take(1)\n ).subscribe(() => {\n this.getCheckInStatus();\n });\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.activeOverlayChanged.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: ActiveOverlayChangedPayload) => {\n this.stateService.setCurrentScene(payload.scene);\n this.onOverlayChange((payload.scene as any));\n });\n\n this.websocketService.checkWebsocketHealth().pipe(\n delay(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.reloadShow.emit(true);\n });\n }\n\n private onOverlayChange(scene: ReadSceneOutput): void {\n if (scene.activeOverlayConfig.showNone || !scene.activeOverlayConfig.overlayIDs || !scene.activeOverlayConfig.overlayIDs.length) {\n return;\n }\n\n this.virtualEventClient.readOverlay({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: scene.showID,\n sceneID: scene.id,\n overlayID: scene.activeOverlayConfig.overlayIDs[0],\n } as ReadOverlayInput).subscribe((overlay) => {\n this.stateService.setCurrentOverlay((overlay as any));\n });\n }\n\n private refreshState() {\n if (!this.isOnLiveAuctionPage() && this.liveAuctionRunning) {\n this.bannerProperties = {\n type: 'auction',\n headerText: 'VIEW LIVE AUCTION',\n subheaderText: 'Happening Now',\n direction: 'column',\n iconType: 'arrow_forward_ios',\n bannerButton: true\n };\n } else if (!this.isOnLiveAppealPage() && this.liveAppealRunning) {\n this.bannerProperties = {\n type: 'appeal',\n headerText: 'VIEW DONATION APPEAL',\n subheaderText: 'Happening Now',\n direction: 'column',\n iconType: 'arrow_forward_ios',\n bannerButton: true\n };\n } else if (this.showCheckIn) {\n this.bannerProperties = {\n type: 'check-in',\n headerText: 'Have you arrived at the event?',\n subheaderText: 'I\\'m here, check me in!',\n direction: 'row',\n iconType: 'check_circle',\n bannerButton: true\n };\n } else if (this.showCheckInSuccess) {\n this.bannerProperties = {\n type: 'checked-in',\n headerText: 'Success!',\n subheaderText: 'Click profile to view details',\n direction: 'column',\n iconType: 'clear',\n bannerButton: true,\n };\n } else {\n this.bannerProperties = new BannerProperties();\n }\n this.showLiveBanner.emit(this.bannerProperties.type ? true : false);\n }\n\n private isOnLiveAuctionPage(): boolean {\n return this.router.url.includes('live-auction') && !this.router.url.includes('live-auction-preview');\n }\n\n private isOnLiveAppealPage(): boolean {\n return this.router.url.includes('live-appeal');\n }\n\n private getCheckInStatus() {\n this.virtualEventClient.getMyExperienceType(new GetMyExperienceTypeInput(\n {\n organizationID: this.event.organizationID,\n eventID: this.event.id\n }\n )).subscribe((experience: GetMyExperienceTypeOutput) => {\n if (this.event.enableSelfCheckin) {\n const primaryDate = new Date(this.event.primaryDate) as any;\n const primaryEndDate = new Date(this.event.primaryEndDate) as any;\n const currentDateTime = new Date() as any;\n // only showCheckIn if the event is in the next hour or has started\n const isEventStartInAnHour = (primaryDate - currentDateTime) / (1000 * 60 * 60) <= 1;\n const isEventOver = (currentDateTime > primaryEndDate && this.event.primaryEndDate !== '');\n const isInPerson = experience.experienceType === 'in-person';\n if (isEventStartInAnHour && !isEventOver && isInPerson) {\n combineLatest([\n this.virtualEventClient.getMyCheckInStatus(new GetMyCheckInStatusInput({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n })),\n this.virtualEventClient.listPreEventQuestionConfigs(new ListPreEventQuestionConfigsInput({\n organizationID: this.orgID,\n eventID: this.eventID,\n })),\n this.virtualEventClient.getMyGuestSessionSummary(new GetMyGuestSessionSummaryInput({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n })).pipe(switchMap((guestSession) => {\n if (guestSession) {\n return this.virtualEventClient.readGuest({\n organizationID: this.orgID,\n eventID: this.eventID,\n guestID: guestSession.guestID,\n } as ReadGuestInput);\n }\n return of(new ReadGuestOutput());\n })),\n ]).subscribe(([checkInStatus, questionConfigs, guest]) => {\n const questions = questionConfigs.items\n ?.find((question) => question.questionOneActive || question.questionTwoActive || question.questionThreeActive)\n || new PreEventQuestionConfigSummary();\n const questionAgreement = (!questions.questionOneActive || guest.preEventQuestionOneAnswer)\n && (!questions.questionTwoActive || guest.preEventQuestionTwoAnswer)\n && (!questions.questionThreeActive || guest.preEventQuestionThreeAnswer);\n const notCheckedIn = checkInStatus.checkInStatus === 'not-checked-in';\n this.showCheckIn = notCheckedIn && questionAgreement;\n this.refreshState();\n });\n }\n }\n });\n }\n\n navigate() {\n switch (this.bannerProperties.type) {\n case 'auction':\n this.vecRoutingService.goToLiveAuctionPage();\n break;\n case 'appeal':\n this.vecRoutingService.goToLiveAppealPage();\n break;\n case 'checked-in':\n this.vecRoutingService.goToProfilePage();\n this.showCheckInSuccess = false;\n break;\n case 'check-in':\n this.virtualEventClient.checkInMyGuestSessions({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n } as CheckInMyGuestSessionsInput).subscribe(\n () => {\n this.showCheckInSuccess = true;\n this.getCheckInStatus();\n this.vecRoutingService.goToHome();\n },\n error => {\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(error.message, SnackBarIcon.Error, false));\n }\n );\n break;\n }\n }\n\n iconClicked(): void {\n switch (this.bannerProperties.type) {\n case 'checked-in':\n this.acknowledgeCheckIn();\n break;\n }\n }\n\n acknowledgeCheckIn(): void {\n this.showCheckInSuccess = false;\n this.refreshState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n}\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\nimport { CurrentUserService, FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { combineLatest, Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport {\n ListImpactsInput,\n ListImpactsOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport { ReadMyRegistrationOutput } from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { RegistrationService } from '../../services/registration.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { RightDrawerContentService } from '../right-drawer-content/right-drawer-content.service';\n\n\n@Component({\n selector: 'app-ipo-menu',\n templateUrl: './ipo-menu.component.html',\n styleUrls: ['./ipo-menu.component.scss']\n})\nexport class IpoMenuComponent implements OnInit, OnDestroy {\n\n @Output() closeMenu = new EventEmitter();\n\n isRegistered: boolean | undefined;\n isLoggedIn = false;\n event: VirtualEvent;\n hasDonationImpacts = false;\n hasFixedPriceItems = false;\n hasIncompleteGuestSessions = false;\n\n private destroy$ = new Subject();\n\n constructor(\n private vecRouting: VECRoutingService,\n private stateService: StateService,\n private virtualEventClient: VirtualEventClientService,\n private events: EventsService,\n private currentUser: CurrentUserService,\n private rightDrawer: RightDrawerContentService,\n private registrationService: RegistrationService,\n ) { }\n\n ngOnInit() {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.loadImpacts();\n });\n\n this.stateService.registration.subscribe((registration: ReadMyRegistrationOutput) => {\n if (!registration) {\n // not read yet, do nothing\n return;\n }\n this.isRegistered = registration.found;\n });\n\n this.events.userLoggedIn.subscribe(() => {\n this.isLoggedIn = true;\n });\n\n this.currentUser.isLoggedIn().subscribe(isLoggedIn => {\n this.isLoggedIn = isLoggedIn;\n });\n\n this.checkForIncompleteGuestSessions();\n\n this.rightDrawer.drawerClosed$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.checkForIncompleteGuestSessions();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n goToCheckout() {\n this.closeMenu.next();\n this.events.raiseOpenCartSidenav();\n }\n\n goToTicketManager() {\n this.rightDrawer.openTicketManager();\n }\n\n goToHome() {\n this.closeMenu.next();\n this.vecRouting.goToHome();\n }\n\n goToDonate() {\n this.closeMenu.next();\n this.vecRouting.goToDonationPage();\n }\n\n goToProfile() {\n this.closeMenu.next();\n this.vecRouting.goToProfilePage();\n }\n\n login() {\n this.rightDrawer.openLogin().subscribe({\n next: () => {\n this.isLoggedIn = true;\n this.events.raiseUserLoggedIn();\n this.checkRegistration();\n }\n });\n }\n\n private checkRegistration(): void {\n this.currentUser.getProfile().subscribe((profile) => {\n this.virtualEventClient.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }).subscribe((registration) => {\n if (registration && registration.found) {\n this.stateService.setRegistration(registration);\n } else {\n this.registrationService.register(profile, null, null).subscribe();\n }\n });\n });\n }\n\n private checkForIncompleteGuestSessions() {\n combineLatest([\n this.stateService.eventSession.pipe(take(1)),\n this.currentUser.isLoggedIn().pipe(filter((isLoggedIn) => isLoggedIn), take(1)),\n ]).subscribe(([eventSession]) => {\n this.virtualEventClient.listMyIncompleteGuestSessionIDs({\n organizationID: eventSession.organizationID,\n eventID: eventSession.eventID,\n eventSessionID: eventSession.id,\n }).subscribe((incompleteGuestSessions) => {\n this.hasIncompleteGuestSessions = incompleteGuestSessions.incompleteGuestSessionIDs?.length > 0;\n });\n });\n }\n\n goToSilentAuction() {\n this.closeMenu.next();\n this.vecRouting.goToSilentAuctionPage();\n }\n\n goToRaffle() {\n this.closeMenu.next();\n this.vecRouting.goToRafflePage();\n }\n\n goToSupportOurCause() {\n this.closeMenu.next();\n this.vecRouting.goToSupportOurCausePage();\n }\n\n goToShopItems() {\n this.closeMenu.next();\n this.vecRouting.goToFixedPriceItemsPage();\n }\n\n goToLiveAuctionPreview() {\n this.closeMenu.next();\n this.vecRouting.goToLiveAuctionPreviewPage();\n }\n\n goToGame() {\n this.closeMenu.next();\n this.vecRouting.goToGamePage();\n }\n\n goToChat() {\n this.closeMenu.next();\n this.vecRouting.goToChatPage();\n }\n\n goToStory() {\n this.closeMenu.next();\n this.vecRouting.goToStoryPage();\n }\n\n joinUs() {\n if (this.event?.showStory) {\n this.goToStory();\n } else {\n this.goToHome();\n }\n }\n\n private loadImpacts(): void {\n this.virtualEventClient.listImpacts({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.Equal, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasDonationImpacts = out.items.length > 0;\n });\n\n this.virtualEventClient.listImpacts({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.NotEqual, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasFixedPriceItems = out.items.length > 0;\n });\n\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-ipo-user-profile',\n templateUrl: './ipo-user-profile.component.html',\n styleUrls: ['./ipo-user-profile.component.scss']\n})\nexport class IpoUserProfileComponent {\n}\n","import { Component, ElementRef, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService, EnvironmentService, Profile, WindowInjectionToken } from '@onecause/core';\nimport { forkJoin, } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport {\n ClaimMyTicketInput,\n ClaimMyTicketOutput,\n GeneratedVirtualEventRestService,\n GetMyGuestDemographicsPublicInput,\n ReadMyRegistrationInput,\n ReadMyRegistrationOutput\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { ClaimTicketService } from '../../../services/claim-ticket.service';\nimport { EventsService } from '../../../services/events.service';\nimport { RegistrationService } from '../../../services/registration.service';\nimport { StateService } from '../../../services/state.service';\n\n\nexport class AccountDialogInput {\n showBuyTicketsCTA: boolean;\n}\n\nexport class AccountDialogOutput {\n success: boolean;\n\n constructor(success: boolean) {\n this.success = success;\n }\n}\n\n@Component({\n selector: 'app-account-dialog',\n templateUrl: './account-dialog.component.html',\n styleUrls: ['./account-dialog.component.scss']\n})\nexport class AccountDialogComponent implements OnInit, OnDestroy {\n @ViewChild('iframe') iframe: ElementRef;\n event: VirtualEvent;\n eventSessionID: string;\n logoUrl: string;\n iframeBaseURL = '';\n iframeURL = '';\n ticketID: string;\n ticketAssignmentToken: string;\n eventSupporterTicketsURL: string;\n showPurchaseTickets = true;\n private authSuccess = false;\n eventHandler = message => {\n switch (message.data.type) {\n case 'onecause:flow-complete':\n this.checkProfile();\n break;\n case 'onecause:auth-flow-component-resized':\n this.resize(message.data.height);\n break;\n case 'onecause:trigger-ticket-purchase-sidenav':\n this.events.raiseOpenTicketSelectSidenav();\n this.dialogRef.close(new AccountDialogOutput(this.authSuccess));\n break;\n }\n }\n\n constructor(\n private dialogRef: MatDialogRef,\n private env: EnvironmentService,\n private stateService: StateService,\n private virtualEventClientService: GeneratedVirtualEventRestService,\n private registrationService: RegistrationService,\n private currentUserService: CurrentUserService,\n private activatedRoute: ActivatedRoute,\n @Inject(WindowInjectionToken) private window: Window,\n private events: EventsService,\n @Inject(MAT_DIALOG_DATA) public dialogData: AccountDialogInput,\n private claimTicketService: ClaimTicketService,\n private featureFlagService: FeatureFlagService\n ) { }\n\n ngOnInit(): void {\n this.ticketAssignmentToken = this.activatedRoute.snapshot.queryParamMap.get('t');\n this.ticketID = this.activatedRoute.snapshot.queryParamMap.get('ticket') || '';\n\n forkJoin({\n event: this.stateService.event.pipe(take(1)),\n eventSession: this.stateService.eventSession.pipe(take(1)),\n logoUrl: this.env.getURL('assets', 'onecause/onecause-logo-gradient.svg'),\n eventSupporterUrl: this.env.getURL('eventsupporter', ''),\n eventSupporterTicketsUrl: this.env.getURL('eventsupportertickets', ''),\n showPurchaseTickets: this.stateService.showPurchaseTickets.pipe(take(1)),\n featureFlags: this.featureFlagService.featureFlags.pipe(take(1))\n }).subscribe(out => {\n this.event = out.event;\n this.eventSessionID = out.eventSession.id;\n this.logoUrl = out.logoUrl;\n this.eventSupporterTicketsURL = out.eventSupporterTicketsUrl;\n this.showPurchaseTickets = out.showPurchaseTickets;\n\n this.iframeBaseURL = `${out.eventSupporterUrl}organizations/${this.event.organizationID}/events/${this.event.id}/account-lookup-auth`;\n this.iframeURL = this.iframeBaseURL;\n\n if (this.dialogData.showBuyTicketsCTA) {\n this.iframeURL =\n `${out.eventSupporterTicketsUrl}/organizations/${this.event.organizationID}/events/${this.event.id}/buy-tickets-cta`;\n } else if (this.ticketAssignmentToken) {\n this.getEmailFromTicketAssignmentToken();\n }\n });\n\n this.window.addEventListener('message', this.eventHandler);\n }\n\n ngOnDestroy() {\n this.window.removeEventListener('message', this.eventHandler);\n }\n\n checkProfile() {\n this.currentUserService.resetCache();\n this.currentUserService.getProfile('flow/join-event/account-dialog')\n .subscribe((profile: Profile) => {\n this.authSuccess = true;\n this.dialogRef.close(new AccountDialogOutput(this.authSuccess));\n this.claimTicketService.handleEventAccess(this.ticketAssignmentToken, this.ticketID);\n });\n }\n\n checkRegistration(profile: Profile): void {\n this.virtualEventClientService.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n } as ReadMyRegistrationInput).subscribe((registration: ReadMyRegistrationOutput) => {\n if (registration && registration.found) {\n this.stateService.setRegistration(registration);\n this.dialogRef.close(new AccountDialogOutput(this.authSuccess));\n } else {\n this.registrationService.register(profile, null, null).subscribe({\n next: _ => {\n this.dialogRef.close(new AccountDialogOutput(this.authSuccess));\n }\n });\n }\n });\n }\n\n cancel() {\n this.dialogRef.close(new AccountDialogOutput(this.authSuccess));\n }\n\n resize(height: number) {\n // +48 for padding\n this.iframe.nativeElement.style.height = (height + 48) + 'px';\n }\n\n private getEmailFromTicketAssignmentToken(): void {\n const decodedToken = JSON.parse(atob(this.ticketAssignmentToken.split('.')[1]));\n const decodedRoles = JSON.parse(decodedToken.roles);\n\n if (decodedRoles.some(r => r.role === 'event-guest')) {\n const role = decodedRoles.find(r => r.role === 'event-guest');\n\n this.virtualEventClientService.withJWT(decodedToken).getMyGuestDemographicsPublic(\n {\n eventID: role.context.eventID,\n organizationID: role.context.organizationID,\n } as GetMyGuestDemographicsPublicInput).subscribe(getMyGuestDemographicsPublicOutput => {\n const userInfo = {\n email: getMyGuestDemographicsPublicOutput.email,\n firstName: getMyGuestDemographicsPublicOutput.firstName,\n lastName: getMyGuestDemographicsPublicOutput.lastName,\n mobilePhone: getMyGuestDemographicsPublicOutput.mobilePhone\n };\n this.iframeURL = `${this.iframeBaseURL}?userInfo=${encodeURIComponent(JSON.stringify(userInfo))}`;\n });\n } else if (!!decodedToken.sub) {\n const userInfo = {\n email: decodedToken.sub\n };\n this.iframeURL = `${this.iframeBaseURL}?userInfo=${encodeURIComponent(JSON.stringify(userInfo))}`;\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService, Profile } from '@onecause/core';\nimport { forkJoin, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { EventSessionSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { ClaimTicketService } from '../../services/claim-ticket.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\nimport { AccountDialogComponent, AccountDialogInput } from './account-dialog/account-dialog.component';\n\n\n@Component({\n selector: 'app-join-event',\n templateUrl: './join-event.component.html',\n styleUrls: ['./join-event.component.scss']\n})\nexport class JoinEventComponent implements OnInit, OnDestroy {\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n ticketID: string;\n ticketAssignmentToken: string;\n isMobile: boolean;\n isLoggedIn = false;\n showJoinEvent = true;\n\n private destruction$ = new Subject();\n\n constructor(\n private stateService: StateService,\n private dialog: MatDialog,\n private currentUserService: CurrentUserService,\n private virtualEventService: VirtualEventService,\n private eventsService: EventsService,\n private activatedRoute: ActivatedRoute,\n private claimTicketService: ClaimTicketService,\n ) { }\n\n ngOnInit(): void {\n this.ticketAssignmentToken = this.activatedRoute.snapshot.queryParamMap.get('t');\n this.ticketID = this.activatedRoute.snapshot.queryParamMap.get('ticket') || '';\n this.isMobile = this.virtualEventService.isMobile();\n\n forkJoin({\n event: this.stateService.event.pipe(take(1)),\n eventSession: this.stateService.eventSession.pipe(take(1)),\n loggedIn: this.currentUserService.isLoggedIn().pipe(take(1)),\n showPurchaseTickets: this.stateService.showPurchaseTickets.pipe(take(1)),\n }).subscribe(\n out => {\n this.event = out.event;\n this.eventSession = out.eventSession;\n this.isLoggedIn = out.loggedIn;\n\n if (this.ticketAssignmentToken && !out.loggedIn) {\n this.openAccountDialog();\n } else if (out.loggedIn) {\n this.claimTicketService.handleEventAccess(this.ticketAssignmentToken, this.ticketID);\n }\n });\n\n this.eventsService.userLoggedIn.pipe(takeUntil(this.destruction$)).subscribe(() => this.isLoggedIn = true);\n this.eventsService.userLoggedOut.pipe(takeUntil(this.destruction$)).subscribe(() => this.isLoggedIn = false);\n\n this.stateService.showPurchaseTickets.pipe(takeUntil(this.destruction$)).subscribe((showPurchaseTickets: boolean) => {\n this.showJoinEvent = showPurchaseTickets;\n });\n }\n\n ngOnDestroy() {\n this.destruction$.next();\n this.destruction$.complete();\n }\n\n openAccountDialog() {\n this.currentUserService.getProfile().subscribe((profile: Profile) => {\n // when user is logged in and not registered for the event go ahead and register user\n this.claimTicketService.handleEventAccess();\n }, () => {\n // when user is not logged in go ahead and do the account look up\n this.dialog.open(AccountDialogComponent, {\n data: {\n showBuyTicketsCTA: false\n } as AccountDialogInput,\n minWidth: (this.isMobile ? 300 : 550)\n }).afterClosed().subscribe((out => {\n if (out && out.success) {\n this.eventsService.raiseUserLoggedIn();\n }\n }));\n });\n }\n\n\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { StateService } from '../../services/state.service';\nimport { switchMap, take } from 'rxjs/operators';\nimport {\n GetParticipantsLeaderboardInput,\n GreatfeatsRestService,\n LeaderboardParticipant\n} from '../../../../services/zz-greatfeats-rest.service';\n\n@Component({\n selector: 'app-leaderboard',\n templateUrl: './leaderboard.component.html',\n styleUrls: ['./leaderboard.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class LeaderboardComponent implements OnInit {\n leaderboardDisplay = LeaderboardDisplay;\n\n @Input() displayRefresh = true;\n @Input() displayZeroAmounts = false;\n\n readonly displayedColumns = ['donationAmount', 'name'];\n dataSource: LeaderboardParticipant[] = null;\n\n constructor(\n private stateService: StateService,\n private greatFeatsService: GreatfeatsRestService,\n ) {\n }\n\n get display(): LeaderboardDisplay {\n if (this.dataSource === null) {\n return LeaderboardDisplay.Loading;\n } else if (this.dataSource.length === 0) {\n return LeaderboardDisplay.Empty;\n } else {\n return LeaderboardDisplay.Results;\n }\n }\n\n ngOnInit(): void {\n this.fetchLeaderboardResults();\n }\n\n fetchLeaderboardResults() {\n this.dataSource = null;\n this.stateService.event.pipe(\n take(1),\n switchMap(event => {\n const input = new GetParticipantsLeaderboardInput({ organizationID: event.organizationID, eventID: event.id });\n return this.greatFeatsService.getParticipantsLeaderboard(input);\n })\n ).subscribe(result => {\n if (this.displayZeroAmounts) {\n this.dataSource = result.getParticipantsLeaderboardResultList;\n } else if (result?.getParticipantsLeaderboardResultList) {\n this.dataSource = result.getParticipantsLeaderboardResultList.filter(r => r.donationAmount > 0);\n } else {\n this.dataSource = result.getParticipantsLeaderboardResultList;\n }\n });\n }\n}\n\nexport enum LeaderboardDisplay {\n Loading,\n Empty,\n Results\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { VirtualEventService } from '../../services/virtual-event.service';\n\n@Component({\n selector: 'app-live-appeal-emojis',\n templateUrl: './live-appeal-emojis.component.html',\n styleUrls: ['./live-appeal-emojis.component.scss']\n})\nexport class LiveAppealEmojisComponent implements OnInit {\n\n @Output() emojiSelected = new EventEmitter();\n\n isMobile = false;\n isEmojiSelected = false;\n emojiSelectedIndex: number;\n\n\n constructor(\n private virtualEventService: VirtualEventService,\n ) { }\n\n ngOnInit() {\n this.isMobile = this.virtualEventService.isMobile();\n }\n\n selected(index: number) {\n if (this.emojiSelectedIndex === index) {\n // unselect\n this.isEmojiSelected = false;\n this.emojiSelectedIndex = undefined;\n this.emojiSelected.emit(null);\n } else {\n\n this.isEmojiSelected = true;\n this.emojiSelectedIndex = index;\n this.emojiSelected.emit(emojis[index].alias);\n }\n }\n\n getEmojiList() {\n return emojis;\n }\n\n}\n\nexport class Emoji {\n url: string;\n alias: string;\n}\n\nexport const emojis: Emoji[] = [\n { url: 'https://assets.onecause.com/emoji/1f44d.svg', alias: 'thumbs-up', } as Emoji,\n { url: 'https://assets.onecause.com/emoji/2764.svg', alias: 'heart', } as Emoji,\n { url: 'https://assets.onecause.com/emoji/1f64f.svg', alias: 'pray', } as Emoji,\n { url: 'https://assets.onecause.com/emoji/270c.svg', alias: 'peace', } as Emoji,\n { url: 'https://assets.onecause.com/emoji/1f64c.svg', alias: 'praise', } as Emoji,\n { url: 'https://assets.onecause.com/emoji/1f4aa.svg', alias: 'muscle', } as Emoji\n];\n","import { Component, OnDestroy, OnInit, SecurityContext, ViewEncapsulation } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { forkJoin, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { EnvironmentService } from '@onecause/core';\n\nimport { ReadMyRegistrationOutput, VirtualEvent, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { WebSocketService } from '../../services/websocket.service';\n\nexport enum ChatDisplayMode {\n None = 'none',\n Enabled = 'chatEnabled',\n Disabled = 'chatDisabled',\n NotRegistered = 'notRegistered',\n InitError = 'chatInitError'\n}\n\n/**\n * The livestream chat client.\n */\n@Component({\n selector: 'app-livestream-chat',\n templateUrl: './livestream-chat.component.html',\n styleUrls: ['./livestream-chat.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LivestreamChatComponent implements OnInit, OnDestroy {\n\n private organizationID: string | undefined;\n private eventID: string | undefined;\n private destroyTriggered = new Subject();\n\n ChatDisplayModeOptions: typeof ChatDisplayMode = ChatDisplayMode;\n displayMode: ChatDisplayMode;\n chatURL: SafeUrl | undefined;\n\n constructor(\n private stateService: StateService,\n private websocketService: WebSocketService,\n private environmentService: EnvironmentService,\n private sanitizer: DomSanitizer,\n private virtualEventRestService: VirtualEventClientService\n ) { }\n\n ngOnInit(): void {\n this.displayMode = ChatDisplayMode.None;\n\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.stateService.registration.subscribe({\n next: (registration: ReadMyRegistrationOutput) => {\n if (registration === null) {\n // registration is not yet read\n return;\n }\n\n if (!registration?.found) {\n this.displayMode = ChatDisplayMode.NotRegistered;\n return;\n }\n\n this.organizationID = registration.organizationID;\n this.eventID = registration.eventID;\n\n if (!event.isChatOn) {\n this.disableChat();\n }\n else {\n this.enableChat();\n }\n\n this.subscribeToWebsocketEvents();\n },\n error: registrationError => this.displayMode = ChatDisplayMode.InitError,\n });\n });\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private enableChat(): void {\n const organizationID = this.organizationID;\n const eventID = this.eventID;\n if (!organizationID || !eventID) {\n return;\n }\n\n // Before we show the monitor...we need to make sure the user is \"added to chat\".\n // This currently happens as a user get's their token...even though we don't need their chat token, we will\n // request to make sure the user is properly added to the chat channel.\n forkJoin([\n this.environmentService.getURL('chat', `organizations/${organizationID}/sources/${eventID}/chat`),\n this.virtualEventRestService.getChatUser(organizationID, eventID)\n ]).subscribe(([url, _]) => {\n this.displayMode = ChatDisplayMode.Enabled;\n this.chatURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.sanitizer.sanitize(SecurityContext.URL, url));\n });\n\n }\n\n private disableChat(): void {\n this.displayMode = ChatDisplayMode.Disabled;\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.livestreamChatEnabled.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe(() => this.enableChat());\n\n this.websocketService.livestreamChatDisabled.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe(() => this.disableChat());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LivestreamChatComponent } from './livestream-chat.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n LivestreamChatComponent\n ],\n providers: [],\n imports: [\n CommonModule,\n MatIconModule,\n FormsModule,\n ],\n exports: [\n LivestreamChatComponent,\n ],\n})\nexport class LivestreamChatModule { }\n","import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\n\nexport class LoginDialogInput {\n hideNeedsTicketLink: boolean;\n}\n\n@Component({\n selector: 'app-log-in-dialog',\n templateUrl: './log-in-dialog.component.html',\n styleUrls: ['./log-in-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class LogInDialogComponent {\n\n showNeedsTicketLink = true;\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) data: LoginDialogInput,\n private snackbar: MatSnackBar,\n ) {\n if (data && data.hideNeedsTicketLink) {\n this.showNeedsTicketLink = false;\n }\n }\n\n close(loggedIn: boolean): void {\n this.dialogRef.close(loggedIn);\n }\n\n onAuthSuccess(): void {\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(\n `You're logged in - welcome!`,\n SnackBarIcon.Success,\n false\n ));\n this.close(true);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { EmailValidator } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { LoginInput } from 'src/app/services/auth-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\nexport class LogInFormData {\n userInfo: LoginInput;\n googleUserInfo: any;\n facebookUserInfo: any;\n}\n\n@Component({\n selector: 'app-log-in-form',\n templateUrl: './log-in-form.component.html',\n styleUrls: ['./log-in-form.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LogInFormComponent implements OnInit {\n @Input() ignoreEventSettings = false;\n @Output() logInFormUpdated: EventEmitter = new EventEmitter();\n\n event: VirtualEvent;\n logInForm: FormGroup;\n\n googleClientId: string;\n facebookAppId: string;\n googleIsReady = false;\n facebookIsReady = false;\n\n submitting = false;\n\n constructor(\n private state: StateService,\n private http: HttpClient,\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.buildLoginForm();\n });\n\n // gather our authconfig values\n this.http.get('authconfig.json').subscribe((d: any) => {\n this.facebookAppId = d.facebookAppID;\n this.googleClientId = d.googleOAuthClientID;\n }, (e) => { console.log(e); });\n }\n\n private buildLoginForm(): void {\n this.logInForm = new FormGroup({\n email: new FormControl('', [Validators.required, EmailValidator()]),\n password: new FormControl('', [Validators.required]),\n });\n\n this.logInForm.valueChanges.subscribe(() => {\n if (!this.logInForm.valid) {\n this.logInFormUpdated.emit({ userInfo: null } as LogInFormData);\n return;\n }\n\n this.logInFormUpdated.emit({\n userInfo: {\n username: this.logInForm.value.email,\n password: this.logInForm.value.password,\n }\n } as LogInFormData);\n });\n }\n\n googleAvailable(): void {\n this.googleIsReady = true;\n }\n\n facebookAvailable(): void {\n this.facebookIsReady = true;\n }\n\n googleLogin(googleUser: any) {\n this.logInFormUpdated.emit({ googleUserInfo: googleUser } as LogInFormData);\n }\n\n facebookLogin(facebookUser: any) {\n this.logInFormUpdated.emit({ facebookUserInfo: facebookUser } as LogInFormData);\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Raffle } from 'src/app/services/raffle-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-navigation-tab',\n templateUrl: './navigation-tab.component.html',\n styleUrls: ['./navigation-tab.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NavigationTabComponent implements OnInit {\n @Input() event: VirtualEvent;\n @Input() raffle: Raffle;\n @Input() linkLotID: string;\n @Input() displayIcons: boolean;\n @Input() displayOrientation: string;\n\n selectedIndex: number;\n\n storyTitle: string;\n liveAuctionPreviewTitle: string;\n silentAuctionTitle: string;\n raffleTitle: string;\n gameTitle: string;\n leaderboardTitle: string;\n fixedPriceTitle: string;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setTabTitles();\n this.selectActiveTab();\n this.loadSVGFillColorStyle();\n }\n\n private loadSVGFillColorStyle(): void {\n const style = document.createElement('style');\n style.innerHTML = `.mat-tab-label-active svg path {\n fill: ${this.event.themePrimaryColor}\n }`;\n\n document.head.appendChild(style);\n }\n\n private setTabTitles(): void {\n this.storyTitle = this.event.storyTabTitle || 'Story';\n this.liveAuctionPreviewTitle = this.event.liveAuctionPreviewTabTitle || 'Live Auction Preview';\n this.silentAuctionTitle = this.event.silentAuctionTabTitle || 'Silent Auction';\n this.raffleTitle = this.event.raffleTabTitle || 'Raffle';\n this.gameTitle = this.event.gameTabTitle || 'Game';\n this.leaderboardTitle = this.event.greatfeatsParticipantsLeaderboardTabTitle || 'Leaderboard';\n this.fixedPriceTitle = this.event.fixedPriceItemTabTitle || 'Shop Items';\n }\n\n private selectActiveTab(): void {\n if (this.event.showLiveAuctionPreview && this.event.showSilentAuction && this.linkLotID && this.event.showStory) {\n this.selectedIndex = 2;\n } else if (this.event.showLiveAuctionPreview && this.event.showSilentAuction && this.linkLotID) {\n this.selectedIndex = 1;\n } else if (this.event.showStory && this.event.showSilentAuction && this.linkLotID) {\n this.selectedIndex = 1;\n } else {\n this.selectedIndex = 0;\n }\n }\n}\n","import { KeyValue } from '@angular/common';\nimport { Component, OnInit, ViewEncapsulation, Inject } from '@angular/core';\nimport { MatBottomSheetRef, MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { TicketSelection, TicketPurchaseService } from 'src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/ticket-purchase.service';\nimport { TicketTypeSummary } from 'src/app/services/ticket-client.service';\nimport { StateService } from '../../services/state.service';\n\nexport class BottomSheetData {\n showTotal: boolean;\n}\n\n@Component({\n selector: 'app-order-summary-bottom-sheet-content',\n templateUrl: './order-summary-bottom-sheet-content.component.html',\n styleUrls: ['./order-summary-bottom-sheet-content.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderSummaryBottomSheetContentComponent implements OnInit {\n\n ticketSelections: Map;\n ticketTypeOrderIDs: string[];\n groupAndIndividualAvailable: boolean;\n\n constructor(\n private bottomSheetRef: MatBottomSheetRef,\n private ticketPurchaseService: TicketPurchaseService,\n private stateService: StateService,\n @Inject(MAT_BOTTOM_SHEET_DATA) public data: BottomSheetData,\n ) { }\n\n ngOnInit(): void {\n forkJoin({\n types: this.ticketPurchaseService.ticketTypes.pipe(take(1)),\n event: this.stateService.event.pipe(take(1)),\n }).subscribe((out) => {\n this.ticketTypeOrderIDs = out.event.ticketTypeOrderIDs;\n this.groupAndIndividualAvailable = out.types.some((type) => type.quantityPerGroup > 1)\n && out.types.some((type) => type.quantityPerGroup === 1);\n });\n\n this.ticketSelections = this.ticketPurchaseService.ticketSelections;\n }\n\n getSubtotal(): number {\n return this.ticketPurchaseService.getSubtotal();\n }\n\n getFees(): number {\n return this.ticketPurchaseService.getFees();\n }\n\n getTotal(): number {\n return this.ticketPurchaseService.getTotal();\n }\n\n getSelectionPrice(selection: TicketSelection): number {\n return this.ticketPurchaseService.getSelectionPrice(selection);\n }\n\n getTotalTickets(): number {\n return this.ticketPurchaseService.getTotalTickets();\n }\n\n getGroupTickets(): Map {\n return this.ticketPurchaseService.getGroupTickets();\n }\n\n getIndividualTickets(): Map {\n return this.ticketPurchaseService.getIndividualTickets();\n }\n\n dismiss(): void {\n this.bottomSheetRef.dismiss();\n }\n\n // keyvalue pipe sort function\n // - this allows the values to be sorted in their original order within the map object\n orderByTicketTypeID = (a: KeyValue, b: KeyValue): number => {\n return this.ticketTypeOrderIDs.indexOf(a.key) - this.ticketTypeOrderIDs.indexOf(b.key);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-order-summary-checkout',\n templateUrl: './order-summary-checkout.component.html',\n styleUrls: ['./order-summary-checkout.component.scss']\n})\nexport class OrderSummaryCheckoutComponent implements OnInit {\n\n @Input() subtotal = 0;\n @Input() coverCosts = 0;\n @Input() showCoverCosts: boolean;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation, Input } from '@angular/core';\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TicketSelection, TicketPurchaseService } from 'src/app/lazy-modules/virtual-event/components/ticket-purchase-dialog/ticket-purchase.service';\n// tslint:disable-next-line: max-line-length\nimport { OrderSummaryBottomSheetContentComponent } from '../order-summary-bottom-sheet-content/order-summary-bottom-sheet-content.component';\n\n@Component({\n selector: 'app-order-summary-footer',\n templateUrl: './order-summary-footer.component.html',\n styleUrls: ['./order-summary-footer.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderSummaryFooterComponent implements OnInit, OnDestroy {\n @Input() showTotal = false;\n\n ticketSelections: Map;\n quantity$ = new BehaviorSubject(null);\n unsubscribe$ = new Subject();\n\n constructor(\n private bottomSheet: MatBottomSheet,\n private ticketPurchaseService: TicketPurchaseService\n ) { }\n\n ngOnInit(): void {\n this.ticketSelections = this.ticketPurchaseService.ticketSelections;\n this.ticketPurchaseService.ticketSelectionsQuantity\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((quantity: number) => this.quantity$.next(quantity));\n }\n\n ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n openBottomSheet(): void {\n this.bottomSheet.open(OrderSummaryBottomSheetContentComponent, { data: { showTotal: this.showTotal } });\n }\n\n getTotal(): number {\n return this.showTotal ? this.ticketPurchaseService.getTotal() : this.ticketPurchaseService.getSubtotal();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport {\n CurrentUserService,\n FilterComparator,\n FilterParameterV3,\n PagingInputV3,\n PhaasStyling,\n Profile,\n} from '@onecause/core';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport { TicketClientService } from 'src/app/services/ticket-client.service';\nimport { ReadOverlayOutput, VirtualEvent, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { RightDrawerContentService } from '../right-drawer-content/right-drawer-content.service';\n\n@Component({\n selector: 'app-page-header',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PageHeaderComponent implements OnInit, OnDestroy {\n showProgressBar: boolean;\n showShoppingCart: boolean;\n hasIncompleteTickets: boolean;\n\n event: VirtualEvent;\n hideProgressBarDuringAuction: boolean;\n useLightTheme: boolean;\n\n showBuyTicketsButton = false;\n newEventExperienceShowBuyTickets$: Observable;\n\n private destruction$ = new Subject();\n\n profile: Profile;\n\n constructor(\n private currentUser: CurrentUserService,\n private state: StateService,\n private events: EventsService,\n private ticketClient: TicketClientService,\n private rightDrawerService: RightDrawerContentService,\n private veClient: VirtualEventClientService,\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.loadProfile();\n\n this.setProgressBarTheme();\n this.subscribeToEvents();\n this.getBuyTicketsButtonDisplay();\n this.checkForIncompleteTickets();\n\n this.newEventExperienceShowBuyTickets$ = this.state.showPurchaseTickets;\n\n this.rightDrawerService.drawerClosed$.pipe(takeUntil(this.destruction$)).subscribe(() => {\n this.checkForIncompleteTickets();\n });\n });\n }\n\n ngOnDestroy() {\n this.destruction$.next();\n this.destruction$.complete();\n }\n\n private loadProfile() {\n this.currentUser.getProfile('flow/ve/userProfile::load').subscribe({\n next: (profile) => {\n this.profile = profile;\n },\n error: () => {\n this.profile = null;\n },\n });\n }\n\n private setProgressBarTheme() {\n this.useLightTheme = PhaasStyling.getContrastingTextColor(this.event.themePrimaryColor) === 'white';\n }\n\n private subscribeToEvents(): void {\n this.state.currentOverlay.pipe(\n takeUntil(this.destruction$)\n ).subscribe((overlay: ReadOverlayOutput) => {\n this.hideProgressBarDuringAuction = overlay?.type === 'Auction';\n });\n\n this.events.userLoggedIn.pipe(\n takeUntil(this.destruction$)\n ).subscribe(_ => {\n this.loadProfile();\n });\n\n this.events.userLoggedOut.pipe(\n takeUntil(this.destruction$)\n ).subscribe(_ => {\n this.profile = null;\n this.showProgressBar = false;\n this.showShoppingCart = false;\n });\n\n this.events.headerContentsChangeRequested.pipe(\n takeUntil(this.destruction$)\n ).subscribe(\n (contents) => {\n this.showProgressBar = contents.progress;\n this.showShoppingCart = contents.cart;\n }\n );\n }\n\n private getBuyTicketsButtonDisplay() {\n this.ticketClient.listTicketTypes({\n organizationID: this.event.organizationID,\n source: this.event.id,\n paging: new PagingInputV3().Filter(new FilterParameterV3('active', FilterComparator.Equal, true))\n }).subscribe((out) => {\n this.showBuyTicketsButton = this.event.enableTicketing && !!out.items.length;\n });\n }\n\n private checkForIncompleteTickets() {\n combineLatest([\n this.state.eventSession.pipe(take(1)),\n this.currentUser.isLoggedIn().pipe(filter((isLoggedIn) => isLoggedIn), take(1)),\n ]).subscribe(([eventSession]) => {\n this.veClient.listMyIncompleteGuestSessionIDs({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n eventSessionID: eventSession.id,\n }).subscribe((incompleteTickets) => {\n this.hasIncompleteTickets = incompleteTickets.incompleteGuestSessionIDs && incompleteTickets.incompleteGuestSessionIDs.length > 0;\n });\n });\n }\n\n openCart() {\n this.events.raiseOpenCartSidenav();\n }\n\n openSelectTickets() {\n this.events.raiseOpenTicketSelectSidenav();\n }\n\n openTicketManager() {\n this.rightDrawerService.openTicketManager();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AuctionService } from 'src/app/lazy-modules/virtual-event/services/auction.service';\nimport {\n BiddingClosedPayload,\n BiddingOpenPayload,\n BiddingPausedPayload,\n BidReceivedPayload,\n ProxyBidderAddedPayload,\n ProxyBidderRemovedPayload,\n WebSocketService\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { Lot } from 'src/app/services/inventory-client.service';\nimport { ReadMyRegistrationOutput } from 'src/app/services/virtual-event-client.service';\nimport { AuctionStateService } from '../../../services/auction-state.service';\nimport { BuyItemsService } from '../../../services/buy-items.service';\nimport { StateService } from '../../../services/state.service';\nimport { VirtualEventService } from '../../../services/virtual-event.service';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../../credit-card-dialog/credit-card-dialog.component';\n\n@Component({\n selector: 'app-auction',\n templateUrl: './auction.component.html',\n styleUrls: ['./auction.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuctionComponent implements OnInit, OnDestroy {\n\n activeLot: Observable;\n nextLot: Observable;\n\n imageURLs: Observable;\n registeredUser: ReadMyRegistrationOutput;\n\n isMobile = false;\n bidValueCents: number;\n customBid: boolean;\n showConfirmBid = false;\n placingBid = false;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private auctionState: AuctionStateService,\n public auction: AuctionService,\n private websocketService: WebSocketService,\n private virtualEventService: VirtualEventService,\n private state: StateService,\n private dialog: MatDialog,\n private buyItemsService: BuyItemsService,\n ) { }\n\n ngOnInit(): void {\n this.state.registration\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((registration: ReadMyRegistrationOutput) => this.registeredUser = registration);\n this.isMobile = this.virtualEventService.isMobile();\n this.activeLot = this.auctionState.activeLot;\n this.imageURLs = this.auctionState.activeLotPhotoURLs;\n this.nextLot = this.auctionState.nextLot;\n this.subscribeToEvents();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToEvents(): void {\n // opened connection in auction-overlay component\n this.auctionState.activeLot\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((lot: Lot) => { // triggered by state so the lot change animation works properly\n this.auction.onActiveLotChanges(lot);\n this.resetBidValue();\n });\n this.websocketService.liveAuctionBiddingOpened\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingOpen: BiddingOpenPayload) => {\n this.auction.onBiddingOpened(biddingOpen);\n });\n this.websocketService.liveAuctionBidReceived\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((bidReceived: BidReceivedPayload) => {\n this.auction.onBidReceived(bidReceived);\n if (this.auction.isActiveLot(bidReceived.lotID) && !this.customBid && !this.showConfirmBid) {\n this.resetBidValue();\n }\n });\n this.websocketService.liveAuctionBiddingPaused\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingPaused: BiddingPausedPayload) => {\n if (this.auction.isActiveLot(biddingPaused.lotID)) {\n this.auction.onBiddingPaused(biddingPaused);\n }\n });\n this.websocketService.liveAuctionBiddingClosed\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingClosed: BiddingClosedPayload) => {\n this.auction.onBiddingClosed(biddingClosed);\n });\n this.websocketService.proxyBidderAdded.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ProxyBidderAddedPayload) => {\n if (payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID) {\n this.auction.proxyBidderUpdated();\n }\n });\n this.websocketService.proxyBidderRemoved.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ProxyBidderRemovedPayload) => {\n if (\n payload.proxyUserID && payload.proxyUserID === this.registeredUser?.userID &&\n this.registeredUser.biddingAsUserID &&\n payload.userID === this.registeredUser?.biddingAsUserID\n ) {\n this.auction.proxyBidderUpdated();\n }\n });\n }\n\n private resetBidValue(): void {\n this.bidValueCents = this.auction.getMinimumBid();\n }\n\n onBidClicked(): void {\n this.showConfirmBid = true;\n }\n\n onBidCancelled(): void {\n this.showConfirmBid = false;\n }\n\n onBidValueDecreased(): void {\n if (!this.auction.isBiddingPaused()) {\n this.bidValueCents = this.auction.decreaseBidValue(this.bidValueCents);\n if (this.auction.isMinimumBid(this.bidValueCents)) {\n this.customBid = false;\n }\n }\n }\n\n onBidValueIncreased(): void {\n if (!this.auction.isBiddingPaused()) {\n this.bidValueCents = this.auction.increaseBidValue(this.bidValueCents);\n this.customBid = true;\n }\n }\n\n onBidPlaced(): void {\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile) {\n this.dialog.open(CreditCardDialogComponent).afterClosed()\n .subscribe((out: CreditCardDialogOutput) => {\n out.addedCard ? this.submitBid() : this.resetBiddingButtons();\n });\n }\n else if (this.auction.isOutbid(this.bidValueCents)) {\n this.auction.showOutbidMessage();\n this.resetBiddingButtons();\n }\n else {\n this.submitBid();\n }\n });\n }\n\n private submitBid() {\n this.placingBid = true;\n\n this.auction.submitBid('live', this.bidValueCents).subscribe(_ => {\n if (this.auction.isActiveProxyBidder()) {\n this.auction.currentLeaderUserID = this.registeredUser.biddingAsUserID;\n } else {\n this.auction.currentLeaderUserID = this.registeredUser.userID;\n }\n\n this.resetBiddingButtons();\n }, (e => {\n this.auction.showError(e);\n this.resetBiddingButtons();\n }));\n }\n\n private resetBiddingButtons(): void {\n this.showConfirmBid = false;\n this.placingBid = false;\n this.customBid = false;\n if (this.auction.isOutbid(this.bidValueCents)) {\n this.resetBidValue();\n }\n }\n\n getBidderName(): string {\n if (this.registeredUser.biddingAsFirstName !== '') {\n return `${this.registeredUser?.biddingAsFirstName} ${this.registeredUser?.biddingAsLastName}`;\n } else {\n return `${this.registeredUser?.firstName} ${this.registeredUser?.lastName}`;\n }\n }\n}\n","import { Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport {\n ReadDonationMomentInput,\n ReadDonationMomentOutput,\n ReadOverlayOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport { BuyItemsService } from '../../services/buy-items.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\nimport { AmbassadorSearchComponent } from '../ambassador-search/ambassador-search.component';\nimport { DonationOverlayConfig } from '../show/overlay/donate-overlay/donation-panel/donation-panel.component';\n\n/**\n * Indicates the type of content that the panel should show.\n */\nexport enum PanelDisplayMode {\n EventDescription = 'eventDescription',\n Donate = 'donate',\n Auction = 'auction',\n}\n\n/**\n * A panel that displays different content depending on the current state of the\n * virtual event.\n */\n@Component({\n selector: 'app-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelComponent implements OnInit, OnDestroy {\n @Output() displayMode = new EventEmitter();\n event: VirtualEvent;\n formattedDate: string;\n formattedTime: string;\n currentOverlay: ReadOverlayOutput;\n // Donation properties\n donationAmountControl: FormControl;\n presetDonationAmounts: number[] = [];\n presetRecurringDonationAmounts: number[] = [];\n donateConfig: DonationOverlayConfig;\n isRecurringDonation: boolean;\n isAnonymous: boolean;\n // Ambassador search\n @ViewChild('ambassadorSearch') ambassadorSearch: AmbassadorSearchComponent;\n // Auction properties\n submitting: boolean;\n private privateDisplayMode: PanelDisplayMode;\n private destroyTriggered = new Subject();\n\n constructor(\n private formBuilder: FormBuilder,\n private events: EventsService,\n private state: StateService,\n private buyItemsService: BuyItemsService,\n private virtualEventService: VirtualEventService,\n private virtualEventClientService: VirtualEventClientService,\n ) { }\n\n ngOnInit(): void {\n this.isRecurringDonation = false;\n\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.formattedDate = this.virtualEventService.getFormattedEventDate(event.primaryDate, event.primaryEndDate);\n this.formattedTime = this.virtualEventService.getFormattedEventTime(event.primaryDate, event.primaryEndDate);\n\n this.donationAmountControl = this.formBuilder.control(0, [Validators.pattern('\\\\d+(\\\\.\\\\d{1,2})?'), Validators.min(1)]);\n if (event.donationSuggestedAmountsCents) {\n this.presetDonationAmounts = event.donationSuggestedAmountsCents.map((cents: number) => cents / 100);\n }\n if (event.recurringDonationSuggestedAmountsCents) {\n this.presetRecurringDonationAmounts = event.recurringDonationSuggestedAmountsCents.map((cents: number) => cents / 100);\n }\n\n this.setDisplayMode(PanelDisplayMode.EventDescription);\n this.subscribeToEvents();\n });\n\n this.state.currentOverlay.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((overlay: ReadOverlayOutput) => {\n this.resetInfoBox();\n this.currentOverlay = overlay;\n if (this.currentOverlay?.type === 'Auction') {\n this.setDisplayMode(PanelDisplayMode.Auction);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToEvents(): void {\n this.events.overlayDonateButtonClicked.subscribe(() => this.onOverlayButtonClicked());\n }\n\n /**\n * Return true if the panel is in donation display mode and false otherwise.\n */\n get shouldShowDonate(): boolean {\n return this.privateDisplayMode === PanelDisplayMode.Donate;\n }\n\n /**\n * Return true if the panel is in auction display mode and false otherwise.\n */\n get shouldShowAuction(): boolean {\n return this.privateDisplayMode === PanelDisplayMode.Auction;\n }\n\n /**\n * Return true if the panel is in event description display mode and false\n * otherwise.\n */\n get shouldShowDescription(): boolean {\n return this.privateDisplayMode === PanelDisplayMode.EventDescription;\n }\n\n /**\n * Handle an overlay button click by getting preset donation amounts from the\n * overlay if an overlay exists and showing the donation form.\n */\n onOverlayButtonClicked(): void {\n if (this.currentOverlay) {\n this.donateConfig = JSON.parse(this.currentOverlay.config);\n this.virtualEventClientService.readDonationMoment(\n {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n id: this.donateConfig.donationMomentID,\n } as ReadDonationMomentInput)\n .subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.presetDonationAmounts = donationMoment.donationLevelsAmountCents.map((cents: number) => cents / 100);\n });\n }\n this.setDisplayMode(PanelDisplayMode.Donate);\n }\n\n /**\n * Set the value of the donation amount control.\n */\n setDonationValue(donationAmountCents: number): void {\n this.donationAmountControl.setValue(donationAmountCents);\n this.donationAmountControl.markAsTouched();\n }\n\n /**\n * Set if the donation is recurring.\n */\n setIsRecurringDonation(isRecurring: boolean): void {\n this.isRecurringDonation = isRecurring;\n }\n\n /**\n * Set if the donation is anonymous.\n */\n setIsAnonymous(isAnonymous: boolean): void {\n this.isAnonymous = isAnonymous;\n }\n\n /**\n * Submit the donation entered in the donation amount control.\n */\n donate(): void {\n if (this.donationAmountControl.invalid) {\n this.donationAmountControl.markAsTouched();\n return;\n }\n\n this.submitting = true;\n\n this.buyItemsService.buyDonation(\n this.donationAmountControl.value,\n this.isAnonymous,\n this.isRecurringDonation,\n this.ambassadorSearch?.selectedAmbassador\n ).subscribe(() => {\n this.submitting = false;\n this.resetInfoBox();\n }, (_ => {\n this.submitting = false;\n }));\n }\n\n /**\n * Show the event description display mode and reset the donation control.\n */\n resetInfoBox(): void {\n this.setDisplayMode(PanelDisplayMode.EventDescription);\n this.donationAmountControl.markAsUntouched();\n this.donationAmountControl.setErrors({ min: true });\n this.presetDonationAmounts = this.event.donationSuggestedAmountsCents.map((cents: number) => cents / 100);\n this.presetRecurringDonationAmounts = this.event.recurringDonationSuggestedAmountsCents.map((cents: number) => cents / 100);\n this.isRecurringDonation = false;\n this.isAnonymous = false;\n }\n\n /**\n * Update the display mode and emit the new mode as an output.\n */\n setDisplayMode(state: PanelDisplayMode) {\n this.privateDisplayMode = state;\n this.displayMode.emit(this.privateDisplayMode);\n }\n}\n","import { ItemDetails } from './../../../../services/virtual-event-client.service';\nimport { Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ViewAllocationsSummary } from 'src/app/services/inventory-client.service';\nimport { SupporterPurchasedItemSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-pickup-item',\n templateUrl: './pickup-item.component.html',\n styleUrls: ['./pickup-item.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PickupItemComponent implements OnInit, OnDestroy {\n @Input() item: SupporterPurchasedItemSummary;\n @Input() showToggle: boolean;\n @Input() userIsInPerson: boolean;\n\n event: VirtualEvent;\n auctionLotBtns: AuctionLotItemPreferences;\n\n private destroyTriggered$ = new Subject();\n itemDetails: ItemDetails;\n\n constructor(\n private state: StateService\n ) { }\n\n ngOnInit(): void {\n if (this.item.purchaseItemType === 'vevt-fixed-price'){\n this.itemDetails = JSON.parse(this.item.itemDetails);\n }\n if (this.showToggle) {\n this.state.event.pipe(takeUntil(this.destroyTriggered$)).subscribe((event) => {\n this.event = event;\n this.auctionLotBtns = this.lotItemsPreferences();\n switch (this.item.purchaseItemType) {\n case 'vevt-auction-lot':\n this.setPreferenceForLotItem();\n break;\n case 'vevt-fixed-price':\n this.setPreferenceForFixedPriceItem();\n break;\n default:\n break;\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyTriggered$.next();\n this.destroyTriggered$.complete();\n }\n\n\n hasMultipleAuctionItems(): boolean {\n if (this.item.purchaseItemType === 'vevt-auction-lot'\n && this.item.lotItems\n && this.item.lotItems.length > 1) {\n return true;\n }\n\n return false;\n }\n\n showPickupTonightBtn(): boolean {\n if (this.userIsInPerson) {\n\n if (this.item.purchaseItemType === 'vevt-fixed-price'\n && this.hasPickUpTonight()) {\n return true;\n }\n\n // pick up preference not set at item level, but is set on event\n if (this.item.purchaseItemType === 'vevt-fixed-price'\n && this.hasEventLevelDefaults(this.item)\n && this.event.allowPickupTonight) {\n return true;\n }\n\n if (this.item.purchaseItemType === 'vevt-auction-lot'\n && (this.auctionLotBtns === AuctionLotItemPreferences.Both\n || this.auctionLotBtns === AuctionLotItemPreferences.OnlyTonight)) {\n return true;\n }\n }\n return false;\n }\n\n showPickupLaterBtn(): boolean {\n if (this.item.purchaseItemType === 'vevt-fixed-price'\n && this.hasPickUpLater()) {\n return true;\n }\n\n // pick up preference not set at item level, but is set on event\n if (this.item.purchaseItemType === 'vevt-fixed-price'\n && this.hasEventLevelDefaults(this.item)\n && this.event.allowPickupLater) {\n return true;\n }\n\n if (this.item.purchaseItemType === 'vevt-auction-lot'\n && (this.auctionLotBtns === AuctionLotItemPreferences.Both\n || this.auctionLotBtns === AuctionLotItemPreferences.OnlyLater)) {\n return true;\n }\n\n // pick up preference not set on any lot items, but is set on event\n if (this.item.purchaseItemType === 'vevt-auction-lot'\n && this.auctionLotBtns === AuctionLotItemPreferences.None\n && this.event.allowPickupLater) {\n return true;\n }\n\n return false;\n }\n\n hasPhoto() {\n return this.item.purchaseItemType === 'vevt-auction-lot' ? !!this.item.auctionLotPhotoURL : !!this.item.fixedPriceItemPhotoURL;\n }\n\n showLaterOnlyLabel(item: ViewAllocationsSummary): boolean {\n if (this.auctionLotBtns === AuctionLotItemPreferences.Both\n && this.hasPickUpLater(item) && !this.hasPickUpTonight(item)) {\n return true;\n }\n\n return false;\n }\n\n private hasPickUpTonight(item: ViewAllocationsSummary = null): boolean {\n if (item !== null) {\n return (item.isPickUpTonight && !item.isPickUpEventLevel) || (item.isPickUpEventLevel && this.event.allowPickupTonight);\n } else {\n return (this.item.isPickupTonight && !this.item.isPickUpEventLevel) || (this.item.isPickUpEventLevel && this.event.allowPickupLater);\n }\n }\n\n private hasPickUpLater(item: ViewAllocationsSummary = null): boolean {\n if (item !== null) {\n return (item.isPickUpLater && !item.isPickUpEventLevel) || (item.isPickUpEventLevel && this.event.allowPickupLater);\n } else {\n return (this.item.isPickupLater && !this.item.isPickUpEventLevel) || (this.item.isPickUpEventLevel && this.event.allowPickupLater);\n }\n }\n\n private hasEventLevelDefaults(item: SupporterPurchasedItemSummary): boolean {\n return (item.isPickUpEventLevel ||\n (!item.isPickupTonight && !item.isPickupLater));\n }\n\n private lotItemsPreferences(): AuctionLotItemPreferences {\n if (this.item.purchaseItemType === 'vevt-fixed-price') {\n return AuctionLotItemPreferences.None;\n }\n\n let hasNoPreferenceItem = false;\n let hasLater = false;\n let hasTonight = false;\n let hasEventLevelDefault = false;\n const pickUpTonight = this.item.lotItems.map((item: ViewAllocationsSummary) => item.isPickUpTonight);\n const pickUpLater = this.item.lotItems.map((item: ViewAllocationsSummary) => item.isPickUpLater);\n const pickUpEventLevel = this.item.lotItems.map((item: ViewAllocationsSummary) => item.isPickUpEventLevel);\n const pickUpNoPreferenceItem = this.item.lotItems.map((item: ViewAllocationsSummary) => !item.isPickUpTonight && !item.isPickUpLater);\n\n // mark a preference as true if at least one lotItem is marked as true.\n if (this.userIsInPerson && pickUpTonight.indexOf(true) > -1) {\n hasTonight = true;\n }\n if (pickUpLater.indexOf(true) > -1) {\n hasLater = true;\n }\n if (pickUpNoPreferenceItem.indexOf(true) > -1) {\n hasNoPreferenceItem = true;\n }\n if (pickUpEventLevel.indexOf(true) > -1) {\n hasEventLevelDefault = true;\n }\n\n // Set if either items of both types are found on the item,\n // or a combination of what is on the item and what is set at the event level\n if ((hasEventLevelDefault && this.userIsInPerson && this.event.allowPickupTonight && this.event.allowPickupLater)\n || (hasLater && hasTonight)\n || (!hasTonight && !hasLater && this.userIsInPerson && this.event.allowPickupTonight && this.event.allowPickupLater)\n || (this.userIsInPerson && hasLater && hasNoPreferenceItem && this.event.allowPickupTonight)\n || (hasTonight && hasNoPreferenceItem && this.event.allowPickupLater)) {\n return AuctionLotItemPreferences.Both;\n } else if ((hasEventLevelDefault && this.userIsInPerson && this.event.allowPickupTonight)\n || hasTonight\n || (hasNoPreferenceItem && this.userIsInPerson && this.event.allowPickupTonight)) {\n return AuctionLotItemPreferences.OnlyTonight;\n } else if ((hasEventLevelDefault && this.event.allowPickupLater)\n || hasLater\n || (hasNoPreferenceItem && this.event.allowPickupLater)) {\n return AuctionLotItemPreferences.OnlyLater;\n } else {\n return AuctionLotItemPreferences.None;\n }\n }\n\n private setPreferenceForLotItem() {\n switch (this.auctionLotBtns) {\n case AuctionLotItemPreferences.Both:\n case AuctionLotItemPreferences.OnlyTonight:\n this.item.pickupPreference = 'tonight';\n break;\n case AuctionLotItemPreferences.OnlyLater:\n this.item.pickupPreference = 'later';\n break;\n default:\n break;\n }\n }\n\n private setPreferenceForFixedPriceItem() {\n if (this.userIsInPerson && this.event.allowPickupTonight) {\n this.item.pickupPreference = 'tonight';\n } else if (this.event.allowPickupLater) {\n this.item.pickupPreference = 'later';\n } else {\n // do not set preference\n }\n\n // Item-level preferences override event-level\n if (this.userIsInPerson && this.item.isPickupTonight) {\n this.item.pickupPreference = 'tonight';\n } else if (this.item.isPickupLater) {\n this.item.pickupPreference = 'later';\n } else {\n // do not set preference\n }\n }\n}\n\nexport enum ItemType {\n AuctionLot = 'vevt-auction-lot',\n FixedPrice = 'vevt-fixed-price',\n}\n\nexport enum AuctionLotItemPreferences {\n None = 'no-preference',\n Both = 'both',\n OnlyTonight = 'tonight',\n OnlyLater = 'later',\n}\n","import { Component, EventEmitter, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n GetSelectedPickupTimeSlotsInput,\n GetSelectedPickupTimeSlotsOutput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\nexport class PickupWindow {\n openTime: Date;\n closeTime: Date;\n selectedCount: number;\n}\n@Component({\n selector: 'app-pickup-window-selector',\n templateUrl: './pickup-window-selector.component.html',\n styleUrls: ['./pickup-window-selector.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PickupWindowSelectorComponent implements OnInit {\n @Output() selectTimeframe = new EventEmitter();\n\n event: VirtualEvent;\n registration: ReadMyRegistrationOutput;\n\n pickupOpenTime: Date;\n pickupCloseTime: Date;\n isValidPickupTime = false;\n\n timeSlots: PickupWindow[];\n selectedTimeslots = {};\n\n pickupWindowSelectorForm: FormGroup;\n formLoaded = false;\n\n private destroyTriggered$ = new Subject();\n\n constructor(\n private state: StateService,\n private fb: FormBuilder,\n private virtualEventClient: VirtualEventClientService\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(takeUntil(this.destroyTriggered$)).subscribe(event => {\n this.event = event;\n this.setIsValidPickupTime();\n this.createPickupWindows();\n });\n }\n\n ngOnDestroy() {\n this.destroyTriggered$.next();\n this.destroyTriggered$.complete();\n }\n\n createPickupWindows() {\n if (this.isValidPickupTime) {\n this.virtualEventClient.getSelectedPickupTimeSlots({\n organizationID: this.event.organizationID,\n eventID: this.event.id\n } as GetSelectedPickupTimeSlotsInput).subscribe({\n next: (out: GetSelectedPickupTimeSlotsOutput) => {\n this.createTimeSlotMap(out);\n this.createCheckoutTimeslots();\n this.initializeForm();\n },\n error: _ => {\n this.selectedTimeslots = {};\n this.createCheckoutTimeslots();\n this.initializeForm();\n },\n });\n }\n }\n\n private createTimeSlotMap(timeSlots: GetSelectedPickupTimeSlotsOutput): void {\n const timeSlotMap = {};\n if (timeSlots.selectedPickupTimeSlots && timeSlots.selectedPickupTimeSlots.length > 0) {\n timeSlots.selectedPickupTimeSlots.forEach((slot) => {\n timeSlotMap[slot.pickupTimeSlot] = slot.selectedPickupTimeSlotCount;\n });\n }\n this.selectedTimeslots = timeSlotMap;\n }\n\n private setIsValidPickupTime(): void {\n if (this.event.allowPickupTonight\n && this.event.isPickupWindowScheduled\n && !!this.event.pickupOpenTime\n && !!this.event.pickupCloseTime\n && new Date(this.event.pickupCloseTime).getTime() > Date.now()) {\n this.isValidPickupTime = true;\n }\n }\n\n private initializeForm() {\n this.pickupWindowSelectorForm = this.fb.group({\n selectedTimeSlot: [null, [Validators.required]],\n });\n\n // listen for form changes and emit value to parent component\n this.pickupWindowSelectorForm.valueChanges\n .pipe(takeUntil(this.destroyTriggered$))\n .subscribe(() => {\n this.selectTimeframe.emit(this.pickupWindowSelectorForm.get('selectedTimeSlot').value);\n });\n\n this.formLoaded = true;\n }\n\n private createCheckoutTimeslots() {\n if (!this.isValidPickupTime) {\n return;\n }\n\n const newTimeSlots = [];\n const pickupCloseTime = new Date(this.event.pickupCloseTime);\n const currentTime = new Date();\n\n for (let i = new Date(this.event.pickupOpenTime); i.getTime() < pickupCloseTime.getTime(); i = new Date(i.getTime() + 15 * 60000)) {\n if (i.getTime() > currentTime.getTime()) {\n const isoString = i.toISOString().split('.')[0] + 'Z';\n newTimeSlots.push({\n openTime: i,\n closeTime: new Date(i.getTime() + 15 * 60000),\n selectedCount: this.selectedTimeslots[isoString] ? this.selectedTimeslots[isoString] : 0\n } as PickupWindow);\n }\n }\n this.timeSlots = newTimeSlots;\n }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil, throttleTime } from 'rxjs/operators';\nimport {\n EventDonationTotalsUpdatedPayload,\n WebSocketService\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport { SecondaryColorService } from 'src/app/services/secondary-color.service';\nimport {\n ReadEventInput,\n ReadEventOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ProgressBarComponent implements OnInit, OnDestroy {\n\n @Input() useLightTheme: boolean;\n\n event: VirtualEvent;\n raisedAmount: number;\n goalAmount: number;\n progressPercentage: number;\n maxProgressRefreshRateMs = 500;\n\n destroy$ = new Subject();\n\n constructor(\n private secondaryColorService: SecondaryColorService,\n private websocketService: WebSocketService,\n private virtualEventService: VirtualEventClientService,\n private state: StateService,\n private featureFlagService: FeatureFlagService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.secondaryColorService.loadSecondaryColorStylesheet(this.event.themeSecondaryColor);\n this.updateProgress(this.event.thermometerProceeds);\n\n this.subscribeToWebsocketEvents();\n });\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.eventDonationTotalsUpdated.pipe(\n takeUntil(this.destroy$),\n ).subscribe((payload: EventDonationTotalsUpdatedPayload) => {\n this.updateProgress(payload.thermometerProceeds);\n });\n\n this.websocketService.eventConfigChanged.pipe(\n takeUntil(this.destroy$),\n throttleTime(this.maxProgressRefreshRateMs)\n ).subscribe(() => {\n this.refreshEvent();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n private refreshEvent() {\n this.virtualEventService.readEvent({\n organizationID: this.event.organizationID,\n eventID: this.event.id\n } as ReadEventInput)\n .pipe(take(1))\n .subscribe((event: ReadEventOutput) => {\n this.state.setEvent(event);\n this.setShowPurchaseTickets(event);\n this.event = event;\n this.updateProgress(event.thermometerProceeds);\n });\n }\n\n private setShowPurchaseTickets(event: ReadEventOutput) {\n this.featureFlagService.featureFlags.subscribe(ff => {\n if (ff.some(flag => flag.featureName === 'new-create-event-experience')) {\n if (new Date().setHours(0, 0, 0, 0) >= new Date(event.primaryEndDate).setHours(0, 0, 0, 0)) {\n this.state.setShowPurchaseTickets(false);\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n });\n }\n\n private updateProgress(totalRaisedCents: number): void {\n this.raisedAmount = totalRaisedCents / 100;\n this.goalAmount = this.event.goalTotalDonationsAmountCents / 100;\n this.progressPercentage = Math.min(100, Math.floor(100 * this.raisedAmount / this.goalAmount));\n }\n}\n","import { Component, Input, Output, EventEmitter, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { EventsService } from '../../services/events.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\n\nexport class PurchaseNotificationComponentData {\n message: string;\n actionText: string;\n duration: number;\n icon: string;\n}\n\n@Component({\n selector: 'app-purchase-notification',\n templateUrl: './purchase-notification.component.html',\n styleUrls: ['./purchase-notification.component.scss'],\n})\nexport class PurchaseNotificationComponent implements OnInit {\n @Input() data: PurchaseNotificationComponentData;\n @Output() afterClose = new EventEmitter();\n @ViewChild('purchaseNotificationContainer') host: ElementRef;\n\n completedWithAction: boolean;\n\n constructor(\n private events: EventsService,\n ) { }\n\n ngOnInit() {\n this.completedWithAction = false;\n\n this.events.openCartSidenav.subscribe(() => {\n this.close();\n });\n\n setTimeout(() => {\n this.close();\n }, this.data.duration || 5000);\n }\n\n animationDone(event: AnimationEvent) {\n if (event.animationName === 'snackbarOut') {\n if (this.completedWithAction) {\n this.events.raiseOpenCartSidenav();\n }\n this.afterClose.emit();\n }\n }\n\n close() {\n this.host.nativeElement.style.animation = 'snackbarOut 0.3s';\n }\n\n onAction() {\n this.completedWithAction = true;\n this.close();\n }\n}\n","import { formatDate } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation, OnChanges } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { CoreCurrencyPipe } from '@onecause/core';\nimport { NumbersOnlyFormatter } from 'lib';\n\nimport { PurchaseLevelSummary } from 'src/app/services/raffle-client.service';\nimport { BuyItemsService } from '../../services/buy-items.service';\n\n\nexport class Raffle {\n eventID: string;\n raffleID: string;\n name: string;\n descriptionMarkdown: string;\n bannerImageURL: string;\n startDate: string;\n endDate: string;\n maxTicketsCount: number;\n totalTicketsCount: number;\n displayPurchasedCount: boolean;\n ticketPurchaseLevels: RaffleTicketPurchaseLevel[];\n rulesMarkdown: string;\n}\n\nexport class RaffleTicketPurchaseLevel {\n id: string;\n priceCents: number;\n quantityTickets: number;\n}\n\nexport class QuantityControl {\n id: string;\n control: FormControl;\n}\n\nexport class RaffleOutput {\n raffleID: string;\n raffleName: string;\n selectedTicketPurchaseLevel: RaffleTicketPurchaseLevel;\n selectedQuantity: number;\n\n constructor(\n raffleID?: string,\n raffleName?: string,\n selectedTicketPurchaseLevel?: RaffleTicketPurchaseLevel,\n selectedQuantity?: number\n ) {\n this.raffleID = raffleID;\n this.raffleName = raffleName;\n this.selectedTicketPurchaseLevel = selectedTicketPurchaseLevel;\n this.selectedQuantity = selectedQuantity;\n }\n}\n\nconst descriptionCharacterLimit = 200;\nconst incrementorMax = 99;\n\n@Component({\n selector: 'app-raffle',\n templateUrl: './raffle.component.html',\n styleUrls: ['./raffle.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RaffleComponent implements OnInit {\n\n @Input() raffle: Raffle;\n @Input() totalTicketsCount: number;\n @Input() hasSoldOut: boolean;\n\n purchaseLevels: RaffleTicketPurchaseLevel[];\n showTruncated: boolean;\n\n expandedID: string;\n expandedQuantityControls: QuantityControl[];\n submitting: boolean;\n\n constructor(\n private currencyPipe: CoreCurrencyPipe,\n private buyItemsService: BuyItemsService,\n ) { }\n\n ngOnInit() {\n this.init();\n }\n\n isRaffleInFuture(): boolean {\n const now = new Date();\n const startDate = new Date(this.raffle.startDate);\n return startDate > now;\n }\n\n getRaffleStartTime(): string {\n const startTime = new Date(this.raffle.startDate);\n return `${formatDate(startTime, 'MM/dd/yyyy', 'en-US')} at ${formatDate(startTime, 'h:mm a', 'en-us')}`;\n }\n\n isRaffleInPast(): boolean {\n const now = new Date();\n const endDate = new Date(this.raffle.endDate);\n return endDate < now;\n }\n\n isRaffleOpen(): boolean {\n return !(this.isRaffleInFuture() || this.isRaffleInPast());\n }\n\n shouldTruncateDescription(): boolean {\n if (!this.raffle.descriptionMarkdown) {\n return false;\n }\n\n return this.raffle.descriptionMarkdown.length > descriptionCharacterLimit;\n }\n\n getDescription(): string {\n if (!this.showTruncated) {\n return this.raffle.descriptionMarkdown;\n }\n\n // ensure there's a decent amount of text that shows after expanding\n const end = descriptionCharacterLimit - 50;\n return this.raffle.descriptionMarkdown.substring(0, end) + '...';\n }\n\n toggleDescription(): void {\n this.showTruncated = !this.showTruncated;\n }\n\n confirmHasSoldOut(): boolean {\n // check sold out based on ticket sales and tickets allowed\n if (this.raffle.maxTicketsCount) {\n return this.totalTicketsCount >= this.raffle.maxTicketsCount;\n }\n return false;\n }\n\n ticketsUnavailable(): boolean {\n return !this.isRaffleOpen() || this.hasSoldOut || this.confirmHasSoldOut();\n }\n\n getPurchaseLevelText(purchaseLevel: RaffleTicketPurchaseLevel): string {\n const quantity = purchaseLevel.quantityTickets;\n const label = quantity > 1 ? 'tickets' : 'ticket';\n const price = this.currencyPipe.transform(purchaseLevel.priceCents / 100);\n\n return `${quantity} ${label} for ${price}`;\n }\n\n onPurchaseLevelSelected(purchaseLevel: RaffleTicketPurchaseLevel): void {\n if (!this.isPurchaseLevelExpanded(purchaseLevel) && this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel) > 0) {\n const expandedControl = this.getExpandedQuantityControl(purchaseLevel.id);\n expandedControl.setValue(1);\n\n this.expandedID = purchaseLevel.id;\n }\n }\n\n isPurchaseLevelExpanded(purchaseLevel: RaffleTicketPurchaseLevel): boolean {\n return this.expandedID === purchaseLevel.id;\n }\n\n canDecrease(): boolean {\n if (!this.expandedID) { return false; }\n\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n return expandedControl.value > 1;\n }\n\n decreaseCount(): void {\n if (!this.canDecrease()) {\n return;\n }\n\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const quantity = Number(expandedControl.value);\n expandedControl.setValue(quantity - 1);\n }\n\n canIncrease(): boolean {\n if (!this.expandedID) { return false; }\n\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const purchaseLevel = this.purchaseLevels.find(level => level.id === this.expandedID);\n const totalQuantityAllowed = this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel);\n\n return expandedControl.value < totalQuantityAllowed;\n }\n\n increaseCount(): void {\n if (!this.canIncrease()) {\n return;\n }\n\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n const numberOfTickets = Number(expandedControl.value);\n expandedControl.setValue(numberOfTickets + 1);\n }\n\n getQuantityCalculation(purchaseLevel: RaffleTicketPurchaseLevel): string {\n const expandedControl = this.getExpandedQuantityControl(purchaseLevel.id);\n const incrementorValue = Number(expandedControl.value);\n if (!expandedControl.valid || incrementorValue === 1) {\n return '';\n }\n\n const tickets = purchaseLevel.quantityTickets * incrementorValue;\n const price = this.currencyPipe.transform(purchaseLevel.priceCents * incrementorValue / 100);\n\n return `${tickets} tickets: ${price}`;\n }\n\n getMaxQuantityAllowedForPurchaseLevel(purchaseLevel: RaffleTicketPurchaseLevel): number {\n if (!this.raffle.maxTicketsCount) { return incrementorMax; }\n\n const maxTicketsCurrentlyAvailable = this.raffle.maxTicketsCount - (this.totalTicketsCount || 0);\n const quantityAllowed = Math.floor(maxTicketsCurrentlyAvailable / purchaseLevel.quantityTickets);\n return quantityAllowed < incrementorMax ? quantityAllowed : incrementorMax;\n }\n\n getErrorMessageText(purchaseLevel: RaffleTicketPurchaseLevel): string {\n const expandedControl = this.getExpandedQuantityControl(purchaseLevel.id);\n if (expandedControl.hasError('max')) {\n const totalQuantityAllowed = this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel);\n if (totalQuantityAllowed === incrementorMax) {\n return `Only ${incrementorMax} ticket sets may be purchased at a time.`;\n }\n else {\n return `Only ${totalQuantityAllowed} ticket ${totalQuantityAllowed === 1 ? 'set remains' : 'sets remain'}.`;\n }\n }\n else {\n return 'The selected number is invalid.';\n }\n }\n\n getExpandedQuantityControl(id: string): FormControl {\n if (!id) { return; }\n const selectedControl = this.expandedQuantityControls.find(control => control.id === id);\n return selectedControl.control;\n }\n\n purchase(purchaseLevel: RaffleTicketPurchaseLevel): void {\n if (!this.isValid()) {\n return;\n }\n\n this.submitting = true;\n\n const purchaseLevelControl = this.getExpandedQuantityControl(purchaseLevel.id);\n\n this.buyItemsService.buyRaffleTicket({\n level: {\n raffleID: this.raffle.raffleID,\n id: purchaseLevel.id,\n priceCents: purchaseLevel.priceCents,\n quantityTickets: purchaseLevel.quantityTickets,\n name: this.raffle.name\n } as PurchaseLevelSummary,\n count: Number(purchaseLevelControl.value) || 1,\n }).subscribe(() => {\n this.expandedID = '';\n this.submitting = false;\n }, (err => {\n this.submitting = false;\n }));\n }\n\n isValid(): boolean {\n if (!this.expandedID) { return true; }\n\n const expandedControl = this.getExpandedQuantityControl(this.expandedID);\n return this.expandedID && expandedControl.valid;\n }\n\n private init(): void {\n if (!this.raffle) { this.raffle = new Raffle(); }\n this.showTruncated = this.shouldTruncateDescription();\n\n if (!this.raffle.ticketPurchaseLevels) {\n this.raffle.ticketPurchaseLevels = [];\n }\n\n this.raffle.ticketPurchaseLevels.sort((a, b) => a.quantityTickets > b.quantityTickets ? 1 : -1);\n this.expandedQuantityControls = this.raffle.ticketPurchaseLevels.map(purchaseLevel => {\n const control = new FormControl(1, [\n Validators.required,\n Validators.min(1),\n Validators.max(this.getMaxQuantityAllowedForPurchaseLevel(purchaseLevel)),\n ]);\n NumbersOnlyFormatter.initialize(control);\n return { id: purchaseLevel.id, control: control };\n });\n\n this.purchaseLevels = this.raffle.ticketPurchaseLevels;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { PagingInputV3 } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { pluck, take, takeUntil } from 'rxjs/operators';\nimport { NewDonorPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { VirtualEvent, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-recent-donors',\n templateUrl: './recent-donors.component.html',\n styleUrls: ['./recent-donors.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class RecentDonorsComponent implements OnInit, OnDestroy {\n\n orgID: string;\n eventID: string;\n destroyed$ = new Subject();\n donorNames: string[] = [];\n\n private readonly MAX_LENGTH = 3;\n\n constructor(\n private stateService: StateService,\n private websocketService: WebSocketService,\n private virtualEventService: VirtualEventClientService,\n ) { }\n\n ngOnInit(): void {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.orgID = event.organizationID;\n this.eventID = event.id;\n\n this.getRecentDonors();\n\n this.subscribeToWebsocketEvents();\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.newDonor.pipe(\n takeUntil(this.destroyed$),\n ).subscribe((payload: NewDonorPayload) => {\n this.insertNewDonor(payload.name);\n });\n }\n\n private getRecentDonors(): void {\n this.virtualEventService.viewRecentDonors({\n organizationID: this.orgID,\n eventID: this.eventID,\n paging: new PagingInputV3().Take(this.MAX_LENGTH)\n }).pipe(\n take(1),\n pluck('items')\n ).subscribe(list => {\n if (list !== undefined) {\n this.donorNames = list.map(donor => `${donor.firstName} ${donor.lastName}`);\n }\n });\n }\n\n private insertNewDonor(donorName: string) {\n if (this.donorNames.length >= this.MAX_LENGTH) {\n this.donorNames.pop();\n }\n this.donorNames.unshift(donorName);\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormControl } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { take } from 'rxjs/operators';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { GivingmanagementClientService, UserCard } from 'src/app/services/givingmanagement-client.service';\nimport {\n InitiateRecurringDonationInput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { CreditCardFormData } from 'lib';\n\nexport class RecurringDonationDialogInput {\n amountCents: number;\n isAnonymous: boolean;\n\n constructor(amountCents: number, isAnonymous: boolean) {\n this.amountCents = amountCents;\n this.isAnonymous = isAnonymous;\n }\n}\n\nexport class RecurringDonationDialogOutput {\n recurringDonationCreated: boolean;\n\n constructor(recurringDonationCreated: boolean) {\n this.recurringDonationCreated = recurringDonationCreated;\n }\n}\n\n@Component({\n selector: 'app-recurring-donation-dialog',\n templateUrl: './recurring-donation-dialog.component.html',\n styleUrls: ['./recurring-donation-dialog.component.scss']\n})\nexport class RecurringDonationDialogComponent implements OnInit {\n donationAmountCents: number;\n isAnonymous: boolean;\n\n event: VirtualEvent;\n\n userCard: UserCard;\n useCardOnFile = true;\n newCreditCardFormData: CreditCardFormData;\n\n registration: ReadMyRegistrationOutput;\n\n isCoveringCosts: FormControl;\n coverCostAmountCents = 0;\n\n submitting: boolean;\n\n constructor(\n private dialogRef: MatDialogRef,\n private state: StateService,\n private snackbar: MatSnackBar,\n private givingManagementClient: GivingmanagementClientService,\n private virtualEventClient: VirtualEventClientService,\n @Inject(MAT_DIALOG_DATA) private inputData: RecurringDonationDialogInput\n ) {}\n\n ngOnInit(): void {\n this.donationAmountCents = this.inputData.amountCents;\n this.isAnonymous = this.inputData.isAnonymous;\n\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.isCoveringCosts = new FormControl(event.coverCostDefault);\n });\n\n this.state.registration.subscribe((registration) => {\n this.registration = registration;\n });\n\n this.state.userCard.subscribe((card) => {\n this.userCard = card;\n });\n }\n\n useExistingCard() {\n this.useCardOnFile = true;\n }\n\n useNewCard() {\n this.useCardOnFile = false;\n this.newCreditCardFormData = null;\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.newCreditCardFormData = formData;\n }\n\n setCoverCostAmountCents(coverCostAmountCents: number) {\n this.coverCostAmountCents = coverCostAmountCents;\n }\n\n cancel() {\n this.dialogRef.close(new RecurringDonationDialogOutput(false));\n }\n\n submit() {\n if (!this.useCardOnFile && !this.newCreditCardFormData) {\n return;\n }\n\n const input = {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n firstName: this.registration.firstName,\n lastName: this.registration.lastName,\n email: this.registration.email,\n mobilePhone: this.registration.mobilePhone,\n amountCents: this.donationAmountCents,\n coverFee: this.isCoveringCosts.value,\n isAnonymous: this.isAnonymous,\n } as InitiateRecurringDonationInput;\n this.setCreditCardInput(input);\n\n this.submitting = true;\n this.virtualEventClient.initiateRecurringDonation(input).subscribe(() => {\n this.submitting = false;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('Recurring donation successfully paid!', SnackBarIcon.Success, false),\n );\n this.dialogRef.close(new RecurringDonationDialogOutput(true));\n }, (e) => {\n let snackMessage = 'There was a problem setting up your recurring donation.';\n if (e.error && e.error.code === 400 && e.error.payload) {\n snackMessage = e.error.payload;\n }\n this.submitting = false;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n });\n }\n\n private setCreditCardInput(input: InitiateRecurringDonationInput) {\n if (this.useCardOnFile) {\n input.payerName = this.userCard.CardName;\n input.cardName = this.userCard.CardName;\n input.expiration = this.userCard.CardExpiration;\n input.cardType = this.userCard.CardType;\n input.cardLastFour = this.userCard.CardLastFour;\n input.token = this.userCard.Token;\n\n if (this.givingManagementClient.hasBillingAddress(this.userCard)) {\n input.payerStreet = this.userCard.BillingStreet;\n input.payerCity = this.userCard.BillingCity;\n input.payerState = this.userCard.BillingState;\n input.payerZip = this.userCard.BillingZip;\n input.payerCountry = this.userCard.BillingCountry;\n }\n } else {\n input.payerName = this.newCreditCardFormData.cardInfo.name;\n input.cardName = this.newCreditCardFormData.cardInfo.name;\n input.expiration = this.newCreditCardFormData.cardInfo.expiration;\n input.cardType = this.newCreditCardFormData.cardInfo.cardType;\n input.cardLastFour = this.newCreditCardFormData.cardInfo.lastFourDigits;\n input.token = this.newCreditCardFormData.cardInfo.nonce;\n\n if (this.newCreditCardFormData.billingAddress) {\n input.payerStreet = this.newCreditCardFormData.billingAddress.street;\n input.payerCity = this.newCreditCardFormData.billingAddress.city;\n input.payerState = this.newCreditCardFormData.billingAddress.state;\n input.payerZip = this.newCreditCardFormData.billingAddress.zip;\n input.payerCountry = this.newCreditCardFormData.billingAddress.country;\n }\n }\n }\n}\n","import { Component, EventEmitter, Inject, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService, EnvironmentService, WindowInjectionToken } from '@onecause/core';\nimport { forkJoin, merge, Observable, of } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport {\n EventSessionSummary,\n GetMyGuestSessionSummaryInput,\n GetMyGuestSessionSummaryOutput,\n ReadGuestInput,\n ReadGuestOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { ClaimTicketService } from '../../services/claim-ticket.service';\nimport {\n GeneratedVirtualEventRestService,\n GetMyGuestDemographicsPublicInput\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\nimport { RightDrawerContentService } from './right-drawer-content.service';\n\n\nenum CurrentContent {\n None = 'none',\n Auth = 'auth',\n PostPurchaseAuth = 'post-purchase-auth',\n ShoppingCart = 'shopping-cart',\n PurchaseTicketSelection = 'purchase-tickets-selection',\n TicketManager = 'ticket-manager',\n PublicTicketManager = 'public-ticket-manager',\n BuyTicketsCTA = 'buy-tickets-cta',\n AttendeeExperience = 'attendee-experience'\n}\n\n@Component({\n selector: 'app-right-drawer-content',\n templateUrl: './right-drawer-content.component.html',\n styleUrls: ['./right-drawer-content.component.scss']\n})\nexport class RightDrawerContentComponent implements OnInit, OnDestroy {\n\n @Output() openDrawer = new EventEmitter();\n @Output() closeDrawer = new EventEmitter();\n\n readonly CurrentContent = CurrentContent;\n\n nextContent: CurrentContent;\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n authFlowURL: string;\n ticketManagerBaseURL: string;\n ticketManagerURL: string;\n publicTicketManagerBaseURL: string;\n publicTicketManagerURL: string;\n buyTicketsCtaURL: string;\n postPurchaseAuthBaseURL: string;\n postPurchaseAuthURL: string;\n isMobile = false;\n sharedCart = false;\n\n /* tslint:disable-next-line: variable-name */\n private _currentContent = CurrentContent.None;\n private currentIframeEventListener: any;\n\n constructor(\n private state: StateService,\n private events: EventsService,\n private rightDrawerService: RightDrawerContentService,\n private currentUser: CurrentUserService,\n private virtualEventService: VirtualEventService,\n private virtualEventClient: VirtualEventClientService,\n private virtualEventRestService: GeneratedVirtualEventRestService,\n private env: EnvironmentService,\n private vecRoutingService: VECRoutingService,\n private route: ActivatedRoute,\n @Inject(WindowInjectionToken) private window: Window,\n private claimTicketService: ClaimTicketService,\n private rightDrawerContentService: RightDrawerContentService,\n ) { }\n\n ngOnInit(): void {\n this.isMobile = this.virtualEventService.isMobile();\n\n forkJoin({\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1))\n }).subscribe(out => {\n this.event = out.event;\n this.eventSession = out.eventSession;\n\n this.env.getURL('eventsupporter', `organizations/${this.event.organizationID}/events/${this.event.id}/account-lookup-auth`)\n .subscribe((url) => {\n this.authFlowURL = url;\n this.checkForTicketTokenEmail(url);\n });\n this.env.getURL('eventsupportertickets', '').subscribe((url) => {\n this.ticketManagerBaseURL = `${url}/organizations/${this.event.organizationID}/events/${this.event.id}/ticket-manager`;\n this.publicTicketManagerBaseURL = this.ticketManagerBaseURL + '/purchase';\n this.buyTicketsCtaURL = `${url}/organizations/${this.event.organizationID}/events/${this.event.id}/buy-tickets-cta`;\n this.postPurchaseAuthBaseURL = `${url}/organizations/${this.event.organizationID}/events/${this.event.id}/post-purchase-auth`;\n\n this.ticketManagerURL = this.ticketManagerBaseURL;\n this.publicTicketManagerURL = this.publicTicketManagerBaseURL;\n this.postPurchaseAuthURL = this.postPurchaseAuthBaseURL;\n });\n });\n\n this.listenForOpenCart();\n this.listenForOpenTicketSelect();\n this.listenForLogin();\n this.listenForOpenTicketManager();\n this.listenForBuyTicketsCTA();\n this.listenForCloseRightDrawer();\n this.listenForAttendeeExperience();\n }\n\n ngOnDestroy(): void {\n this.window.removeEventListener('message', this.currentIframeEventListener);\n }\n\n open() {\n this.openDrawer.emit();\n }\n\n close() {\n this.currentContent = CurrentContent.None;\n this.closeDrawer.emit();\n this.rightDrawerService.signalDrawerClosed();\n }\n\n get currentContent() {\n return this._currentContent;\n }\n\n set currentContent(cc: CurrentContent) {\n if (this.currentIframeEventListener) {\n this.window.removeEventListener('message', this.currentIframeEventListener);\n }\n this._currentContent = cc;\n let newListener: (ev: MessageEvent) => void;\n switch (cc) {\n case CurrentContent.Auth:\n newListener = this.getAuthMessageHandler();\n break;\n case CurrentContent.PostPurchaseAuth:\n newListener = this.getAuthMessageHandler();\n break;\n case CurrentContent.PurchaseTicketSelection:\n newListener = this.getTicketPurchaseMessageHandler();\n break;\n case CurrentContent.BuyTicketsCTA:\n newListener = this.getBuyTicketsCTAMessageHandler();\n break;\n }\n if (newListener) {\n this.currentIframeEventListener = newListener;\n this.window.addEventListener('message', newListener);\n }\n }\n\n private listenForOpenCart() {\n merge(\n this.events.openCartSidenav,\n this.rightDrawerService.openCart$,\n ).subscribe(() => {\n this.isInSharedCart().subscribe((isInSharedCart: boolean) => {\n this.sharedCart = isInSharedCart;\n this.currentContent = CurrentContent.ShoppingCart;\n this.open();\n });\n });\n }\n\n private listenForOpenTicketSelect() {\n merge(\n this.events.openTicketSelectSidenav,\n this.rightDrawerService.openTicketSelect$,\n ).subscribe(() => {\n this.currentContent = CurrentContent.PurchaseTicketSelection;\n this.open();\n });\n }\n\n private isInSharedCart(): Observable {\n return this.virtualEventClient.getMyGuestSessionSummary({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n eventSessionID: this.eventSession.id,\n } as GetMyGuestSessionSummaryInput).pipe(\n switchMap((guestSession: GetMyGuestSessionSummaryOutput) => {\n if (!guestSession?.guestID) {\n return of(false);\n }\n\n return this.virtualEventClient.readGuest({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n guestID: guestSession.guestID,\n } as ReadGuestInput).pipe(\n map((guest: ReadGuestOutput) => {\n return guest.purchasedItemPrimaryGuestID !== '' && guest.purchasedItemPrimaryUserID !== '';\n })\n );\n }));\n }\n\n private listenForLogin() {\n merge(\n this.rightDrawerService.openLogin$,\n ).subscribe(() => {\n this.currentContent = CurrentContent.Auth;\n this.open();\n });\n }\n\n private listenForAttendeeExperience() {\n merge(\n this.rightDrawerService.openAttendeeExperience$,\n ).subscribe(() => {\n this.currentContent = CurrentContent.AttendeeExperience;\n this.open();\n });\n }\n\n private getAuthMessageHandler(): (ev: MessageEvent) => void {\n return (ev: MessageEvent) => {\n if (ev?.data?.type === 'onecause:flow-complete' &&\n (this.currentContent === CurrentContent.Auth || this.currentContent === CurrentContent.PostPurchaseAuth)) {\n this.currentUser.resetCache();\n this.currentUser.getTokens().subscribe();\n this.rightDrawerService.loginComplete();\n this.events.raiseUserLoggedIn();\n\n if (this.currentContent === CurrentContent.PostPurchaseAuth) {\n this.claimTicketService.handleEventAccess();\n }\n if (this.nextContent) {\n this.currentContent = this.nextContent;\n this.nextContent = null;\n } else {\n this.close();\n }\n }\n };\n }\n\n private getTicketPurchaseMessageHandler(): (ev: MessageEvent) => void {\n let isClaimingTicket = false;\n let purchaserGuestSessionID = '';\n let ticketManagerToken = '';\n let userInfo = {};\n return (ev: MessageEvent) => {\n if (ev?.data?.type === 'onecause:is-claiming-ticket' && this.currentContent === CurrentContent.PurchaseTicketSelection) {\n isClaimingTicket = true;\n purchaserGuestSessionID = ev?.data?.data?.guestSessionID;\n userInfo = {\n email: ev?.data?.data?.email,\n firstName: ev?.data?.data?.firstName,\n lastName: ev?.data?.data?.lastName,\n };\n } else if (ev?.data?.type === 'onecause:buy-items-complete' && this.currentContent === CurrentContent.PurchaseTicketSelection) {\n ticketManagerToken = ev?.data?.data?.ticketManagerToken as string || null;\n } else if (ev?.data?.type === 'onecause:flow-complete' && this.currentContent === CurrentContent.PurchaseTicketSelection) {\n if (isClaimingTicket) {\n this.postPurchaseAuthURL = this.postPurchaseAuthURL.split('?')[0] + '?userInfo=' + encodeURIComponent(JSON.stringify(userInfo));\n this.ticketManagerURL = `${this.ticketManagerURL}/guests/${purchaserGuestSessionID}`;\n this.currentContent = CurrentContent.PostPurchaseAuth;\n this.nextContent = CurrentContent.TicketManager;\n this.open();\n } else {\n this.currentUser.getProfile().subscribe(() => {\n // if logged in, close\n this.close();\n }, () => {\n this.openPublicTicketManager(ticketManagerToken);\n });\n }\n } else if (ev?.data?.type === 'onecause:flow-logout' && this.currentContent === CurrentContent.PurchaseTicketSelection) {\n this.currentUser.updateTokens('', '').subscribe(() => {\n this.env.getServiceURL('my').subscribe((url) => {\n this.window.location.assign(\n `${url}/organizations/${this.event.organizationID}/virtual-events/${this.event.id}/purchase-tickets`\n );\n });\n });\n }\n };\n }\n\n private getBuyTicketsCTAMessageHandler(): (ev: MessageEvent) => void {\n return (ev: MessageEvent) => {\n if (ev?.data?.type === 'onecause:trigger-ticket-purchase-sidenav' && this.currentContent === CurrentContent.BuyTicketsCTA) {\n this.currentContent = CurrentContent.PurchaseTicketSelection;\n }\n };\n }\n\n private listenForBuyTicketsCTA(): void {\n merge(\n this.rightDrawerService.openBuyTicketsCTA$,\n ).subscribe(() => {\n this.currentContent = CurrentContent.BuyTicketsCTA;\n this.open();\n });\n }\n\n private listenForOpenTicketManager() {\n merge(\n this.rightDrawerService.openTicketManager$,\n ).subscribe(() => {\n this.openTicketManager();\n });\n }\n\n private openTicketManager() {\n this.currentUser.getProfile().subscribe(() => {\n // if logged in, go to ticket manager\n this.currentContent = CurrentContent.TicketManager;\n this.open();\n }, () => {\n // if not logged in, check route for /purchase w/token\n if (this.vecRoutingService.isRouteActive('ticket-manager/purchase')) {\n const token = this.route.snapshot.queryParamMap.get('token');\n if (!token) {\n // no token, go to auth, then to ticket manager\n this.currentContent = CurrentContent.Auth;\n this.nextContent = CurrentContent.TicketManager;\n this.open();\n } else {\n // token found, go to public ticket manager\n this.openPublicTicketManager(token);\n }\n } else {\n // if not on the purchase route, go to auth, then to ticket manager\n this.currentContent = CurrentContent.Auth;\n this.nextContent = CurrentContent.TicketManager;\n this.open();\n }\n });\n }\n\n private openPublicTicketManager(token: string) {\n this.publicTicketManagerURL = `${this.publicTicketManagerBaseURL}?token=${token}`;\n this.currentContent = CurrentContent.PublicTicketManager;\n this.open();\n }\n\n private listenForCloseRightDrawer() {\n merge(\n this.rightDrawerService.closeRightDrawer$\n ).subscribe(() => {\n this.close();\n });\n }\n\n private checkForTicketTokenEmail(baseURL: string): void {\n const ticketAssignmentToken = this.route.snapshot.queryParamMap.get('t');\n if (!!ticketAssignmentToken) {\n const decodedToken = JSON.parse(atob(ticketAssignmentToken.split('.')[1]));\n const decodedRoles = JSON.parse(decodedToken.roles);\n\n if (decodedRoles.some(r => r.role === 'event-guest')) {\n const role = decodedRoles.find(r => r.role === 'event-guest');\n\n this.virtualEventRestService.withJWT(ticketAssignmentToken).getMyGuestDemographicsPublic(\n {\n eventID: role.context.eventID,\n organizationID: role.context.organizationID,\n } as GetMyGuestDemographicsPublicInput).subscribe(getMyGuestDemographicsPublicOutput => {\n const userInfo = {\n email: getMyGuestDemographicsPublicOutput.email,\n firstName: getMyGuestDemographicsPublicOutput.firstName,\n lastName: getMyGuestDemographicsPublicOutput.lastName,\n mobilePhone: getMyGuestDemographicsPublicOutput.mobilePhone\n };\n this.authFlowURL = `${baseURL}?userInfo=${encodeURIComponent(JSON.stringify(userInfo))}`;\n });\n } else if (!!decodedToken.sub) {\n const userInfo = {\n email: decodedToken.sub\n };\n this.authFlowURL = `${baseURL}?userInfo=${encodeURIComponent(JSON.stringify(userInfo))}`;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RightDrawerContentService {\n\n private drawerClosedSubject = new Subject();\n drawerClosed$ = this.drawerClosedSubject.asObservable();\n\n private openCartSubject = new Subject();\n openCart$ = this.openCartSubject.asObservable();\n\n private openTicketSelectSubject = new Subject();\n openTicketSelect$ = this.openTicketSelectSubject.asObservable();\n\n private openBuyTicketsCTASubject = new Subject();\n openBuyTicketsCTA$ = this.openBuyTicketsCTASubject.asObservable();\n\n private closeRightDrawerSubject = new Subject();\n closeRightDrawer$ = this.closeRightDrawerSubject.asObservable();\n\n private openTicketManagerSubject = new Subject();\n openTicketManager$ = this.openTicketManagerSubject.asObservable();\n\n private openLoginSubject = new Subject();\n openLogin$ = this.openLoginSubject.asObservable();\n private loginCompleteSubject = new Subject();\n\n private openAttendeeExperienceSubject = new Subject();\n openAttendeeExperience$ = this.openAttendeeExperienceSubject.asObservable();\n\n openCart() {\n this.openCartSubject.next();\n }\n\n openTicketSelect() {\n this.openTicketSelectSubject.next();\n }\n\n openBuyTicketsCTA() {\n this.openBuyTicketsCTASubject.next();\n }\n\n closeRightDrawer() {\n this.closeRightDrawerSubject.next();\n }\n\n openLogin() {\n if (this.loginCompleteSubject) {\n this.loginCompleteSubject.complete();\n this.loginCompleteSubject = null;\n }\n this.loginCompleteSubject = new Subject();\n this.openLoginSubject.next();\n return this.loginCompleteSubject.asObservable();\n }\n\n openTicketManager() {\n this.openTicketManagerSubject.next();\n }\n\n loginComplete() {\n if (this.loginCompleteSubject) {\n this.loginCompleteSubject.next();\n this.loginCompleteSubject.complete();\n this.loginCompleteSubject = null;\n }\n }\n\n openAttendeeExperience() {\n this.openAttendeeExperienceSubject.next();\n }\n\n signalDrawerClosed() {\n this.drawerClosedSubject.next();\n }\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AttendeeExperience, EventType, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { GeneratedVirtualEventRestService, UpdateMyExperienceTypeInput } from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { StateService } from '../../../services/state.service';\nimport { RightDrawerContentService } from '../right-drawer-content.service';\n\n@Component({\n selector: 'app-right-drawer-how-attending',\n templateUrl: './right-drawer-how-attending.component.html',\n styleUrls: ['./right-drawer-how-attending.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class RightDrawerHowAttendingComponent implements OnInit {\n\n @Input() themeColor: string;\n\n private event: VirtualEvent | undefined;\n\n howAttending = AttendeeExperience.Virtual;\n allowedExperiences = [];\n\n constructor(\n private veClient: GeneratedVirtualEventRestService,\n private state: StateService,\n private rightDrawer: RightDrawerContentService\n ) { }\n\n ngOnInit(): void {\n this.state.event.subscribe((event) => {\n this.event = event;\n\n if (event.eventType === EventType.Hybrid) {\n this.allowedExperiences = [AttendeeExperience.Virtual, AttendeeExperience.WatchParty, AttendeeExperience.InPerson];\n } else if (event.eventType === EventType.VirtualPlusWatchParty) {\n this.allowedExperiences = [AttendeeExperience.Virtual, AttendeeExperience.WatchParty];\n }\n\n });\n }\n\n submit() {\n this.veClient.updateMyExperienceType(new UpdateMyExperienceTypeInput({\n organizationID: this.event?.organizationID,\n eventID: this.event?.id,\n experienceType: this.howAttending\n })).subscribe({\n complete: () => {\n this.rightDrawer.closeRightDrawer();\n }\n });\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FilterComparator, FilterParameterV2, PagingInputV2, PagingInputV3, FilterParameterV3 } from '@onecause/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { InventoryClientService, ReadLotOutput } from 'src/app/services/inventory-client.service';\nimport {\n PurchasedItemSummary,\n ReadFixedPriceItemInput,\n ReadFixedPriceItemOutput,\n ReadImpactOutput,\n ReadMyRegistrationOutput,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { CartLotUpdatedPayload, PurchasedItemRescindedPayload, WebSocketService } from '../../services/websocket.service';\n\n@Component({\n selector: 'app-shopping-cart',\n templateUrl: './shopping-cart.component.html',\n styleUrls: ['./shopping-cart.component.scss']\n})\nexport class ShoppingCartComponent implements OnInit, OnDestroy {\n\n orgID: string;\n eventID: string;\n\n cartTotalCents = 0;\n shoppingCart: Observable;\n\n impacts: { [id: string]: ReadImpactOutput } = {};\n fixedPriceItems: { [id: string]: ReadFixedPriceItemOutput } = {};\n lots: { [id: string]: ReadLotOutput } = {};\n\n isRegistered = false;\n registration: ReadMyRegistrationOutput;\n\n\n defaultCartPaging = new PagingInputV3()\n .Filter(new FilterParameterV3('pay_after_event', FilterComparator.Equal, true))\n .Filter(new FilterParameterV3('purchase_id', FilterComparator.Equal, ''));\n\n private destroyTriggered = new Subject();\n\n constructor(\n private virtualEventClient: VirtualEventClientService,\n private inventoryClient: InventoryClientService,\n private events: EventsService,\n private state: StateService,\n private vecRouting: VECRoutingService,\n private activatedRoute: ActivatedRoute,\n private websocketService: WebSocketService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.state.registration.pipe(takeUntil(this.destroyTriggered)).subscribe((reg) => {\n if (reg && reg.found) {\n this.registration = reg;\n this.isRegistered = true;\n }\n });\n\n this.shoppingCart = this.state.shoppingCart;\n\n this.loadPurchasedItems(this.defaultCartPaging, []);\n this.subscribeToWebsocketEvents();\n this.listenForCartChanges();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n goToCheckout() {\n this.vecRouting.goToCheckoutPage();\n }\n\n private subscribeToWebsocketEvents() {\n this.websocketService.silentAuctionCartLotUpdated\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((payload: CartLotUpdatedPayload) => {\n if (this.registration && this.registration.userID === payload.userID) {\n this.loadPurchasedItems(this.defaultCartPaging, []);\n }\n });\n\n this.websocketService.purchasedItemRescinded\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((payload: PurchasedItemRescindedPayload) => {\n if (this.registration && this.registration.userID === payload.userID) {\n this.loadPurchasedItems(this.defaultCartPaging, []);\n }\n });\n }\n\n private listenForCartChanges() {\n merge(\n this.events.donationAddedToCart,\n this.events.impactAddedToCart,\n this.events.fixedPriceAddedToCart,\n this.events.raffleAddedToCart,\n this.events.auctionLotAddedToCart,\n this.events.appealAddedToCart,\n this.events.userLoggedIn,\n )\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe(() => this.loadPurchasedItems(this.defaultCartPaging, []));\n }\n\n private loadPurchasedItems(pagingInput: PagingInputV3, currentList: PurchasedItemSummary[]) {\n this.virtualEventClient.listItemsForUser({\n organizationID: this.orgID,\n eventID: this.eventID,\n paging: pagingInput\n }).subscribe((out) => {\n currentList.push(...out.items);\n if (out.paging && out.paging.nextPage) {\n this.loadPurchasedItems(new PagingInputV3().FromPageObject(out.paging.nextPage), currentList);\n } else {\n this.state.setShoppingCart(currentList);\n\n currentList.filter((item) => item.type === 'vevt-impact').forEach((item) => {\n this.impacts[item.impactID] = {} as any;\n this.virtualEventClient.readImpact({\n organizationID: this.orgID,\n eventID: this.eventID,\n impactID: item.impactID,\n }).subscribe((impact) => {\n this.impacts[impact.id] = impact;\n });\n });\n\n currentList.filter(item => item.type === 'vevt-fixed-price').forEach(item => {\n this.fixedPriceItems[item.fixedPriceItemID] = {} as any;\n this.virtualEventClient.readFixedPriceItem({\n organizationID: this.orgID,\n eventID: this.eventID,\n fixedPriceItemID: item.fixedPriceItemID\n } as ReadFixedPriceItemInput).subscribe(fp => {\n this.fixedPriceItems[fp.id] = fp;\n });\n });\n\n currentList.filter((item) => item.type === 'vevt-auction-lot').forEach((item) => {\n this.lots[item.lotID] = {} as any;\n this.inventoryClient.readLot({ organizationID: this.orgID, auctionID: item.auctionID, lotID: item.lotID }).subscribe((lot) => {\n this.lots[lot.id] = lot;\n });\n });\n\n this.cartTotalCents = currentList.reduce((total, item) => {\n return total + item.amountCents;\n }, 0 as any);\n }\n });\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PhaasStyling } from '@onecause/core';\n\n@Component({\n selector: 'app-appeal-button',\n templateUrl: './appeal-button.component.html',\n styleUrls: ['./appeal-button.component.scss'],\n})\nexport class AppealButtonComponent {\n\n @Input() appealAmount: number;\n @Input() primaryColor: string;\n @Input() giveAtAnyLevelActive: boolean;\n @Output() clicked = new EventEmitter();\n\n constrastingColor: string;\n\n click() {\n this.clicked.emit();\n }\n\n getPrimaryColorBackgroundStyle(): { [key: string]: string } {\n\n this.constrastingColor = PhaasStyling.getContrastingTextColor(this.primaryColor);\n\n return {\n background: 'linear-gradient(to right, ' + this.constrastingColor + ' 50%, ' + this.primaryColor + ' 50%)',\n color: this.constrastingColor,\n 'flex-grow': '2',\n 'background-size': '200% 100%',\n 'background-position': 'right bottom',\n 'margin-left': '5px',\n 'margin-right': '5px',\n };\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { ConfirmDonationOutput } from 'src/app/services/virtual-event-client.service';\nimport { AmbassadorSearchComponent } from '../../../../ambassador-search/ambassador-search.component';\n\n@Component({\n selector: 'app-appeal-confirmation',\n templateUrl: './appeal-confirmation.component.html',\n styleUrls: ['./appeal-confirmation.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AppealConfirmationComponent {\n\n @Input() appealAmount: number;\n @Input() donorName: string;\n @Input() giveAtAnyLevelActive: boolean;\n @Input() showAmbassadorSearch: boolean;\n @Output() confirmed = new EventEmitter();\n\n @ViewChild('ambassadorSearch') ambassadorSearch: AmbassadorSearchComponent;\n\n emoji: string;\n isAnonymous: boolean;\n customAmount = new FormControl('', [Validators.required, Validators.min(1)]);\n\n emojiSelected(emjoiAlias: string) {\n this.emoji = emjoiAlias;\n }\n\n confirmDonation() {\n const input = {\n emojiAlias: this.emoji,\n isAnonymous: this.isAnonymous\n } as ConfirmDonationOutput;\n\n if (this.giveAtAnyLevelActive) {\n if (this.customAmount.invalid) {\n this.customAmount.markAllAsTouched();\n return;\n }\n\n input.customAmountCents = Math.floor(this.customAmount.value * 100);\n }\n\n input.ambassador = this.ambassadorSearch?.selectedAmbassador;\n\n this.confirmed.emit(input);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport {\n NewRecentAppealDonorsPayload,\n WebSocketService,\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n AppealDonors,\n ReadRecentAppealItemsInput,\n ReadRecentAppealItemsOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { emojis } from '../../../../live-appeal-emojis/live-appeal-emojis.component';\n\n@Component({\n selector: 'app-appeal-floating-names',\n templateUrl: './appeal-floating-names.component.html',\n styleUrls: ['./appeal-floating-names.component.scss']\n})\nexport class AppealFloatingNamesComponent implements OnInit {\n orgID: string;\n eventID: string;\n donors: AppealDonors[];\n\n private destroy$ = new Subject();\n\n constructor(\n private virtualEventService: VirtualEventClientService,\n private state: StateService,\n private websocketService: WebSocketService,\n ) { }\n\n @Input() flexDirection = 'column-reverse';\n @Input() alignItems = 'flex-end';\n @Input() textColor = 'white';\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.orgID = event.organizationID;\n this.eventID = event.id;\n });\n\n this.virtualEventService.readRecentAppealDonors({\n organizationID: this.orgID,\n eventID: this.eventID, useAnonymous: true\n } as ReadRecentAppealItemsInput)\n .subscribe((donors: ReadRecentAppealItemsOutput) => {\n this.mapRecentDonorEmojis(donors.recentDonors);\n });\n\n this.subscribeToWebsocketEvents();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private subscribeToWebsocketEvents() {\n this.websocketService.newRecentAppealDonors.pipe(\n takeUntil(this.destroy$)\n ).subscribe((payload: NewRecentAppealDonorsPayload) => {\n this.mapRecentDonorEmojis(payload.recentDonors);\n });\n }\n\n private mapRecentDonorEmojis(recentDonors: AppealDonors[]) {\n recentDonors.forEach(donor => {\n if (!!donor.emojiSelected) {\n const foundEmoji = emojis.find(emoji => emoji.alias === donor.emojiSelected);\n donor.emojiSelected = foundEmoji ? foundEmoji.url : '';\n }\n });\n this.donors = recentDonors;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n AppealLevelChangedPayload,\n TieredMomentChangedPayload,\n WebSocketService\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n ConfirmDonationOutput,\n ReadDonationMomentInput,\n ReadDonationMomentOutput,\n ReadMyRegistrationOutput,\n ReadOverlayOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { GetParticipantResult } from 'src/app/services/zz-greatfeats-rest.service';\nimport { BuyItemsService } from '../../../../services/buy-items.service';\nimport { EventsService } from '../../../../services/events.service';\nimport { StateService } from '../../../../services/state.service';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../../../credit-card-dialog/credit-card-dialog.component';\n\n@Component({\n selector: 'app-appeal-overlay',\n templateUrl: './appeal-overlay.component.html',\n styleUrls: ['./appeal-overlay.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AppealOverlayComponent implements OnInit, OnDestroy {\n\n primaryColor: string;\n hideOverlay = true;\n currentAppealLevelCents: number;\n donationAmountCents: number;\n orgID: string;\n eventID: string;\n showDonationConfirmation = false;\n config: AppealOverlayConfig;\n donorName: string;\n isAnonymousDonation: false;\n giveAtAnyLevelActive = false;\n showAmbassadorSearch = false;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private buyItemsService: BuyItemsService,\n private state: StateService,\n private events: EventsService,\n private websocketService: WebSocketService,\n private virtualEventService: VirtualEventClientService,\n private dialog: MatDialog,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit() {\n this.subscribeToEvents();\n this.subscribeToWebsocketEvents();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToOverlayEvents(): void {\n this.state.currentOverlay.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((overlay: ReadOverlayOutput) => {\n this.config = overlay ? JSON.parse(overlay.config) : new AppealOverlayConfig();\n if (this.config.donationMomentID) {\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n id: this.config.donationMomentID,\n } as ReadDonationMomentInput;\n this.virtualEventService.readDonationMoment(input).subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.hideOverlay = donationMoment.disableOnlineDonations;\n this.currentAppealLevelCents = donationMoment.currentDonationTierAmountCents;\n this.donationAmountCents = this.currentAppealLevelCents;\n this.giveAtAnyLevelActive = donationMoment.giveAtAnyLevelActive;\n });\n }\n });\n }\n\n private subscribeToEvents(): void {\n this.state.event.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((event: VirtualEvent) => {\n this.orgID = event.organizationID;\n this.eventID = event.id;\n this.primaryColor = event.themePrimaryColor;\n this.showAmbassadorSearch = !!event.greatfeatsChallengeAccessKey;\n this.subscribeToOverlayEvents();\n });\n\n this.state.registration.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((registration: ReadMyRegistrationOutput) => {\n this.donorName = registration.firstName + ' ' + registration.lastName;\n });\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.appealLevelChanged.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((payload: AppealLevelChangedPayload) => {\n this.config = JSON.parse(payload.config);\n this.virtualEventService.readDonationMoment(\n {\n organizationID: this.orgID,\n eventID: this.eventID,\n id: this.config.donationMomentID,\n } as ReadDonationMomentInput)\n .subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.hideOverlay = donationMoment.disableOnlineDonations;\n this.currentAppealLevelCents = donationMoment.currentDonationTierAmountCents;\n if (!this.showDonationConfirmation) {\n this.donationAmountCents = this.currentAppealLevelCents;\n }\n });\n });\n\n this.websocketService.tieredMomentChanged.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((payload: TieredMomentChangedPayload) => {\n this.currentAppealLevelCents = payload.currentDonationTierAmountCents;\n this.giveAtAnyLevelActive = payload.giveAtAnyLevelActive;\n if (!this.showDonationConfirmation) {\n this.donationAmountCents = this.currentAppealLevelCents;\n }\n });\n }\n\n appealButtonClicked() {\n // hide the button and show the confirmation panels\n this.showDonationConfirmation = true;\n }\n\n makeDonation(data: ConfirmDonationOutput) {\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile) {\n this.dialog.open(CreditCardDialogComponent)\n .afterClosed().subscribe((out: CreditCardDialogOutput) => {\n if (out.addedCard) {\n this.buyAppealDonation(data.emojiAlias, data.isAnonymous, data.customAmountCents, data.ambassador);\n } else {\n this.resetOverlay();\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(\n 'Your purchase has been canceled.',\n SnackBarIcon.Error,\n false,\n ),\n );\n }\n });\n } else {\n this.buyAppealDonation(data.emojiAlias, data.isAnonymous, data.customAmountCents, data.ambassador);\n }\n });\n }\n\n private buyAppealDonation(emojiURL: string, isAnonymous: boolean, customAmount: number, ambassador: GetParticipantResult) {\n const donationAmount = this.giveAtAnyLevelActive ? customAmount : this.donationAmountCents;\n this.buyItemsService.buyAppealDonation(donationAmount, emojiURL, isAnonymous, ambassador).subscribe(() => {\n this.events.raiseAppealAddedToCart();\n });\n this.resetOverlay();\n }\n\n resetOverlay() {\n this.showDonationConfirmation = false;\n this.donationAmountCents = this.currentAppealLevelCents;\n }\n}\n\nexport class AppealOverlayConfig {\n donationMomentID: string;\n appealAmountsCents: number[];\n currentAppealAmountCents: number;\n}\n","import { Component, EventEmitter, Output, OnInit } from '@angular/core';\nimport { Lot } from 'src/app/services/inventory-client.service';\nimport { AuctionStateService } from 'src/app/lazy-modules/virtual-event/services/auction-state.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'app-auction-collapsed',\n templateUrl: './auction-collapsed.component.html',\n styleUrls: ['./auction-collapsed.component.scss']\n})\nexport class AuctionCollapsedComponent implements OnInit {\n @Output() clicked = new EventEmitter();\n\n lot: Observable;\n\n constructor(\n private auctionState: AuctionStateService,\n ) { }\n\n ngOnInit() {\n this.lot = this.auctionState.activeLot;\n }\n\n onClick(): void {\n this.clicked.next();\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AuctionStateService } from 'src/app/lazy-modules/virtual-event/services/auction-state.service';\nimport { AuctionService } from 'src/app/lazy-modules/virtual-event/services/auction.service';\nimport { BuyItemsService } from 'src/app/lazy-modules/virtual-event/services/buy-items.service';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport { BiddingClosedPayload, BiddingOpenPayload, BidReceivedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { Lot } from 'src/app/services/inventory-client.service';\nimport { ReadMyRegistrationOutput } from 'src/app/services/virtual-event-client.service';\nimport { CreditCardDialogComponent, CreditCardDialogOutput } from '../../../../credit-card-dialog/credit-card-dialog.component';\n\n@Component({\n selector: 'app-auction-expanded',\n templateUrl: './auction-expanded.component.html',\n styleUrls: ['./auction-expanded.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AuctionExpandedComponent implements OnInit, OnDestroy {\n\n activeLot: Observable;\n nextLot: Observable;\n\n imageURLs: Observable;\n registeredUser: ReadMyRegistrationOutput;\n\n bidValueCents: number;\n customBid: boolean;\n showConfirmBid = false;\n placingBid = false;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private auctionState: AuctionStateService,\n public auction: AuctionService,\n private websocketService: WebSocketService,\n private state: StateService,\n private dialog: MatDialog,\n private buyItemsService: BuyItemsService,\n ) { }\n\n ngOnInit(): void {\n this.state.registration\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((registration: ReadMyRegistrationOutput) => this.registeredUser = registration);\n this.activeLot = this.auctionState.activeLot;\n this.imageURLs = this.auctionState.activeLotPhotoURLs;\n this.nextLot = this.auctionState.nextLot;\n this.subscribeToEvents();\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToEvents(): void {\n // opened connection in auction-overlay component\n this.auctionState.activeLot\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((lot: Lot) => { // triggered by state so the lot change animation works properly\n this.auction.onActiveLotChanges(lot);\n this.resetBidValue();\n });\n this.websocketService.liveAuctionBiddingOpened\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingOpen: BiddingOpenPayload) => {\n this.auction.onBiddingOpened(biddingOpen);\n });\n this.websocketService.liveAuctionBidReceived\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((bidReceived: BidReceivedPayload) => {\n this.auction.onBidReceived(bidReceived);\n if (this.auction.isActiveLot(bidReceived.lotID) && !this.customBid && !this.showConfirmBid) {\n this.resetBidValue();\n }\n });\n this.websocketService.liveAuctionBiddingClosed\n .pipe(takeUntil(this.destroyTriggered))\n .subscribe((biddingClosed: BiddingClosedPayload) => {\n this.auction.onBiddingClosed(biddingClosed);\n });\n }\n\n private resetBidValue(): void {\n this.bidValueCents = this.auction.getMinimumBid();\n }\n\n onBidClicked(): void {\n this.showConfirmBid = true;\n }\n\n onBidCancelled(): void {\n this.showConfirmBid = false;\n }\n\n onBidValueDecreased(): void {\n this.bidValueCents = this.auction.decreaseBidValue(this.bidValueCents);\n if (this.auction.isMinimumBid(this.bidValueCents)) {\n this.customBid = false;\n }\n }\n\n onBidValueIncreased(): void {\n this.bidValueCents = this.auction.increaseBidValue(this.bidValueCents);\n this.customBid = true;\n }\n\n onBidPlaced(): void {\n this.buyItemsService.hasCardOnFile().subscribe((hasCardOnFile: boolean) => {\n if (!hasCardOnFile) {\n this.dialog.open(CreditCardDialogComponent).afterClosed()\n .subscribe((out: CreditCardDialogOutput) => {\n out.addedCard ? this.submitBid() : this.resetBiddingButtons();\n });\n }\n else if (this.auction.isOutbid(this.bidValueCents)) {\n this.auction.showOutbidMessage();\n this.resetBiddingButtons();\n }\n else {\n this.submitBid();\n }\n });\n }\n\n private submitBid() {\n this.placingBid = true;\n\n this.auction.submitBid('live', this.bidValueCents).subscribe(_ => {\n this.auction.currentLeaderUserID = this.registeredUser.userID;\n this.resetBiddingButtons();\n }, (e => {\n this.auction.showError(e);\n this.resetBiddingButtons();\n }));\n }\n\n private resetBiddingButtons(): void {\n this.showConfirmBid = false;\n this.placingBid = false;\n this.customBid = false;\n if (this.auction.isOutbid(this.bidValueCents)) {\n this.resetBidValue();\n }\n }\n\n getBidderName(): string {\n if (this.registeredUser.biddingAsFirstName !== '') {\n return `${this.registeredUser?.biddingAsFirstName} ${this.registeredUser?.biddingAsLastName}`;\n } else {\n return `${this.registeredUser?.firstName} ${this.registeredUser?.lastName}`;\n }\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { VirtualEventService } from 'src/app/lazy-modules/virtual-event/services/virtual-event.service';\n\n@Component({\n selector: 'app-auction-overlay',\n templateUrl: './auction-overlay.component.html',\n styleUrls: ['./auction-overlay.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuctionOverlayComponent implements OnInit {\n\n orgID: string;\n\n auctionExpanded = true;\n slideIn = true;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n public virtualEventService: VirtualEventService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n }\n\n dismissPanel() {\n this.slideIn = false;\n setTimeout(() => {\n this.auctionExpanded = false;\n }, 400); // wait 400ms for animation to complete before hiding\n }\n\n joinButtonClicked() {\n this.auctionExpanded = true;\n setTimeout(() => {\n this.slideIn = true;\n }); // slight delay for expanded view to show before animation begins\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'app-donate-button',\n templateUrl: './donate-button.component.html',\n styleUrls: ['./donate-button.component.scss']\n})\nexport class DonateButtonComponent {\n\n @Output() clicked = new EventEmitter();\n\n onClick() {\n this.clicked.next();\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { EventsService } from 'src/app/lazy-modules/virtual-event/services/events.service';\nimport { VirtualEventService } from 'src/app/lazy-modules/virtual-event/services/virtual-event.service';\n\n@Component({\n selector: 'app-donate-overlay',\n templateUrl: './donate-overlay.component.html',\n styleUrls: ['./donate-overlay.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DonateOverlayComponent {\n\n showDonationPanel = false;\n slideIn = false;\n\n constructor(\n private virtualEventService: VirtualEventService,\n private events: EventsService,\n ) { }\n\n dismissPanel() {\n this.slideIn = false;\n setTimeout(() => {\n this.showDonationPanel = false;\n }, 400); // wait 400ms for animation to complete before hiding\n }\n\n donateButtonClicked() {\n if (this.virtualEventService.isMobile()) {\n this.showDonationPanel = true;\n setTimeout(() => {\n this.slideIn = true;\n }); // slight delay for panel to show before animation begins\n } else {\n this.events.raiseOverlayDonateButtonClicked();\n }\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { BuyItemsService } from 'src/app/lazy-modules/virtual-event/services/buy-items.service';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport {\n ReadDonationMomentInput,\n ReadDonationMomentOutput,\n ReadOverlayOutput,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport { TieredMomentChangedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-donation-panel',\n templateUrl: './donation-panel.component.html',\n styleUrls: ['./donation-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DonationPanelComponent implements OnInit, OnDestroy {\n\n config: DonationOverlayConfig;\n\n selectedAmount: number;\n otherSelected = false;\n disableDonate = false;\n suggestedDonationAmounts: number[];\n\n otherAmountControl: FormControl;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private state: StateService,\n private buyItemsService: BuyItemsService,\n private virtualEventService: VirtualEventClientService,\n private snackbar: MatSnackBar,\n private websocketService: WebSocketService,\n ) { }\n\n ngOnInit() {\n this.state.currentOverlay.subscribe((overlay: ReadOverlayOutput) => {\n this.config = overlay ? JSON.parse(overlay.config) : new DonationOverlayConfig();\n if (this.config.donationMomentID) {\n this.virtualEventService.readDonationMoment(\n {\n organizationID: overlay.organizationID,\n eventID: overlay.eventID,\n id: this.config.donationMomentID,\n } as ReadDonationMomentInput)\n .subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.suggestedDonationAmounts = donationMoment.donationLevelsAmountCents;\n this.subscribeToTieredMomentChangedWebsocket();\n });\n }\n });\n this.otherAmountControl = new FormControl(null, [Validators.required, Validators.min(1)]);\n }\n\n ngOnDestroy() {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n subscribeToTieredMomentChangedWebsocket() {\n this.websocketService.tieredMomentChanged.pipe(\n takeUntil(this.destroyTriggered),\n ).subscribe((payload: TieredMomentChangedPayload) => {\n this.suggestedDonationAmounts = payload.donationLevelsAmountCents;\n this.otherSelected = !payload.donationLevelsAmountCents.includes(this.selectedAmount);\n });\n }\n\n selectDonationAmount(amountCents: number) {\n this.otherSelected = false;\n this.selectedAmount = amountCents;\n }\n\n selectOther() {\n this.otherSelected = true;\n this.selectedAmount = 0;\n }\n\n proceedToPayment() {\n if (!this.disableDonate) {\n this.disableDonate = true;\n let amount = 0;\n if (this.otherSelected) {\n if (this.otherAmountControl.invalid) {\n this.otherAmountControl.markAsTouched();\n return;\n }\n amount = Math.trunc(this.otherAmountControl.value * 100);\n } else {\n if (!this.selectedAmount) {\n return;\n }\n amount = this.selectedAmount;\n }\n this.buyItemsService.buyDonation(amount).subscribe(() => {\n this.disableDonate = false;\n }, () => {\n const snackMessage = 'There was a problem donating. Please try again';\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, false),\n );\n this.disableDonate = false;\n });\n }\n }\n}\n\nexport class DonationOverlayConfig {\n donationMomentID: string;\n suggestedDonationAmountsCents: number[];\n suggestedRecurringDonationAmountsCents: number[];\n\n constructor() {\n this.donationMomentID = '';\n this.suggestedDonationAmountsCents = [];\n this.suggestedRecurringDonationAmountsCents = [];\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VirtualEventService } from 'src/app/lazy-modules/virtual-event/services/virtual-event.service';\nimport {\n ActiveLotChangedPayload,\n ActiveOverlayChangedPayload,\n WebSocketService,\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n ReadOverlayOutput,\n ReadSceneOutput,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { AuctionService } from '../../../services/auction.service';\nimport { StateService } from '../../../services/state.service';\n\n@Component({\n selector: 'app-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OverlayComponent implements OnInit, OnDestroy {\n\n orgID: string;\n eventID: string;\n\n currentOverlay: ReadOverlayOutput;\n isMobile = false;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: VirtualEventClientService,\n private state: StateService,\n private virtualEventService: VirtualEventService,\n private websocketService: WebSocketService,\n private auctionService: AuctionService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.isMobile = this.virtualEventService.isMobile();\n\n this.state.currentScene.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((scene: ReadSceneOutput) => {\n this.onSceneChanged(scene);\n });\n\n window.addEventListener('orientationchange', () => {\n this.state.currentScene.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((scene: ReadSceneOutput) => {\n this.onSceneChanged(scene);\n });\n });\n\n this.subscribeToWebsocketEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.activeOverlayChanged.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ActiveOverlayChangedPayload) => {\n this.state.setCurrentScene(payload.scene);\n this.onSceneChanged(payload.scene);\n });\n\n this.websocketService.liveAuctionLotUpdated.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ActiveLotChangedPayload) => {\n this.auctionService.updateActiveAuctionLot(payload.auctionID, payload.activeLotID);\n });\n }\n\n private onSceneChanged(scene: ReadSceneOutput): void {\n if (scene.activeOverlayConfig.showNone || !scene.activeOverlayConfig.overlayIDs || !scene.activeOverlayConfig.overlayIDs.length) {\n this.updateOverlay(null);\n return;\n }\n\n this.virtualEventClient.readOverlay({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: scene.showID,\n sceneID: scene.id,\n overlayID: scene.activeOverlayConfig.overlayIDs[0],\n }).subscribe((overlay) => {\n this.updateOverlay(overlay);\n });\n }\n\n private updateOverlay(overlay: ReadOverlayOutput): void {\n if (this.isPortrait() && overlay !== null) {\n this.setRotateOverlay();\n }\n else {\n this.currentOverlay = overlay;\n }\n\n if (overlay?.type === 'Auction') {\n this.setUpAuctionOverlay(overlay.config);\n }\n this.state.setCurrentOverlay(overlay);\n }\n\n // there are various ways we display the auction.\n // we need to setup the initial view and open websockets here\n private setUpAuctionOverlay(config: string) {\n const auctionID = JSON.parse(config).auctionID;\n // load the current auction state\n this.auctionService.loadAuctionAndSetStateValues(auctionID);\n }\n\n isPortrait(): boolean {\n return window.matchMedia('(orientation: portrait)').matches && this.isMobile;\n }\n\n setRotateOverlay() {\n this.currentOverlay = { type: 'Rotate' } as ReadOverlayOutput;\n }\n}\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-rotate-overlay',\n templateUrl: './rotate-overlay.component.html',\n styleUrls: ['./rotate-overlay.component.scss']\n})\nexport class RotateOverlayComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CurrentUserService,\n EnvironmentService,\n FilterComparator,\n FilterParameterV3,\n PagingInputV2,\n PagingInputV3,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon\n} from '@onecause/core';\nimport { forkJoin, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { map, take, takeUntil } from 'rxjs/operators';\nimport { SceneChangedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n ReadMyRegistrationOutput,\n ReadSceneOutput,\n ReadShowOutput,\n SceneSummary, ShowSummary,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\nimport { AuthDialogComponent, AuthDialogInput } from '../auth/auth-dialog/auth-dialog.component';\nimport { AuthDisplayMode, AuthOutput } from '../auth/auth.component';\nimport { TicketPurchaseDialogComponent } from '../ticket-purchase-dialog/ticket-purchase-dialog.component';\n\n\n@Component({\n selector: 'app-show',\n templateUrl: './show.component.html',\n styleUrls: ['./show.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ShowComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild('iframeContainer') iframeContainer: ElementRef;\n @Input() useAuthDialog = false;\n @Input() allowOverlays = true;\n @Input() allowShow = true;\n\n unauthorized = false;\n event: VirtualEvent;\n\n formattedDate: string;\n formattedTime: string;\n loggedIn = false;\n authDisplay: AuthDisplayMode = AuthDisplayMode.None;\n AuthDisplayMode = AuthDisplayMode;\n\n private show: ShowSummary;\n private showID = '';\n\n private viewInit$ = new ReplaySubject(1);\n private destroy$ = new Subject();\n\n private curtainScene: SceneSummary;\n private userIsRegisteredForEvent = false;\n\n private userName = '';\n private userEmail = '';\n private currentStreamURL = '';\n\n constructor(\n private websocketService: WebSocketService,\n private virtualEventClient: VirtualEventClientService,\n private state: StateService,\n private events: EventsService,\n private virtualEventService: VirtualEventService,\n private currentUserService: CurrentUserService,\n private activatedRoute: ActivatedRoute,\n private snackbar: MatSnackBar,\n private dialog: MatDialog,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n this.formattedDate = this.virtualEventService.getFormattedEventDate(event.primaryDate, event.primaryEndDate, true);\n this.formattedTime = this.virtualEventService.getFormattedEventTime(event.primaryDate, event.primaryEndDate);\n\n this.currentUserService.getProfile('flow/ve/show::init').subscribe(() => {\n this.loggedIn = true;\n this.checkRegistration();\n }, () => {\n this.unauthorized = true;\n this.checkForTicket();\n });\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(_ => {\n this.loggedIn = true;\n this.checkRegistration();\n });\n this.events.userLoggedOut.pipe(takeUntil(this.destroy$)).subscribe(_ => {\n this.loggedIn = false;\n this.userName = '';\n this.userEmail = '';\n });\n });\n }\n\n ngAfterViewInit() {\n this.viewInit$.next();\n this.viewInit$.complete();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private checkRegistration() {\n this.state.registration.pipe(takeUntil(this.destroy$)).subscribe((reg: ReadMyRegistrationOutput) => {\n this.userIsRegisteredForEvent = reg && reg.found;\n\n if (!this.userIsRegisteredForEvent) {\n this.unauthorized = true;\n this.checkForTicket();\n return;\n }\n\n this.userName = [reg.firstName, reg.lastName].filter((s) => !!s).join(' ');\n this.userEmail = reg.email || '';\n\n if (this.allowShow) {\n this.loadShow();\n this.subscribeToWebsocketEvents();\n }\n });\n }\n\n private checkForTicket() {\n // default to sign up view if a ticket should be claimed\n const ticketID = this.activatedRoute.snapshot.queryParams.ticket || '';\n const ticketToken = this.activatedRoute.snapshot.queryParams.t || '';\n if (ticketID && ticketToken) {\n this.setAuthDisplay(this.loggedIn ? AuthDisplayMode.Register : AuthDisplayMode.SignUp);\n }\n }\n\n private changeScene(sceneID: string) {\n if (sceneID !== '') {\n forkJoin({\n scene: this.virtualEventClient.readScene({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n showID: this.showID,\n sceneID: sceneID,\n }),\n showControl: this.virtualEventClient.readEventShowControl({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }),\n }).subscribe((out) => {\n this.displayScene(out.scene, out.showControl.secondsSinceSceneChange);\n });\n } else if (this.curtainScene && this.curtainScene.url) {\n this.displayScene(this.curtainScene);\n } else {\n // default to our auth \"curtain\"\n this.unauthorized = true;\n }\n }\n\n private displayScene(scene: SceneSummary | ReadSceneOutput, offsetTime: number = 0) {\n this.unauthorized = false;\n this.viewInit$.subscribe(() => {\n this.state.setCurrentScene(scene);\n\n const renderID = scene.inheritDefaultStream ? this.show.defaultStreamID : scene.streamID;\n\n this.environmentService.getServiceURL('phaas-stream-api').pipe(take(1)).subscribe((streamAPIURL) => {\n const renderURL = this.buildRenderUrl(\n streamAPIURL, scene.organizationID, renderID,\n offsetTime, this.userName, this.userEmail\n );\n\n if (renderURL !== this.currentStreamURL) {\n const newIframe = document.createElement('iframe');\n newIframe.classList.add('show__iframe');\n newIframe.setAttribute('allow', 'camera; microphone; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture');\n newIframe.setAttribute('src', renderURL);\n this.iframeContainer.nativeElement.innerHTML = '';\n this.iframeContainer.nativeElement.appendChild(newIframe);\n this.currentStreamURL = renderURL;\n }\n });\n });\n }\n\n // tslint:disable-next-line: max-line-length\n private buildRenderUrl(streamAPI: string, orgID: string, streamID: string, offsetTime: number, userName?: string, email?: string): string {\n const url = new URL(`${streamAPI}/organizations/${orgID}/streams/${streamID}/render`);\n url.searchParams.append('playsinline', '1');\n if (userName) {\n url.searchParams.append('username', userName);\n }\n if (email) {\n url.searchParams.append('email', email);\n }\n if (offsetTime > 0) {\n url.searchParams.append('ocStart', offsetTime.toString());\n }\n return url.href;\n }\n\n private loadShow() {\n this.virtualEventClient.listShows({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n paging: new PagingInputV2().Take(1),\n }).subscribe((shows) => {\n if (shows.items && shows.items.length > 0) {\n this.showID = shows.items[0].id;\n this.show = shows.items[0];\n forkJoin({\n curtainScene: this.getCurtainScene(),\n show: this.getShow(),\n }).subscribe((out) => {\n this.curtainScene = out.curtainScene;\n this.changeScene(out.show.activeSceneID);\n });\n }\n });\n }\n\n private getCurtainScene(): Observable {\n return this.virtualEventClient.listScenes({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n showID: this.showID,\n paging: new PagingInputV3()\n .Take(1)\n .Filter(new FilterParameterV3('is_curtain', FilterComparator.Equal, true)),\n }).pipe(map((scenesOut) => {\n if (scenesOut.items && scenesOut.items.length === 1) {\n return scenesOut.items[0];\n }\n return null;\n }));\n }\n\n private getShow(): Observable {\n return this.virtualEventClient.readShow({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n showID: this.showID,\n });\n }\n\n private subscribeToWebsocketEvents() {\n this.websocketService.sceneChanged.pipe(\n takeUntil(this.destroy$),\n ).subscribe((payload: SceneChangedPayload) => {\n this.changeScene(payload.activeSceneID);\n });\n }\n\n setAuthDisplay(display: AuthDisplayMode) {\n // if we are redeeming a ticket, use the old stuff (not in a dialog)\n const ticket = this.activatedRoute.snapshot.queryParams.ticket;\n\n if (!ticket && this.useAuthDialog) {\n this.dialog.open(AuthDialogComponent, {\n panelClass: 'no-padding-dialog',\n maxWidth: '95vw',\n maxHeight: '95vh',\n data: {\n mode: display\n } as AuthDialogInput\n });\n } else {\n // desktop show displays things inline (not as dialogs)\n this.authDisplay = display;\n }\n }\n\n onAuthSuccess(result: AuthOutput) {\n this.setAuthDisplay(AuthDisplayMode.None);\n if (result?.newRegistration) {\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(\n 'Thank you for registering! You will receive an email shortly.',\n SnackBarIcon.Success,\n false\n ));\n }\n }\n\n purchaseTickets() {\n this.dialog.open(TicketPurchaseDialogComponent, {\n panelClass: 'ticket-purchase__responsive-styles',\n // required to clear the default max width value (80vw)\n maxWidth: ''\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { MatRadioChange } from '@angular/material/radio';\nimport {\n EmailValidator,\n LocationUtility,\n PhoneNumberFormatter,\n PhoneNumberPipe,\n PhoneNumberValidator,\n StateSelectComponent,\n ZipCodeValidator\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { RegisterUserDTO } from 'src/app/services/auth-client.service';\nimport { OrganizationRestService, OrganizationSummary } from 'src/app/services/organization-rest.service';\nimport { AttendeeExperience, EventType, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\n\nexport class SignUpFormData {\n userInfo: RegisterUserDTO;\n googleUserInfo: any;\n facebookUserInfo: any;\n}\n\nconst PAGE_BREAKPOINT = 800;\n\n@Component({\n selector: 'app-sign-up-form',\n templateUrl: './sign-up-form.component.html',\n styleUrls: ['./sign-up-form.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SignUpFormComponent implements OnInit {\n @Input() signUpInfo: RegisterUserDTO;\n @Output() signUpFormUpdated: EventEmitter = new EventEmitter();\n\n @Input() howAttending = AttendeeExperience.Unknown;\n @Output() howAttendingChange = new EventEmitter();\n\n @ViewChild(StateSelectComponent) stateSelect: StateSelectComponent;\n\n event: VirtualEvent;\n signUpForm: FormGroup;\n\n googleClientId: string;\n facebookAppId: string;\n googleIsReady = false;\n facebookIsReady = false;\n\n showRequirements = false;\n showPassword = false;\n hasLength = false;\n hasUppercase = false;\n hasLowercase = false;\n hasNumber = false;\n hasSpecial = false;\n\n org: OrganizationSummary;\n\n private defaultCountryCode = 'USA';\n private countryLookupList: any = LocationUtility.countryListLookup;\n country: FormControl;\n isMobile: boolean;\n\n constructor(\n private state: StateService,\n private http: HttpClient,\n private organizationService: OrganizationRestService,\n private phoneNumberPipe: PhoneNumberPipe,\n ) { }\n\n ngOnInit() {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.buildSignUpForm();\n this.getOrgInfo(this.event.organizationID);\n\n this.isMobile = window.innerWidth <= PAGE_BREAKPOINT ? true : false;\n });\n\n // gather our authconfig values\n this.http.get('authconfig.json').subscribe((d: any) => {\n this.facebookAppId = d.facebookAppID;\n this.googleClientId = d.googleOAuthClientID;\n }, (e) => { console.log(e); });\n }\n\n private getOrgInfo(orgID: string) {\n this.organizationService.getOrganizationSummaryById(orgID).subscribe((org) => {\n this.org = org;\n });\n }\n\n getZipCodeLabel() {\n const zipCodeLabel = (this.signUpForm.controls.country?.value === this.countryLookupList.CAN.code) ? 'Postal Code' : 'Zip Code';\n return this.event?.requireAddress ? '*' + zipCodeLabel : zipCodeLabel;\n }\n\n private buildSignUpForm(): void {\n const phoneValidators = [PhoneNumberValidator()];\n if (this.event.requirePhoneNumber) {\n phoneValidators.push(Validators.required);\n }\n\n const phoneNumber = new FormControl(\n this.signUpInfo?.phone ? this.phoneNumberPipe.transform(this.signUpInfo?.phone) : '',\n phoneValidators\n );\n PhoneNumberFormatter.initializePhoneFormatter(phoneNumber);\n\n const addressValidations = this.event.requireAddress ? [Validators.required] : [];\n\n const zipValidators = [];\n if (this.event.showAddress) {\n zipValidators.push(ZipCodeValidator(this.defaultCountryCode));\n if (this.event.requireAddress) {\n zipValidators.push(Validators.required);\n }\n }\n\n this.signUpForm = new FormGroup({\n email: new FormControl(this.signUpInfo?.email || '', [Validators.required, EmailValidator()]),\n password: new FormControl('', [Validators.required, (control: AbstractControl) => this.validatePassword(control)]),\n firstName: new FormControl(this.signUpInfo?.firstName || '', Validators.required),\n lastName: new FormControl(this.signUpInfo?.lastName || '', Validators.required),\n phone: phoneNumber,\n street: new FormControl(this.signUpInfo?.addressLine1 || '', addressValidations),\n city: new FormControl(this.signUpInfo?.addressCity || '', addressValidations),\n state: new FormControl(this.signUpInfo?.addressState || '', addressValidations),\n zip: new FormControl(this.signUpInfo?.addressZip || '', zipValidators),\n country: new FormControl(this.signUpInfo?.addressCountry || this.defaultCountryCode, addressValidations),\n });\n\n this.signUpForm.controls.country.valueChanges.subscribe((value) => {\n this.signUpForm.controls.zip.setValidators(ZipCodeValidator(value));\n this.signUpForm.controls.zip.updateValueAndValidity();\n if (this.signUpForm.controls.zip.invalid) {\n this.signUpForm.controls.zip.setValue('');\n }\n });\n\n this.signUpForm.valueChanges.subscribe(() => {\n if (!this.signUpForm.valid) {\n this.signUpFormUpdated.emit({ userInfo: null } as SignUpFormData);\n return;\n }\n\n this.signUpFormUpdated.emit({\n userInfo: {\n firstName: this.signUpForm.value.firstName,\n lastName: this.signUpForm.value.lastName,\n email: this.signUpForm.value.email,\n password: this.signUpForm.value.password,\n phone: this.signUpForm.value.phone,\n addressLine1: this.signUpForm.value.street,\n addressCity: this.signUpForm.value.city,\n addressState: this.signUpForm.value.state,\n addressZip: this.signUpForm.value.zip,\n addressCountry: this.signUpForm.value.country,\n } as RegisterUserDTO\n } as SignUpFormData);\n });\n }\n\n togglePassword() {\n this.showPassword = !this.showPassword;\n }\n\n showPasswordRequirements() {\n this.showRequirements = true;\n }\n\n private validatePassword(password: AbstractControl): ValidationErrors {\n if (!password.value) { return; }\n let lengthRequirement = false;\n let requirementsMet = 0;\n const currentPassword = password.value;\n const checkUppercase = new RegExp('.*[A-Z].*');\n const checkLowercase = new RegExp('.*[a-z].*');\n const checkNumber = new RegExp('.*[0-9].*');\n const checkSpecial = new RegExp('.*[^a-zA-Z0-9].*');\n\n // Check for a minimum of 8 characters\n this.hasLength = currentPassword.length >= 8;\n if (this.hasLength) {\n lengthRequirement = true;\n }\n\n // Check for at least one uppercase letter\n this.hasUppercase = checkUppercase.test(currentPassword);\n if (this.hasUppercase) {\n requirementsMet++;\n }\n\n // Check for at least one lowercase letter\n this.hasLowercase = checkLowercase.test(currentPassword);\n if (this.hasLowercase) {\n requirementsMet++;\n }\n\n // Check for at least one number\n this.hasNumber = checkNumber.test(currentPassword);\n if (this.hasNumber) {\n requirementsMet++;\n }\n\n // Check for at least one special character\n this.hasSpecial = checkSpecial.test(currentPassword);\n if (this.hasSpecial) {\n requirementsMet++;\n }\n\n if (requirementsMet >= 3 && lengthRequirement) {\n return null;\n } else {\n return { validatePassword: { valid: false } };\n }\n }\n\n googleAvailable(): void {\n this.googleIsReady = true;\n }\n\n facebookAvailable(): void {\n this.facebookIsReady = true;\n }\n\n googleSignUp(googleUser: any): void {\n this.signUpFormUpdated.emit({ googleUserInfo: googleUser } as SignUpFormData);\n }\n\n facebookSignUp(facebookUser: any): void {\n this.signUpFormUpdated.emit({ facebookUserInfo: facebookUser } as SignUpFormData);\n }\n\n howAttendingChanged(value: AttendeeExperience): void {\n if (this.event.eventType === EventType.Hybrid || this.event.eventType === EventType.VirtualPlusWatchParty) {\n this.howAttending = value;\n this.howAttendingChange.emit(this.howAttending);\n }\n }\n}\n","import { Component, OnInit, ViewChild, ViewEncapsulation, OnDestroy } from '@angular/core';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { EventsService } from '../../services/events.service';\nimport { PanelDisplayMode } from '../panel/panel.component';\nimport { StateService } from '../../services/state.service';\nimport { ReadOverlayOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\n/**\n * Contains tabs that display different content depending on the current state\n * of the virtual event.\n */\n@Component({\n selector: 'app-tabbed-event-context',\n templateUrl: './tabbed-event-context.component.html',\n styleUrls: ['./tabbed-event-context.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TabbedEventContextComponent implements OnInit, OnDestroy {\n @ViewChild('tabGroup', { static: true }) tabGroup: MatTabGroup;\n\n /** Label for the Donate/Auction panel. */\n donateAuctionLabel = 'Donate';\n event: VirtualEvent;\n\n private destroyTriggered = new Subject();\n\n constructor(\n private events: EventsService,\n private state: StateService,\n ) { }\n\n ngOnInit() {\n this.state.event.subscribe((event) => {\n this.event = event;\n });\n\n this.events.overlayDonateButtonClicked.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe(() => this.selectDonateAuctionTab());\n\n this.state.currentOverlay.pipe(\n takeUntil(this.destroyTriggered),\n filter((overlay: ReadOverlayOutput) => overlay?.type === 'Auction')\n ).subscribe(() => this.selectDonateAuctionTab());\n }\n\n ngOnDestroy(): void {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n selectDonateAuctionTab() {\n this.tabGroup.selectedIndex = 0;\n }\n\n /**\n * Handle a change to the Donate/Auction panel's display mode by changing the\n * panel's tab label.\n */\n onDonateAuctionDisplayModeChanged(displayMode: PanelDisplayMode) {\n switch (displayMode) {\n case PanelDisplayMode.EventDescription: {\n this.donateAuctionLabel = 'Donate';\n return;\n }\n case PanelDisplayMode.Donate: {\n this.donateAuctionLabel = 'Donate';\n return;\n }\n case PanelDisplayMode.Auction: {\n this.donateAuctionLabel = 'Auction';\n return;\n }\n }\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, ViewEncapsulation } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { map, pluck, tap } from 'rxjs/operators';\nimport {\n ListTicketOptionsInput,\n TicketClientService,\n TicketOptionAnswer,\n TicketOptionSummary,\n TicketType,\n ViewTicketOptionAnswersForTicketInput,\n ViewTicketOptionAnswersForTicketOutput,\n ViewTicketOptionAnswersForTicketSummary,\n} from 'src/app/services/ticket-client.service';\nimport {\n ReadMyTicketOptionAnswersInput,\n ReadMyTicketOptionAnswersOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../services/state.service';\n\nexport class ExistingAnswer {\n existingAnswerID: string;\n existingPromptChoiceID: string;\n existingAnswer: string;\n}\n\nexport class MappedTicketOption {\n ticketOption: TicketOptionSummary;\n existingAnswerID: string;\n existingAnswers: ExistingAnswer[];\n control: FormControl;\n selectionText: string;\n}\n\nexport enum TicketOptionType {\n Text = 'text',\n SingleSelect = 'single-select',\n MultiSelect = 'multi-select',\n}\n\n@Component({\n selector: 'app-ticket-options',\n templateUrl: './ticket-options.component.html',\n styleUrls: ['./ticket-options.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TicketOptionsComponent implements OnChanges {\n @Input() ticketType: TicketType;\n @Input() ticketID: string;\n @Input() answerDefaults: TicketOptionAnswer[];\n\n @Output() ticketOptionAnswersUpdated: EventEmitter = new EventEmitter();\n\n TicketOptionType = TicketOptionType;\n mappedTicketOptions: MappedTicketOption[] = [];\n optionOrderIDs: string[];\n // regex: white space is invalid ONLY IF no other non-whitespace characters are present.\n whitespace = '^\\\\S+?(.*)|(^\\\\s+\\\\S+?(.*))';\n\n constructor(\n private ticketClientService: TicketClientService,\n private veClient: VirtualEventClientService,\n private state: StateService,\n private router: Router,\n ) { }\n\n ngOnChanges(): void {\n this.state.event.pipe(\n tap((ve: VirtualEvent) => this.optionOrderIDs = ve.ticketOptionOrderIDs)).subscribe();\n\n forkJoin([\n this.getTicketOptions(),\n this.getTicketOptionAnswers(),\n ]).subscribe(([ticketOptions, ticketOptionAnswers]) => {\n const typeOptionList: MappedTicketOption[] = [];\n\n // map ticket option IDs into mapped ticket option objects\n this.mappedTicketOptions = this.ticketType.ticketOptions.map((ticketOptionID: string) => {\n return this.mapTicketOption(ticketOptionID, ticketOptions, ticketOptionAnswers);\n }).filter(option => option !== undefined);\n\n if (this.optionOrderIDs.length > 0) {\n this.optionOrderIDs.map(ticketOptionID => {\n const option = this.mappedTicketOptions.find(item => item.ticketOption.id === ticketOptionID);\n if (option) { typeOptionList.push(option); }\n });\n this.mappedTicketOptions = typeOptionList;\n }\n\n // emit first time if answers aren't required or if they already exist\n if (this.mappedTicketOptions.filter(option => !option.ticketOption.required || option.control.value).length) {\n this.onTicketOptionAnswerChanges();\n }\n\n // listen for input changes\n this.mappedTicketOptions.forEach((ticketOption: MappedTicketOption) => {\n ticketOption.control.valueChanges.subscribe(_ => {\n ticketOption.selectionText = this.getSelectionText(ticketOption);\n this.onTicketOptionAnswerChanges();\n });\n });\n });\n }\n\n private getTicketOptions(): Observable {\n let currentList: TicketOptionSummary[] = [];\n\n return this.ticketClientService.listTicketOptions({\n organizationID: this.ticketType.organizationID,\n source: this.ticketType.source,\n paging: new PagingInputV3(),\n } as ListTicketOptionsInput).pipe(\n map((optionsOut) => {\n if (this.optionOrderIDs.length > 0) {\n this.optionOrderIDs.map(ticketOptionID => {\n const option = optionsOut.items.find(item => item.id === ticketOptionID);\n if (option) { currentList.push(option); }\n });\n } else {\n currentList = currentList.concat(optionsOut.items);\n }\n return currentList;\n })\n );\n }\n\n private getTicketOptionAnswers(): Observable {\n if (!this.ticketID) {\n return of(this.answerDefaults || []);\n }\n\n let obs: Observable;\n\n if (this.router.url.includes('/admin')) {\n const adminInput = {\n organizationID: this.ticketType.organizationID,\n paging: new PagingInputV3().Filters([\n new FilterParameterV3('source', FilterComparator.Equal, this.ticketType.source),\n new FilterParameterV3('ticket_id', FilterComparator.Equal, this.ticketID),\n ]),\n } as ViewTicketOptionAnswersForTicketInput;\n\n obs = this.ticketClientService.viewTicketOptionAnswersForTicket(adminInput);\n }\n else {\n const supporterInput = {\n organizationID: this.ticketType.organizationID,\n eventID: this.ticketType.source,\n ticketID: this.ticketID,\n paging: new PagingInputV3(),\n } as ReadMyTicketOptionAnswersInput;\n\n obs = this.veClient.readMyTicketOptionAnswers(supporterInput);\n }\n\n // map the results into a ticket option answer object\n return obs.pipe(\n pluck('items'),\n map((items: ViewTicketOptionAnswersForTicketSummary[]) => items.map(item => {\n return {\n ticketOptionID: item.ticketOptionID,\n ticketOptionAnswerID: item.ticketOptionAnswerID,\n ticketOptionPromptChoiceID: item.ticketOptionPromptChoiceID,\n ticketOptionAnswer: item.answer,\n } as TicketOptionAnswer;\n })),\n );\n }\n\n private mapTicketOption(id: string, ticketOptions: TicketOptionSummary[], answers: TicketOptionAnswer[]): MappedTicketOption {\n const ticketOptionDetails = ticketOptions.find((option: TicketOptionSummary) => option.id === id);\n if (!ticketOptionDetails) {\n // can't find the option, probably deleted\n return;\n }\n\n const mappedTicketOption = { ticketOption: ticketOptionDetails } as MappedTicketOption;\n const answersForOption = answers.filter((answer: TicketOptionAnswer) => answer.ticketOptionID === id);\n const validators = ticketOptionDetails.required ? [Validators.required] : [];\n\n let defaultAnswer = null;\n switch (ticketOptionDetails.type) {\n case TicketOptionType.Text:\n if (answersForOption.length) {\n // only one answer will be set as the default\n defaultAnswer = answersForOption[0].ticketOptionAnswer;\n mappedTicketOption.existingAnswerID = answersForOption[0].ticketOptionAnswerID;\n }\n validators.push(Validators.pattern(this.whitespace));\n mappedTicketOption.control = new FormControl(defaultAnswer, validators);\n break;\n case TicketOptionType.SingleSelect:\n if (answersForOption.length) {\n // only one answer will be set as the default\n defaultAnswer = answersForOption[0].ticketOptionPromptChoiceID;\n mappedTicketOption.existingAnswerID = answersForOption[0].ticketOptionAnswerID;\n }\n mappedTicketOption.control = new FormControl(defaultAnswer, validators);\n break;\n case TicketOptionType.MultiSelect:\n mappedTicketOption.existingAnswers = answersForOption.map(answerForOption => {\n return {\n existingAnswerID: answerForOption.ticketOptionAnswerID,\n existingPromptChoiceID: answerForOption.ticketOptionPromptChoiceID,\n existingAnswer: answerForOption.ticketOptionAnswer\n } as ExistingAnswer;\n });\n // all selected answers will be set\n mappedTicketOption.control = new FormControl(mappedTicketOption.existingAnswers\n .map(answer => answer.existingPromptChoiceID), validators);\n mappedTicketOption.selectionText = this.getSelectionText(mappedTicketOption);\n break;\n default:\n mappedTicketOption.control = new FormControl(null, validators);\n break;\n }\n\n return mappedTicketOption;\n }\n\n private onTicketOptionAnswerChanges(): void {\n if (!this.isFormValid()) {\n this.ticketOptionAnswersUpdated.emit([]);\n return;\n }\n\n const answers: TicketOptionAnswer[] = [];\n\n this.mappedTicketOptions.forEach((ticketOption: MappedTicketOption) => {\n if (!ticketOption.control.value) {\n return;\n }\n switch (ticketOption.ticketOption.type) {\n case TicketOptionType.Text:\n answers.push({\n ticketOptionID: ticketOption.ticketOption.id,\n ticketOptionAnswerID: ticketOption.existingAnswerID || '',\n ticketOptionPromptChoiceID: '',\n ticketOptionAnswer: ticketOption.control.value || '',\n } as TicketOptionAnswer);\n break;\n case TicketOptionType.SingleSelect:\n answers.push({\n ticketOptionID: ticketOption.ticketOption.id,\n ticketOptionAnswerID: ticketOption.existingAnswerID || '',\n ticketOptionPromptChoiceID: ticketOption.control.value || '',\n ticketOptionAnswer: ticketOption.ticketOption.promptChoices\n .find(choice => choice.id === ticketOption.control.value)?.promptChoice || '',\n } as TicketOptionAnswer);\n break;\n case TicketOptionType.MultiSelect:\n ticketOption.control.value.forEach((choiceID: string) => {\n answers.push({\n ticketOptionID: ticketOption.ticketOption.id,\n ticketOptionAnswerID: ticketOption.existingAnswers\n .find(answer => answer.existingPromptChoiceID === choiceID)?.existingAnswerID || '',\n ticketOptionPromptChoiceID: choiceID || '',\n ticketOptionAnswer: ticketOption.ticketOption.promptChoices\n .find((promptChoice) => promptChoice.id === choiceID)?.promptChoice || '',\n });\n });\n break;\n default:\n break;\n }\n });\n\n this.ticketOptionAnswersUpdated.emit(answers);\n }\n\n private getSelectionText(option: MappedTicketOption): string {\n let text = '';\n if (option.control.value) {\n text = option.ticketOption.promptChoices?.find((choice) => choice.id === option.control.value[0])?.promptChoice || '';\n if (option.control.value.length > 1) {\n text += ` (+${option.control.value.length - 1} ${option.control.value.length === 2 ? 'other' : 'others'})`;\n }\n }\n return text;\n }\n\n private isFormValid(): boolean {\n const invalidOptions = this.mappedTicketOptions.filter(option => option.control.invalid);\n return !invalidOptions.length;\n }\n}\n","import { Component, EventEmitter, OnInit, Output, ViewEncapsulation, Input } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { EmailValidator } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport { AttendeeInfo } from '../../ticket-purchase.service';\n\nexport class AttendeeFormData {\n firstName: string;\n lastName: string;\n email: string;\n}\n\n@Component({\n selector: 'app-attendee-form',\n templateUrl: './attendee-form.component.html',\n styleUrls: ['./attendee-form.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AttendeeFormComponent implements OnInit {\n @Input() attendeeInfo: AttendeeInfo;\n @Output() attendeeFormUpdated = new EventEmitter();\n\n attendeeForm: FormGroup;\n formInitialized = false;\n\n constructor(\n private formbuilder: FormBuilder,\n ) { }\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n initializeForm() {\n this.attendeeForm = this.formbuilder.group({\n firstName: this.formbuilder.control(this.attendeeInfo?.firstName || ''),\n lastName: this.formbuilder.control(this.attendeeInfo?.lastName || ''),\n email: this.formbuilder.control(this.attendeeInfo?.email || '', [EmailValidator()])\n });\n\n this.attendeeForm.valueChanges.subscribe(() => {\n if (!this.attendeeForm.valid) {\n this.attendeeFormUpdated.emit(null);\n }\n else {\n this.attendeeFormUpdated.emit({\n firstName: this.attendeeForm.value.firstName,\n lastName: this.attendeeForm.value.lastName,\n email: this.attendeeForm.value.email,\n });\n }\n });\n\n this.formInitialized = true;\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TicketPurchaseService, AttendeeInfo, AttendeeTicket } from '../ticket-purchase.service';\nimport { AttendeeFormData } from './attendee-form/attendee-form.component';\n\n@Component({\n selector: 'app-attendee-info',\n templateUrl: './attendee-info.component.html',\n styleUrls: ['./attendee-info.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AttendeeInfoComponent implements OnInit {\n\n tickets: AttendeeTicket[];\n\n constructor(\n private ticketPurchaseService: TicketPurchaseService,\n ) { }\n\n ngOnInit(): void {\n this.tickets = this.mapAttendeeTickets();\n\n // update the service if forms are valid after mapping\n if (!this.isStepInvalid()) {\n this.ticketPurchaseService.attendeeTickets = this.tickets;\n }\n }\n\n private mapAttendeeTickets(): AttendeeTicket[] {\n const tickets: AttendeeTicket[] = [];\n\n const ticketSelectionArray = [...this.ticketPurchaseService.ticketSelections.values()];\n ticketSelectionArray.forEach(selection => {\n let quantity = selection.quantity;\n\n // filter out the claimed ticket if step was not skipped\n if (this.ticketPurchaseService.claimedTicketType?.id === selection.type.id) {\n quantity--;\n }\n\n for (let i = 0; i < quantity; i++) {\n tickets.push(new AttendeeTicket(selection.type, null));\n }\n });\n\n return tickets.map(this.populateAttendeeInfo, this);\n }\n\n private populateAttendeeInfo(ticket: AttendeeTicket, index: number): AttendeeTicket {\n if (this.ticketPurchaseService.attendeeTickets && this.ticketPurchaseService.attendeeTickets[index]) {\n ticket.attendeeInfo = this.ticketPurchaseService.attendeeTickets[index].attendeeInfo;\n }\n return ticket;\n }\n\n onFormUpdated(formData: AttendeeFormData, ticket: AttendeeTicket): void {\n if (!formData) {\n ticket.attendeeInfo = null;\n this.ticketPurchaseService.attendeeTickets = null;\n return;\n }\n\n ticket.attendeeInfo = new AttendeeInfo(formData.firstName, formData.lastName, formData.email);\n\n // if all the attendee info is populated, update the service\n if (!this.isStepInvalid()) {\n this.ticketPurchaseService.attendeeTickets = this.tickets;\n }\n }\n\n private isStepInvalid() {\n const invalidForms = this.tickets.filter(t => !t.attendeeInfo);\n return invalidForms.length > 0;\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { TicketPurchaseService, TicketSelection } from '../ticket-purchase.service';\nimport { TicketTypeSummary, TicketOptionAnswer, TicketType } from 'projects/phaas-flow-ui/src/app/services/ticket-client.service';\n\n@Component({\n selector: 'app-claim-ticket',\n templateUrl: './claim-ticket.component.html',\n styleUrls: ['./claim-ticket.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ClaimTicketComponent implements OnInit {\n ticketTypes: TicketTypeSummary[] = [];\n\n alreadyRegistered = false;\n hasClaimedTicket = false;\n groupOrMultipleIndividualSelected: string;\n individualQuantity: number;\n bannerText: string;\n\n claimedTicket: TicketType;\n defaultOptionAnswers: TicketOptionAnswer[] = [];\n claimedTicketForm: FormGroup;\n\n constructor(\n private ticketPurchaseService: TicketPurchaseService,\n ) { }\n\n ngOnInit(): void {\n this.alreadyRegistered = this.ticketPurchaseService.alreadyRegistered;\n this.hasClaimedTicket = !!this.ticketPurchaseService.claimedTicketType;\n this.ticketTypes = this.mapTicketTypes();\n this.confirmClaimedTicket();\n this.setDefaultTicketType();\n this.initForm();\n }\n\n private mapTicketTypes(): TicketTypeSummary[] {\n const ticketSelectionArray = [...this.ticketPurchaseService.ticketSelections.values()];\n return ticketSelectionArray.map((ticketSelection: TicketSelection) => ticketSelection.type);\n }\n\n private confirmClaimedTicket(): void {\n if (!this.hasClaimedTicket) {\n return;\n }\n\n if (!this.ticketTypes.find(t => t.id === this.ticketPurchaseService.claimedTicketType.id)) {\n // reset claimed ticket as it no longer can be claimed\n this.hasClaimedTicket = false;\n this.ticketPurchaseService.claimedTicketType = undefined;\n this.ticketPurchaseService.ticketOptionAnswers = [];\n }\n else {\n this.claimedTicket = this.ticketPurchaseService.claimedTicketType;\n this.defaultOptionAnswers = this.ticketPurchaseService.ticketOptionAnswers || [];\n }\n }\n\n private setDefaultTicketType(): void {\n const selectedType = this.hasClaimedTicket ? this.claimedTicket : this.ticketTypes[0];\n this.setTicketType(selectedType, true);\n }\n\n private initForm() {\n this.claimedTicketForm = new FormGroup({\n ticketType: new FormControl(this.claimedTicket || ''),\n });\n\n this.claimedTicketForm.get('ticketType').valueChanges.subscribe((ticketType) => {\n this.setTicketType(ticketType);\n });\n }\n\n private setTicketType(ticketType: TicketTypeSummary, keepAnswers: boolean = false): void {\n this.ticketPurchaseService.claimedTicketType = ticketType;\n this.hasClaimedTicket = ticketType ? true : false;\n this.claimedTicket = ticketType;\n\n if (!keepAnswers) {\n this.ticketPurchaseService.ticketOptionAnswers = [];\n this.defaultOptionAnswers = [];\n }\n\n this.hasTicketOptions();\n this.bannerText = this.setBannerText(ticketType);\n }\n\n private setBannerText(ticketType: TicketTypeSummary): string {\n this.individualQuantity = this.ticketPurchaseService.ticketSelections.get(ticketType.id).quantity;\n this.groupOrMultipleIndividualSelected = ticketType.quantityPerGroup > 1 ? 'group'\n : (ticketType.quantityPerGroup === 1 && this.individualQuantity > 1) ? 'individual' : null;\n\n return this.groupOrMultipleIndividualSelected === 'group' ? 'You will claim 1 ticket from this group.'\n : (this.groupOrMultipleIndividualSelected === 'individual' ? 'You will claim 1 of ' +\n this.individualQuantity + ' ' + ticketType.name + ' tickets.' : '');\n }\n\n hasTicketOptions(): boolean {\n if (!this.ticketPurchaseService.claimedTicketType?.ticketOptions) {\n return false;\n }\n return this.ticketPurchaseService.claimedTicketType?.ticketOptions.length > 0;\n }\n\n onTicketOptionAnswersUpdated(answers: TicketOptionAnswer[]): void {\n this.ticketPurchaseService.ticketOptionAnswers = answers;\n }\n}\n","import { Component, OnInit, ViewEncapsulation, Inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n AuthenticationResult,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n Profile,\n EnvironmentService,\n WindowInjectionToken,\n UserFriendlyError,\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { SignUpFormData } from '../../sign-up-form/sign-up-form.component';\nimport { StateService } from 'projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/state.service';\nimport { AuthClientService } from 'projects/phaas-flow-ui/src/app/services/auth-client.service';\nimport { VirtualEvent } from 'projects/phaas-flow-ui/src/app/services/virtual-event-client.service';\nimport { TicketPurchaseService } from '../ticket-purchase.service';\nimport { RegistrationService } from 'projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/registration.service';\nimport { LogInFormData } from '../../log-in-form/log-in-form.component';\n\n@Component({\n selector: 'app-create-account',\n templateUrl: './create-account.component.html',\n styleUrls: ['./create-account.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CreateAccountComponent implements OnInit {\n\n event: VirtualEvent;\n userInfo: Profile;\n\n showAlreadyRegistered = false;\n signingUp = true;\n\n constructor(\n private state: StateService,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private ticketPurchaseService: TicketPurchaseService,\n private snackbar: MatSnackBar,\n private environmentService: EnvironmentService,\n @Inject(WindowInjectionToken) private window: Window,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n\n this.userInfo = this.ticketPurchaseService.profile || undefined;\n }\n\n setSignUpFormData(formData: SignUpFormData): void {\n if (formData.userInfo !== undefined) {\n this.ticketPurchaseService.signUpData = formData.userInfo;\n }\n else if (formData.facebookUserInfo) {\n this.facebookSignUp(formData.facebookUserInfo);\n }\n else if (formData.googleUserInfo) {\n this.googleSignUp(formData.googleUserInfo);\n }\n }\n\n private googleSignUp(googleUser: any): void {\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onSignUpComplete(authResult); },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n private facebookSignUp(data: any): void {\n this.authClient.facebookLogin({ accessToken: data.accessToken })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onSignUpComplete(authResult); },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n private onSignUpComplete(authResult: AuthenticationResult): void {\n this.registrationService.updateAccess(authResult).subscribe((profile: Profile) => {\n this.userInfo = profile;\n this.ticketPurchaseService.profile = profile;\n });\n }\n\n setLogInFormData(formData: LogInFormData): void {\n if (formData.userInfo !== undefined) {\n this.ticketPurchaseService.logInData = formData.userInfo;\n }\n else if (formData.facebookUserInfo) {\n this.facebookSignUp(formData.facebookUserInfo);\n }\n else if (formData.googleUserInfo) {\n this.googleSignUp(formData.googleUserInfo);\n }\n }\n\n private handleSignUpError(e: any): void {\n let snackMessage = `There was a problem ${this.signingUp ? 'creating' : 'logging in to'} your account.`;\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n if (snackMessage === 'This email is already registered') {\n this.showAlreadyRegistered = true;\n }\n }\n\n if (!this.showAlreadyRegistered) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n }\n\n toggleForm() {\n this.ticketPurchaseService.logInData = undefined;\n this.ticketPurchaseService.signUpData = undefined;\n this.showAlreadyRegistered = false;\n\n this.signingUp = !this.signingUp;\n }\n\n forgotPassword() {\n this.environmentService.getURL('auth', 'forgot-password').subscribe(url => {\n this.window.open(`${url}?referrer=${this.window.location.href}`, '_blank');\n });\n }\n}\n","import { KeyValue } from '@angular/common';\nimport { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { StateService } from '../../../services/state.service';\n\nimport { TicketPurchaseService, TicketSelection } from '../ticket-purchase.service';\n\n@Component({\n selector: 'app-order-summary',\n templateUrl: './order-summary.component.html',\n styleUrls: ['./order-summary.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderSummaryComponent implements OnInit {\n @Input() showTotal = false;\n\n ticketSelections: Map;\n ticketTypeOrderIDs: string[];\n groupAndIndividualAvailable: boolean;\n\n constructor(\n private ticketPurchaseService: TicketPurchaseService,\n private stateService: StateService,\n ) { }\n\n ngOnInit(): void {\n forkJoin({\n types: this.ticketPurchaseService.ticketTypes.pipe(take(1)),\n event: this.stateService.event.pipe(take(1)),\n }).subscribe((out) => {\n this.ticketTypeOrderIDs = out.event.ticketTypeOrderIDs;\n this.groupAndIndividualAvailable = out.types.some((type) => type.quantityPerGroup > 1)\n && out.types.some((type) => type.quantityPerGroup === 1);\n });\n\n this.ticketSelections = this.ticketPurchaseService.ticketSelections;\n }\n\n getSelectionPrice(selection: TicketSelection): number {\n return this.ticketPurchaseService.getSelectionPrice(selection);\n }\n\n getSubtotal(): number {\n return this.ticketPurchaseService.getSubtotal();\n }\n\n getFees(): number {\n return this.ticketPurchaseService.getFees();\n }\n\n getTotal(): number {\n return this.ticketPurchaseService.getTotal();\n }\n\n getTotalTickets(): number {\n return this.ticketPurchaseService.getTotalTickets();\n }\n\n getGroupTickets(): Map {\n return this.ticketPurchaseService.getGroupTickets();\n }\n\n getIndividualTickets(): Map {\n return this.ticketPurchaseService.getIndividualTickets();\n }\n\n // keyvalue pipe sort function\n // - this allows the values to be sorted in their original order within the map object\n orderByTicketTypeID = (a: KeyValue, b: KeyValue): number => {\n return this.ticketTypeOrderIDs.indexOf(a.key) - this.ticketTypeOrderIDs.indexOf(b.key);\n }\n}\n","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { EmailValidator } from '@onecause/core';\nimport { CreditCardFormData, CreditCardFormComponent, CardInfo } from 'lib';\nimport { take } from 'rxjs/operators';\nimport { StateService } from 'projects/phaas-flow-ui/src/app/lazy-modules/virtual-event/services/state.service';\nimport { VirtualEvent, VirtualEventClientService, CalculatePurchaseTotalsInput, CalculatePurchaseTotalsOutput } from 'projects/phaas-flow-ui/src/app/services/virtual-event-client.service';\nimport { TicketPurchaseService } from '../ticket-purchase.service';\n\n@Component({\n selector: 'app-purchase-info',\n templateUrl: './purchase-info.component.html',\n styleUrls: ['./purchase-info.component.scss']\n})\nexport class PurchaseInfoComponent implements OnInit, AfterViewInit {\n @ViewChild(CreditCardFormComponent) creditCardForm: CreditCardFormComponent;\n\n purchaseInfoForm: FormGroup;\n event: VirtualEvent;\n creditCardFormData: CreditCardFormData;\n creditCardControl: FormControl;\n ambassador: FormControl;\n signUpEmail: string;\n formInitialized = false;\n userEmail = '';\n\n constructor(\n private ticketPurchaseService: TicketPurchaseService,\n private veClientService: VirtualEventClientService,\n private formbuilder: FormBuilder,\n private stateService: StateService,\n ) { }\n\n ngOnInit(): void {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n\n this.userEmail = this.ticketPurchaseService.profile.email;\n\n this.calculatePurchaseTotal();\n this.initForm();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.initCreditCardFormValues();\n });\n }\n\n private calculatePurchaseTotal() {\n this.veClientService.calculatePurchaseTotals({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n tickets: this.ticketPurchaseService.getTicketsToPurchase(),\n } as CalculatePurchaseTotalsInput).subscribe((purchaseTotals: CalculatePurchaseTotalsOutput) => {\n this.ticketPurchaseService.purchaseTotals = purchaseTotals;\n });\n }\n\n private initCreditCardFormValues() {\n const profile = this.ticketPurchaseService.profile;\n this.creditCardForm?.writeValue({\n billingAddress: {\n street: profile.addressLine1,\n city: profile.addressCity,\n state: profile.addressState,\n zip: profile.addressZip,\n country: this.creditCardForm.defaultCountryCode,\n },\n cardInfo: {\n name: profile.firstName + ' ' + profile.lastName,\n } as CardInfo,\n });\n }\n\n initForm() {\n this.ambassador = new FormControl('');\n this.purchaseInfoForm = this.formbuilder.group({\n email: this.formbuilder.control(this.userEmail, [Validators.required, EmailValidator()]),\n saveCard: this.formbuilder.control(true),\n ambassador: this.ambassador,\n });\n\n this.formInitialized = true;\n this.ticketPurchaseService.saveUserCard = true;\n\n this.purchaseInfoForm.valueChanges.subscribe((value) => {\n if (value.saveCard) {\n this.ticketPurchaseService.saveUserCard = true;\n } else {\n this.ticketPurchaseService.saveUserCard = false;\n }\n });\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.ticketPurchaseService.creditCardFormData = formData;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { PhaasStyling } from '@onecause/core';\nimport { forkJoin, Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport { TicketTypePurchasedQuantity, TicketTypeSummary } from 'src/app/services/ticket-client.service';\n\nimport { TicketPurchaseService, TicketSelection } from '../ticket-purchase.service';\n\nexport class TicketTypeSelectControl {\n type: TicketTypeSummary;\n control: FormControl;\n availableQuantity: number;\n quantityPerGroup: number;\n}\n\n@Component({\n selector: 'app-select-tickets',\n templateUrl: './select-tickets.component.html',\n styleUrls: ['./select-tickets.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectTicketsComponent implements OnInit, OnDestroy {\n\n typeSelections: { [id: string]: TicketTypeSelectControl };\n selectedQuantity = new Map();\n purchasedQuantities: { [id: string]: TicketTypePurchasedQuantity };\n eventPrimaryColor: string;\n eventPrimaryContrastColor: string;\n\n private unsubscribe$ = new Subject();\n\n constructor(\n private state: StateService,\n private ticketPurchaseService: TicketPurchaseService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event) => {\n this.eventPrimaryColor = event.themePrimaryColor;\n this.eventPrimaryContrastColor = PhaasStyling.getContrastingTextColor(this.eventPrimaryColor);\n this.ticketPurchaseService.loadTicketTypes(event);\n this.ticketPurchaseService.loadTicketTypePurchasedQuantities(event.organizationID, event.id);\n forkJoin({\n types: this.ticketPurchaseService.ticketTypes.pipe(take(1)),\n quantities: this.ticketPurchaseService.purchasedQuantities.pipe(take(1)),\n }).subscribe((out) => {\n this.initTypes(out.types);\n this.initAvailableQuantities(out.quantities);\n });\n });\n }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n incrementQuantity(selection: TicketTypeSelectControl) {\n const currentQuantity = parseInt(selection.control.value, 10);\n const newQuantity = currentQuantity + 1;\n if (selection.availableQuantity < newQuantity * selection.quantityPerGroup) {\n return;\n }\n selection.control.setValue(newQuantity);\n }\n\n incrementDisabled(selection: TicketTypeSelectControl): boolean {\n const currentQuantity = parseInt(selection.control.value, 10);\n return (currentQuantity * selection.quantityPerGroup + selection.quantityPerGroup) > selection.availableQuantity;\n }\n\n decrementQuantity(selection: TicketTypeSelectControl) {\n const currentQuantity = parseInt(selection.control.value, 10);\n const newQuantity = currentQuantity - 1;\n if (currentQuantity <= 0) {\n return;\n }\n selection.control.setValue(newQuantity);\n }\n\n decrementDisabled(selection: TicketTypeSelectControl): boolean {\n const currentQuantity = parseInt(selection.control.value, 10);\n return currentQuantity <= 0;\n }\n\n isSoldOut(selection: TicketTypeSelectControl): boolean {\n return selection.availableQuantity <= 0;\n }\n\n private initTypes(types: TicketTypeSummary[]) {\n this.typeSelections = {};\n types.forEach((type) => {\n type.maxTickets = type.maxTickets || 9999999;\n const control = new FormControl(this.getSelectedQuantity(type.id));\n const quantityPerGroup = type.quantityPerGroup || 1;\n const typeSelector = {\n type: type,\n control: control,\n availableQuantity: type.maxTickets,\n quantityPerGroup: quantityPerGroup,\n };\n control.valueChanges.subscribe((value) => {\n this.updateTypeSelection(typeSelector, value);\n });\n\n this.typeSelections[type.id] = typeSelector;\n });\n }\n\n private getSelectedQuantity(typeID: string): number {\n const selection = this.ticketPurchaseService.ticketSelections.get(typeID);\n if (!selection) {\n return 0;\n }\n if (selection.quantityPerGroup > 1) {\n return selection.quantity / selection.quantityPerGroup;\n }\n else {\n return selection.quantity;\n }\n }\n\n private initAvailableQuantities(purchasedQuantities: TicketTypePurchasedQuantity[]) {\n Object.values(this.typeSelections).forEach((selector) => {\n const purchased = purchasedQuantities.find((q) => q.ticketTypeID === selector.type.id)?.quantityPurchased || 0;\n selector.availableQuantity = selector.type.maxTickets - purchased;\n selector.control.setValidators([Validators.max(selector.availableQuantity), Validators.min(0)]);\n });\n }\n\n private updateTypeSelection(selector: TicketTypeSelectControl, quantityVal: any) {\n const quantity = selector.quantityPerGroup > 1 ? parseInt(quantityVal, 10) * selector.quantityPerGroup\n : parseInt(quantityVal, 10);\n if (quantity <= 0) {\n this.ticketPurchaseService.ticketSelections.delete(selector.type.id);\n } else if (quantity <= selector.availableQuantity) {\n this.ticketPurchaseService.ticketSelections.set(\n selector.type.id,\n new TicketSelection(selector.type, quantity, selector.quantityPerGroup)\n );\n }\n this.ticketPurchaseService.updateSelectedQuantity();\n }\n\n // keyvalue pipe sort function\n // - this allows the values to be sorted in their original order within the map object\n orderByTicketTypeID() {\n return;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n AuthenticationResult,\n CurrentUserService,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n} from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\nimport { AuthClientService } from 'projects/phaas-flow-ui/src/app/services/auth-client.service';\nimport {\n CreateUserCardInput,\n GivingmanagementClientService\n} from 'projects/phaas-flow-ui/src/app/services/givingmanagement-client.service';\nimport {\n BuyItemsInput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'projects/phaas-flow-ui/src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { RegistrationService } from '../../services/registration.service';\nimport { StateService } from '../../services/state.service';\nimport { CreateAccountComponent } from './create-account/create-account.component';\nimport { AttendeeInfo, AttendeeTicket, TicketPurchaseService } from './ticket-purchase.service';\n\nexport enum TicketPurchaseStep {\n SelectTickets = 'select-tickets',\n CreateAccount = 'create-account',\n ClaimTicket = 'claim-ticket',\n AttendeeInfo = 'attendee-info',\n PurchaseInfo = 'purchase-info',\n}\n\n@Component({\n selector: 'app-ticket-purchase-dialog',\n templateUrl: './ticket-purchase-dialog.component.html',\n styleUrls: ['./ticket-purchase-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TicketPurchaseDialogComponent implements OnInit, OnDestroy {\n @ViewChild(CreateAccountComponent) createAccount: CreateAccountComponent;\n\n readonly TicketPurchaseStep = TicketPurchaseStep;\n\n currentStep: TicketPurchaseStep;\n\n processing = false;\n loggedIn = false;\n event: VirtualEvent;\n\n constructor(\n private events: EventsService,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private ticketPurchaseService: TicketPurchaseService,\n private currentUserService: CurrentUserService,\n private snackbar: MatSnackBar,\n private veClientService: VirtualEventClientService,\n private stateService: StateService,\n private givingManagementClient: GivingmanagementClientService,\n private dialogRef: MatDialogRef,\n ) { }\n\n ngOnInit(): void {\n this.currentStep = TicketPurchaseStep.SelectTickets;\n\n this.stateService.event.pipe(take(1)).subscribe((event) => {\n this.event = event;\n });\n\n this.currentUserService.getProfile().subscribe({\n next: (profile) => {\n this.loggedIn = true;\n this.ticketPurchaseService.profile = profile;\n },\n error: _ => {\n this.events.userLoggedIn.subscribe(() => this.loggedIn = true);\n },\n });\n }\n\n ngOnDestroy(): void {\n // set the registration in the state service if the user logged in/signed up via this dialog\n if (this.ticketPurchaseService.profile) {\n this.stateService.registration.pipe(take(1)).subscribe((out: ReadMyRegistrationOutput) => {\n if (out && out.found) {\n // registration is already set in state service, can close dialog\n return;\n }\n\n this.registrationService.setRegistration().subscribe({\n error: _ => this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('Oops, something went wrong. Please try refreshing the page.', SnackBarIcon.Error, true)\n )\n });\n });\n }\n\n this.ticketPurchaseService.resetSelections();\n }\n\n disableButton(): boolean {\n switch (this.currentStep) {\n case TicketPurchaseStep.SelectTickets:\n return !this.ticketPurchaseService.ticketSelections.size;\n case TicketPurchaseStep.CreateAccount:\n return this.isCreateAccountDisabled();\n case TicketPurchaseStep.ClaimTicket:\n const claimedTicketHasOptions = this.ticketPurchaseService.claimedTicketType?.ticketOptions.length;\n const missingTicketOptionAnswers = claimedTicketHasOptions && !this.ticketPurchaseService.ticketOptionAnswers.length;\n return !this.ticketPurchaseService.claimedTicketType || missingTicketOptionAnswers;\n case TicketPurchaseStep.AttendeeInfo:\n return !this.ticketPurchaseService.attendeeTickets || this.ticketPurchaseService.attendeeTickets.length < 1;\n case TicketPurchaseStep.PurchaseInfo:\n return !this.ticketPurchaseService.creditCardFormData;\n default:\n return false;\n }\n }\n\n private isCreateAccountDisabled(): boolean {\n return !this.loggedIn && !this.ticketPurchaseService.signUpData && !this.ticketPurchaseService.logInData;\n }\n\n back() {\n switch (this.currentStep) {\n case TicketPurchaseStep.PurchaseInfo:\n this.ticketPurchaseService.purchaseTotals = undefined; // reset so we can recalculate subtotal on step 1\n const noOtherAttendees = this.ticketPurchaseService.claimedTicketType && this.claimedOnlyTicket();\n if (noOtherAttendees) {\n this.currentStep = TicketPurchaseStep.ClaimTicket;\n }\n else {\n this.currentStep = TicketPurchaseStep.AttendeeInfo;\n }\n break;\n case TicketPurchaseStep.AttendeeInfo:\n this.currentStep = TicketPurchaseStep.ClaimTicket;\n break;\n case TicketPurchaseStep.ClaimTicket:\n if (this.loggedIn) {\n this.currentStep = TicketPurchaseStep.SelectTickets;\n }\n else {\n // unexpected, but just in case...\n this.currentStep = TicketPurchaseStep.CreateAccount;\n }\n break;\n case TicketPurchaseStep.CreateAccount:\n this.currentStep = TicketPurchaseStep.SelectTickets;\n break;\n default:\n break;\n }\n }\n\n next() {\n switch (this.currentStep) {\n case TicketPurchaseStep.SelectTickets:\n if (this.loggedIn) {\n // skip create account and go to claim ticket if we're already logged in\n this.checkIfRegistered();\n } else {\n this.currentStep = TicketPurchaseStep.CreateAccount;\n }\n break;\n case TicketPurchaseStep.CreateAccount:\n this.createAccountOrLogIn();\n break;\n case TicketPurchaseStep.ClaimTicket:\n const noOtherAttendees = this.ticketPurchaseService.claimedTicketType && this.claimedOnlyTicket();\n if (noOtherAttendees) {\n this.currentStep = TicketPurchaseStep.PurchaseInfo;\n }\n else {\n this.ticketPurchaseService.attendeeTickets = this.mapAttendeeTickets();\n this.currentStep = TicketPurchaseStep.AttendeeInfo;\n }\n break;\n case TicketPurchaseStep.AttendeeInfo:\n this.currentStep = TicketPurchaseStep.PurchaseInfo;\n break;\n default:\n break;\n }\n }\n\n isReserving(): boolean {\n switch (this.currentStep) {\n case TicketPurchaseStep.ClaimTicket:\n return this.claimedOnlyTicket() && this.isFreeTicketTypes();\n case TicketPurchaseStep.AttendeeInfo:\n case TicketPurchaseStep.PurchaseInfo:\n return this.isFreeTicketTypes();\n default:\n return false;\n }\n }\n\n isFreeTicketTypes(): boolean {\n return this.ticketPurchaseService.getSubtotal() < 1;\n }\n\n showPurchaseTotal(): boolean {\n return this.currentStep === TicketPurchaseStep.PurchaseInfo;\n }\n\n private createAccountOrLogIn() {\n if (this.loggedIn) {\n // happens when signing up or logging in via social media\n this.checkIfRegistered();\n return;\n }\n\n if (this.isCreateAccountDisabled()) {\n return;\n }\n\n this.processing = true;\n\n // determine which endpoint to hit\n const createAccountOrLogIn = (): Observable => {\n if (this.ticketPurchaseService.logInData) {\n return this.authClient.login(this.ticketPurchaseService.logInData);\n }\n else {\n return this.authClient.registerAndLogin(this.ticketPurchaseService.signUpData);\n }\n };\n\n createAccountOrLogIn().pipe(\n switchMap((res: AuthenticationResult) => this.registrationService.updateAccess(res))\n ).subscribe({\n next: (profile: Profile) => {\n // loggedIn value set via subscription in onInit\n this.ticketPurchaseService.profile = profile;\n this.checkIfRegistered();\n },\n error: (e) => {\n this.processing = false;\n if (this.ticketPurchaseService.logInData) {\n this.handleLogInError(e);\n } else {\n this.handleSignUpError(e);\n }\n },\n });\n }\n\n private checkIfRegistered(): void {\n this.veClientService.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n this.ticketPurchaseService.alreadyRegistered = existingRegistration.found;\n this.processing = false;\n this.currentStep = TicketPurchaseStep.ClaimTicket;\n });\n }\n\n getSkipClaimTicketText() {\n return this.ticketPurchaseService.alreadyRegistered ? 'Skip' : 'Skip, I\\'m not attending';\n }\n\n private handleLogInError(e: any): void {\n let snackMessage = 'There was a problem logging in to your account.';\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n\n private handleSignUpError(e: any): void {\n let snackMessage = 'There was a problem creating your account.';\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n if (snackMessage === 'This email is already registered') {\n this.createAccount.showAlreadyRegistered = true;\n }\n }\n\n if (!this.createAccount.showAlreadyRegistered) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n this.processing = false;\n }\n\n private claimedOnlyTicket(): boolean {\n const ticketSelections = this.ticketPurchaseService.ticketSelections;\n if (ticketSelections.size > 1) {\n return false;\n }\n\n const ticketSelection = [...ticketSelections.values()][0];\n return ticketSelection.quantity === 1 && this.ticketPurchaseService.claimedTicketType?.id === ticketSelection.type.id;\n }\n\n skip() {\n switch (this.currentStep) {\n case TicketPurchaseStep.ClaimTicket:\n this.ticketPurchaseService.claimedTicketType = undefined; // make sure if one was selected it didn't get saved\n this.ticketPurchaseService.attendeeTickets = this.mapAttendeeTickets();\n this.resetTicketOptionAnswers();\n this.currentStep = TicketPurchaseStep.AttendeeInfo;\n break;\n case TicketPurchaseStep.AttendeeInfo:\n this.clearAttendeeInfo();\n this.currentStep = TicketPurchaseStep.PurchaseInfo;\n break;\n default:\n break;\n }\n }\n\n private resetTicketOptionAnswers() {\n if (this.ticketPurchaseService.ticketOptionAnswers) {\n this.ticketPurchaseService.ticketOptionAnswers = [];\n }\n }\n\n private clearAttendeeInfo() {\n this.ticketPurchaseService.attendeeTickets.forEach(attendeeTicket => {\n attendeeTicket.attendeeInfo = {} as AttendeeInfo;\n });\n }\n\n private mapAttendeeTickets(): AttendeeTicket[] {\n const tickets: AttendeeTicket[] = [];\n\n const ticketSelectionArray = [...this.ticketPurchaseService.ticketSelections.values()];\n ticketSelectionArray.forEach(selection => {\n let quantity = selection.quantity;\n\n // filter out the claimed ticket if step was not skipped\n if (this.ticketPurchaseService.claimedTicketType?.id === selection.type.id) {\n quantity--;\n }\n\n for (let i = 0; i < quantity; i++) {\n tickets.push(new AttendeeTicket(selection.type, null));\n }\n });\n\n return tickets.map(this.populateAttendeeInfoWithEmptyStrings, this);\n }\n\n private populateAttendeeInfoWithEmptyStrings(ticket: AttendeeTicket): AttendeeTicket {\n const attendeeInfoWithEmptyStrings = {\n firstName: '',\n lastName: '',\n email: '',\n } as AttendeeInfo;\n ticket.attendeeInfo = attendeeInfoWithEmptyStrings;\n\n return ticket;\n }\n\n reserveTickets() {\n // purchasing free tickets\n this.processing = true;\n\n const input = {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n firstName: this.ticketPurchaseService.profile.firstName,\n lastName: this.ticketPurchaseService.profile.lastName,\n mobilePhone: this.ticketPurchaseService.profile.phone,\n email: this.ticketPurchaseService.profile.email,\n tickets: this.ticketPurchaseService.getTicketsToPurchase(),\n isExternalPayment: false,\n } as BuyItemsInput;\n\n this.processPayment(input);\n }\n\n purchaseTickets() {\n if (this.currentStep !== TicketPurchaseStep.PurchaseInfo) {\n return;\n }\n\n this.processing = true;\n\n const input = {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n firstName: this.ticketPurchaseService.profile.firstName,\n lastName: this.ticketPurchaseService.profile.lastName,\n mobilePhone: this.ticketPurchaseService.profile.phone,\n email: this.ticketPurchaseService.profile.email,\n tickets: this.ticketPurchaseService.getTicketsToPurchase(),\n payerName: this.ticketPurchaseService.creditCardFormData.cardInfo.name,\n cardName: this.ticketPurchaseService.creditCardFormData.cardInfo.name,\n cardType: this.ticketPurchaseService.creditCardFormData.cardInfo.cardType,\n cardLastFour: this.ticketPurchaseService.creditCardFormData.cardInfo.lastFourDigits,\n expiration: this.ticketPurchaseService.creditCardFormData.cardInfo.expiration,\n token: this.ticketPurchaseService.creditCardFormData.cardInfo.nonce,\n isExternalPayment: false,\n } as BuyItemsInput;\n\n if (this.ticketPurchaseService.creditCardFormData.billingAddress) {\n input.payerStreet = this.ticketPurchaseService.creditCardFormData.billingAddress.street;\n input.payerCity = this.ticketPurchaseService.creditCardFormData.billingAddress.city;\n input.payerState = this.ticketPurchaseService.creditCardFormData.billingAddress.state;\n input.payerZip = this.ticketPurchaseService.creditCardFormData.billingAddress.zip;\n input.payerCountry = this.ticketPurchaseService.creditCardFormData.billingAddress.country;\n }\n this.processPayment(input);\n }\n\n private processPayment(input: BuyItemsInput): void {\n this.veClientService.buyItems(input).subscribe(\n {\n next: _ => {\n if (this.ticketPurchaseService.saveUserCard) {\n this.saveUserCard();\n return;\n }\n this.closeDialog(true);\n },\n error: (e) => {\n this.processing = false;\n let snackMessage = 'There was a problem processing your payment.';\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n }\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n }\n );\n }\n\n closeDialog(ticketPurchased: boolean): void {\n // triggers onDestroy logic\n this.dialogRef.close(ticketPurchased);\n }\n\n private saveUserCard(): void {\n const input = {\n organizationID: this.event.organizationID,\n sourceType: 'virtualevent',\n sourceID: this.event.id,\n cardType: this.ticketPurchaseService.creditCardFormData.cardInfo.cardType,\n cardName: this.ticketPurchaseService.creditCardFormData.cardInfo.name,\n cardExpiration: this.ticketPurchaseService.creditCardFormData.cardInfo.expiration,\n cardLastFour: this.ticketPurchaseService.creditCardFormData.cardInfo.lastFourDigits,\n token: this.ticketPurchaseService.creditCardFormData.cardInfo.nonce,\n } as CreateUserCardInput;\n\n if (this.ticketPurchaseService.creditCardFormData.billingAddress) {\n input.billingStreet = this.ticketPurchaseService.creditCardFormData.billingAddress.street;\n input.billingCity = this.ticketPurchaseService.creditCardFormData.billingAddress.city;\n input.billingState = this.ticketPurchaseService.creditCardFormData.billingAddress.state;\n input.billingZip = this.ticketPurchaseService.creditCardFormData.billingAddress.zip;\n input.billingCountry = this.ticketPurchaseService.creditCardFormData.billingAddress.country;\n }\n\n this.givingManagementClient.createUserCard(input).subscribe(() => {\n this.givingManagementClient.getUserCardForSourceByUserID({\n organizationID: this.event.organizationID,\n sourceID: this.event.id\n }).subscribe((card) => {\n this.stateService.setUserCard(card.userCard);\n this.closeDialog(true);\n });\n }, () => {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was an error saving the credit card.', SnackBarIcon.Error, true)\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FilterComparator, FilterParameterV3, PagingInputV3, Profile, SortDirection, SortParameter } from '@onecause/core';\nimport { CreditCardFormData } from 'lib';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { LoginInput, RegisterUserDTO } from 'src/app/services/auth-client.service';\nimport {\n TicketClientService,\n TicketOptionAnswer,\n TicketTypePurchasedQuantity,\n TicketTypeSummary\n} from 'src/app/services/ticket-client.service';\nimport { BuyItemTickets, CalculatePurchaseTotalsOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { RegistrationService } from '../../services/registration.service';\n\nexport class TicketSelection {\n type: TicketTypeSummary;\n quantity: number;\n quantityPerGroup: number;\n\n constructor(type: TicketTypeSummary, quantity: number, quantityPerGroup: number = 1) {\n this.type = type;\n this.quantity = quantity;\n this.quantityPerGroup = quantityPerGroup;\n }\n}\n\nexport class AttendeeInfo {\n firstName: string;\n lastName: string;\n email: string;\n\n constructor(firstName: string, lastName: string, email: string) {\n this.firstName = firstName;\n this.lastName = lastName;\n this.email = email;\n }\n}\n\nexport class AttendeeTicket {\n type: TicketTypeSummary;\n attendeeInfo: AttendeeInfo;\n\n constructor(type: TicketTypeSummary, attendeeInfo: AttendeeInfo) {\n this.type = type;\n this.attendeeInfo = attendeeInfo;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TicketPurchaseService {\n\n ticketTypes: Observable;\n purchasedQuantities: Observable;\n ticketSelections: Map = new Map();\n ticketSelectionsQuantity: Observable;\n claimedTicketType: TicketTypeSummary;\n signUpData: RegisterUserDTO;\n logInData: LoginInput;\n creditCardFormData: CreditCardFormData;\n saveUserCard: boolean;\n attendeeTickets: AttendeeTicket[] = [];\n purchaseTotals: CalculatePurchaseTotalsOutput;\n profile: Profile;\n alreadyRegistered = false;\n ticketOptionAnswers: TicketOptionAnswer[] = [];\n\n private ticketTypesSub = new ReplaySubject(1);\n private quantitiesSub = new ReplaySubject(1);\n private selectionsSub = new ReplaySubject(1);\n\n constructor(\n private ticketClient: TicketClientService,\n private registrationService: RegistrationService,\n ) {\n this.ticketTypes = this.ticketTypesSub.asObservable();\n this.purchasedQuantities = this.quantitiesSub.asObservable();\n this.ticketSelectionsQuantity = this.selectionsSub.asObservable();\n }\n\n loadTicketTypes(event: VirtualEvent) {\n this.getTicketTypePage(event).subscribe((types) => {\n this.ticketTypesSub.next(types);\n });\n }\n\n loadTicketTypePurchasedQuantities(orgID: string, eventID: string) {\n return this.ticketClient.viewTicketTypePurchasedQuantity({\n organizationID: orgID,\n source: eventID,\n paging: new PagingInputV3().Sort(new SortParameter('quantity_purchased', SortDirection.Ascending)),\n }).subscribe((out) => {\n this.quantitiesSub.next(out.items);\n });\n }\n\n resetSelections() {\n this.ticketSelections.clear();\n this.updateSelectedQuantity();\n this.claimedTicketType = undefined;\n this.signUpData = undefined;\n this.logInData = undefined;\n this.attendeeTickets = undefined;\n this.purchaseTotals = undefined;\n this.profile = undefined;\n this.alreadyRegistered = false;\n this.ticketOptionAnswers = [];\n }\n\n updateSelectedQuantity() {\n let total = 0;\n this.ticketSelections.forEach((value: TicketSelection) => {\n value.quantityPerGroup > 1 ? total += (value.quantity / value.quantityPerGroup) : total += value.quantity;\n });\n this.selectionsSub.next(total);\n }\n\n getTicketsToPurchase(): BuyItemTickets[] {\n const tickets: BuyItemTickets[] = [];\n if (this.claimedTicketType) {\n const ticketTypeSelection = this.ticketSelections.get(this.claimedTicketType?.id);\n tickets.push({\n amountCents: ticketTypeSelection.type.priceCents,\n priceCents: ticketTypeSelection.type.priceCents,\n valueCents: ticketTypeSelection.type.valueCents,\n ticketTypeID: ticketTypeSelection.type.id,\n attendeeFirstName: this.profile.firstName,\n attendeeLastName: this.profile.lastName,\n attendeeEmail: this.profile.email,\n ticketOptionAnswers: this.filterAnswers(this.ticketOptionAnswers),\n isClaiming: true,\n } as BuyItemTickets);\n }\n\n if (this.attendeeTickets?.length) {\n this.attendeeTickets.forEach((attendee) => {\n tickets.push({\n amountCents: attendee.type.priceCents,\n priceCents: attendee.type.priceCents,\n valueCents: attendee.type.valueCents,\n ticketTypeID: attendee.type.id,\n attendeeFirstName: attendee.attendeeInfo.firstName,\n attendeeLastName: attendee.attendeeInfo.lastName,\n attendeeEmail: attendee.attendeeInfo.email,\n isClaiming: false,\n } as BuyItemTickets);\n });\n }\n\n return tickets;\n }\n\n private filterAnswers(answers: TicketOptionAnswer[]) {\n // filter so we don't save empty answers\n return answers.filter(answer => answer.ticketOptionAnswer || (answer.ticketOptionAnswerID && answer.ticketOptionAnswer === ''));\n }\n\n getSubtotal(): number {\n if (!this.purchaseTotals) {\n // let's do the math ourselves to quickly show subtotal updates\n let subtotal = 0;\n this.ticketSelections.forEach((selection) => {\n subtotal += this.getSelectionPrice(selection);\n });\n return subtotal;\n }\n\n return (this.purchaseTotals.ticketsTotalCents / 100) || 0;\n }\n\n getFees(): number {\n if (!this.purchaseTotals) {\n return 0;\n }\n\n return (this.purchaseTotals.ticketFeesTotalCents / 100) || 0;\n }\n\n getTotal(): number {\n if (!this.purchaseTotals) {\n return 0;\n }\n return (this.purchaseTotals.totalCents / 100) || 0;\n }\n\n getSelectionPrice(selection: TicketSelection): number {\n return (selection.quantity * selection.type.priceCents) / 100;\n }\n\n getTotalTickets(): number {\n let total = 0;\n this.ticketSelections.forEach((value: TicketSelection, key: string) => {\n total += value.quantity;\n });\n return total;\n }\n\n getGroupTickets(): Map {\n const groupTickets: Map = new Map();\n this.ticketSelections.forEach((value: TicketSelection, key: string) => {\n if (value.quantityPerGroup > 1) {\n groupTickets.set(key, value);\n }\n });\n return groupTickets;\n }\n\n getIndividualTickets(): Map {\n const individualTickets: Map = new Map();\n this.ticketSelections.forEach((value: TicketSelection, key: string) => {\n if (value.quantityPerGroup === 1) {\n individualTickets.set(key, value);\n }\n });\n return individualTickets;\n }\n\n private getTicketTypePage(\n event: VirtualEvent,\n paging?: PagingInputV3,\n currentList?: TicketTypeSummary[],\n ): Observable {\n if (!paging) {\n paging = new PagingInputV3().Filter(new FilterParameterV3('active', FilterComparator.Equal, true));\n }\n if (!currentList) {\n currentList = [];\n }\n return this.ticketClient.listTicketTypes({\n organizationID: event.organizationID,\n source: event.id,\n paging: paging,\n }).pipe(switchMap((typesOut) => {\n if (event.ticketTypeOrderIDs.length > 0) {\n event.ticketTypeOrderIDs.map(ticketTypeID => {\n const type = typesOut.items.find(item => item.id === ticketTypeID);\n if (type) { currentList.push(type); }\n });\n } else {\n currentList = currentList.concat(typesOut.items);\n }\n\n if (typesOut.paging.nextPage) {\n return this.getTicketTypePage(\n event,\n typesOut.paging.nextPage,\n currentList,\n );\n }\n return of(currentList);\n }));\n }\n}\n","import { Component, OnInit, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport { VirtualEventService } from 'src/app/lazy-modules/virtual-event/services/virtual-event.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-ticket-purchase-header',\n templateUrl: './ticket-purchase-header.component.html',\n styleUrls: ['./ticket-purchase-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TicketPurchaseHeaderComponent implements OnInit {\n @Output() close = new EventEmitter();\n\n event$ = new BehaviorSubject(null);\n eventDate$ = new BehaviorSubject(null);\n eventTime$ = new BehaviorSubject(null);\n\n constructor(\n private stateService: StateService,\n private virtualEventService: VirtualEventService,\n ) { }\n\n ngOnInit(): void {\n this.event$.subscribe((event) => {\n if (!event) { return; }\n this.eventDate$.next(this.virtualEventService.getFormattedEventDate(event.primaryDate, event.primaryEndDate, true));\n this.eventTime$.next(this.virtualEventService.getFormattedEventTime(event.primaryDate, event.primaryEndDate));\n });\n this.stateService.event\n .pipe(take(1))\n .subscribe((event: VirtualEvent) => {\n this.event$.next(event);\n });\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { EnvironmentService } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from '../../services/state.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\n\n@Component({\n selector: 'app-ticket-purchase-v2',\n templateUrl: './ticket-purchase-v2.component.html',\n styleUrls: ['./ticket-purchase-v2.component.scss']\n})\nexport class TicketPurchaseV2Component implements OnInit {\n\n isMobile = true;\n isSidenav = true;\n event: VirtualEvent;\n dateString = '';\n iframeURL = '';\n\n @Output() closeTicketSelect = new EventEmitter();\n\n constructor(\n private virtualEventService: VirtualEventService,\n private state: StateService,\n private datePipe: DatePipe,\n private env: EnvironmentService\n ) { }\n\n ngOnInit(): void {\n this.isMobile = this.virtualEventService.isMobile();\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.getDateString();\n this.env.getURL('eventsupportertickets', '').subscribe((url) => {\n this.iframeURL = `${url}/organizations/${event.organizationID}/events/${event.id}/purchase-tickets`;\n });\n });\n }\n\n close(): void {\n this.closeTicketSelect.emit('closeSidenav');\n }\n\n getDateString(): void {\n const startDate = this.datePipe.transform(this.event.primaryDate, 'MMMM d, y');\n const startDateTime = this.datePipe.transform(this.event.primaryDate, 'h:mm a');\n const endDate = this.datePipe.transform(this.event.primaryEndDate, 'MMMM d, y');\n const endDateTime = this.datePipe.transform(this.event.primaryEndDate, 'h:mm a');\n\n if (startDate === endDate) {\n this.dateString = `${startDate} ${startDateTime} - ${endDateTime}`;\n } else {\n this.dateString = `${startDate} ${startDateTime} - ${endDate} ${endDateTime}`;\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CurrentUserService } from '@onecause/core';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport { UserCard } from 'src/app/services/givingmanagement-client.service';\nimport {\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../../services/events.service';\nimport { StateService } from '../../../services/state.service';\nimport { VECRoutingService } from '../../../services/vec-routing.service';\nimport { CreditCardDialogComponent } from '../../credit-card-dialog/credit-card-dialog.component';\nimport { EditProfileDialogComponent } from '../../edit-profile-dialog/edit-profile-dialog.component';\nimport { RightDrawerContentService } from '../../right-drawer-content/right-drawer-content.service';\nimport { EditProfileConfig, UserProfileService } from '../user-profile.service';\n\n@Component({\n selector: 'app-profile-manager',\n templateUrl: './profile-manager.component.html',\n styleUrls: ['./profile-manager.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProfileManagerComponent implements OnInit, OnDestroy {\n event$: Observable;\n registration$: Observable;\n userCard$: Observable;\n showUserCard$: Observable;\n routesInUse$: Observable<'IPO' | 'NORMAL'>;\n showPurchaseTickets$: Observable;\n showBuyTickets$: Observable;\n\n event: VirtualEvent;\n registration: ReadMyRegistrationOutput;\n routesInUse: 'IPO' | 'NORMAL';\n editProfileConfig: EditProfileConfig;\n\n hasIncompleteGuestSessions$ = new Subject();\n\n private destroy$ = new Subject();\n\n constructor(\n private userProfileService: UserProfileService,\n private state: StateService,\n private events: EventsService,\n private dialog: MatDialog,\n private vecRoutingService: VECRoutingService,\n private currentUser: CurrentUserService,\n private rightDrawerService: RightDrawerContentService,\n private veClient: VirtualEventClientService,\n ) { }\n\n ngOnInit(): void {\n this.event$ = this.userProfileService.getEvent();\n this.registration$ = this.userProfileService.getRegistration();\n this.userCard$ = this.state.userCard;\n this.showUserCard$ = this.userProfileService.getShowUserCard();\n this.showPurchaseTickets$ = this.userProfileService.getShowPurchaseTickets();\n this.showBuyTickets$ = this.state.showPurchaseTickets;\n\n this.event$.subscribe(event => {\n this.event = event;\n this.registration$.subscribe(registration => this.registration = registration);\n });\n this.userProfileService.getEditProfileConfig().subscribe(config => this.editProfileConfig = config);\n this.checkForIncompleteGuestSessions();\n\n this.rightDrawerService.drawerClosed$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.checkForIncompleteGuestSessions();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n buyTickets() {\n this.rightDrawerService.openTicketSelect();\n }\n\n viewTicketManager() {\n this.rightDrawerService.openTicketManager();\n }\n\n logout() {\n this.currentUser.updateTokens('', '').subscribe(_ => {\n this.events.raiseUserLoggedOut();\n this.vecRoutingService.goToHome();\n });\n }\n\n changeCard() {\n this.dialog.open(CreditCardDialogComponent, { autoFocus: false });\n }\n\n editProfile() {\n const dialogRef = this.dialog.open(EditProfileDialogComponent, this.editProfileConfig);\n }\n\n private checkForIncompleteGuestSessions() {\n combineLatest([\n this.state.eventSession.pipe(take(1)),\n this.currentUser.isLoggedIn().pipe(filter((isLoggedIn) => isLoggedIn), take(1)),\n ]).subscribe(([eventSession]) => {\n this.veClient.listMyIncompleteGuestSessionIDs({\n organizationID: eventSession.organizationID,\n eventID: eventSession.eventID,\n eventSessionID: eventSession.id,\n }).subscribe((out) => {\n this.hasIncompleteGuestSessions$.next(out.incompleteGuestSessionIDs?.length > 0);\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GetMyGuestSessionSummaryOutput } from 'src/app/services/virtual-event-client.service';\nimport { UserProfileService } from '../user-profile.service';\n\n@Component({\n selector: 'app-user-event-details',\n templateUrl: './user-event-details.component.html',\n styleUrls: ['./user-event-details.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserEventDetailsComponent implements OnInit {\n\n myGuestSessionSummary$: Observable;\n\n formattedTableNumber: string;\n showBidderNumberAndTableDetails: boolean;\n\n constructor(\n private userProfileService: UserProfileService,\n ) { }\n\n ngOnInit(): void {\n this.myGuestSessionSummary$ = this.userProfileService.getMyGuestSessionSummary();\n this.myGuestSessionSummary$.subscribe((myGuestSessionSummary) => {\n if (myGuestSessionSummary && myGuestSessionSummary.tableNumber) {\n this.formattedTableNumber = myGuestSessionSummary.tableNumber.toLowerCase().indexOf('table') > -1\n ? myGuestSessionSummary.tableNumber\n : 'Table ' + myGuestSessionSummary.tableNumber;\n }\n });\n this.userProfileService.getFeatureFlags().subscribe((featureFlags) => {\n if (featureFlags?.featureFlags) {\n this.showBidderNumberAndTableDetails = !!featureFlags.featureFlags.find(flag => flag.featureName === 'in-person');\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Profile } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { GetMyGuestSessionSummaryOutput } from 'src/app/services/virtual-event-client.service';\nimport { UserProfileService } from '../user-profile.service';\n\n@Component({\n selector: 'app-user-information',\n templateUrl: './user-information.component.html',\n styleUrls: ['./user-information.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UserInformationComponent implements OnInit {\n\n fullName$: Observable;\n initials$: Observable;\n profile$: Observable;\n myGuestSessionSummary$: Observable;\n\n constructor(\n private userProfileService: UserProfileService\n ) { }\n\n ngOnInit(): void {\n this.profile$ = this.userProfileService.getProfile();\n this.fullName$ = this.userProfileService.getFullName();\n this.initials$ = this.userProfileService.getInitials();\n this.myGuestSessionSummary$ = this.userProfileService.getMyGuestSessionSummary();\n }\n\n onNavigationClick(): void {\n this.userProfileService.navigate();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CurrentUserService, FilterComparator, FilterParameterV3, PagingInputV3, Profile } from '@onecause/core';\nimport { combineLatest, forkJoin, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, take, takeUntil, tap } from 'rxjs/operators';\nimport { ChromeClientService, GetFeatureFlagListForEntityOutput } from 'src/app/services/chrome-client.service';\nimport { ListTicketTypesOutput, TicketClientService } from 'src/app/services/ticket-client.service';\nimport {\n EventSessionSummary,\n GetMyGuestSessionSummaryOutput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { UserProfileConfig, UserProfileService } from './user-profile.service';\n\n\n@Component({\n selector: 'app-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UserProfileComponent implements OnInit, OnDestroy {\n\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n registration: ReadMyRegistrationOutput;\n profile: Profile;\n guestSessionSummary: GetMyGuestSessionSummaryOutput;\n featureFlags: GetFeatureFlagListForEntityOutput;\n ticketTypes: ListTicketTypesOutput;\n eventSessionID: string;\n\n loading$: Observable;\n userProfileConfig: UserProfileConfig;\n\n private destroy$ = new Subject();\n\n constructor(\n private currentUser: CurrentUserService,\n private state: StateService,\n private events: EventsService,\n private activatedRoute: ActivatedRoute,\n private userProfileService: UserProfileService,\n private virtualEventClient: VirtualEventClientService,\n private router: Router,\n private chromeClient: ChromeClientService,\n private ticketClient: TicketClientService,\n ) { }\n\n ngOnInit(): void {\n this.loading$ = this.userProfileService.getLoading();\n\n forkJoin({\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1)),\n }).subscribe((out) => {\n this.event = out.event;\n this.eventSessionID = out.eventSession.id;\n\n const featureFlagSub = this.chromeClient.getFeatureFlagListForOrganization(out.event.organizationID, new PagingInputV3().Take(20))\n .pipe(tap((featureFlags) => this.featureFlags = featureFlags));\n const regSub = this.state.registration.pipe(takeUntil(this.destroy$), tap(reg => this.registration = reg));\n const profileSub = this.loadProfile().pipe(tap(profile => this.profile = profile));\n const ticketTypeSub = this.ticketClient.listTicketTypes({\n organizationID: this.event.organizationID,\n source: this.event.id,\n paging: new PagingInputV3().Filter(new FilterParameterV3('active', FilterComparator.Equal, true))\n }).pipe(tap((ticketTypes) => this.ticketTypes = ticketTypes));\n\n combineLatest([\n featureFlagSub,\n profileSub,\n ticketTypeSub,\n ]).pipe(\n takeUntil(this.destroy$),\n take(1),\n ).subscribe(() => {\n regSub.subscribe();\n this.loadGuestInfo().subscribe(() => {\n this.initUserProfileService();\n });\n this.initUserProfileService();\n });\n\n this.userProfileService.navigationEvents\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n });\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.loadProfile().subscribe();\n });\n });\n }\n\n initUserProfileService() {\n const userProfileConfig = {\n guestSessionSummary: this.guestSessionSummary,\n event: this.event,\n registration: this.registration,\n profile: this.profile,\n featureFlags: this.featureFlags,\n profileManagerOptions: {\n showExperienceToggle: true,\n showUserCard: true,\n showPurchaseTickets: !!this.ticketTypes.items.length,\n editProfileConfig: {\n autoFocus: false,\n panelClass: 'profile-manager__dialog-container',\n },\n }\n } as UserProfileConfig;\n this.userProfileService.init(userProfileConfig);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private loadProfile(): Observable {\n return this.currentUser.getProfile('flow/ve/userProfile::load').pipe(\n catchError(() => {\n this.profile = null;\n return of(null);\n }),\n map((profile) => {\n this.profile = profile;\n return profile;\n }));\n }\n\n private loadGuestInfo(): Observable {\n return this.virtualEventClient.getMyGuestSessionSummary({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n eventSessionID: this.eventSessionID,\n }).pipe(\n map((out) => {\n this.guestSessionSummary = out;\n return out;\n })\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { ButtonModule, CreditCardDisplayModule } from '@onecause/core';\nimport { ProfileManagerComponent } from './profile-manager/profile-manager.component';\nimport { UserEventDetailsComponent } from './user-event-details/user-event-details.component';\nimport { UserInformationComponent } from './user-information/user-information.component';\nimport { UserProfileComponent } from './user-profile.component';\nimport { UserProfileService } from './user-profile.service';\n\nconst matModules = [\n MatIconModule,\n MatDividerModule,\n MatButtonModule,\n MatProgressSpinnerModule,\n];\n\n@NgModule({\n declarations: [\n UserProfileComponent,\n UserEventDetailsComponent,\n ProfileManagerComponent,\n UserInformationComponent\n ],\n imports: [\n CommonModule,\n ...matModules,\n ButtonModule,\n CreditCardDisplayModule,\n ],\n exports: [\n UserProfileComponent\n ],\n providers: [\n UserProfileService\n ]\n})\nexport class UserProfileModule { }\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Profile } from '@onecause/core';\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';\nimport { GetFeatureFlagListForEntityOutput } from 'src/app/services/chrome-client.service';\nimport {\n GetMyGuestSessionSummaryOutput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n} from 'src/app/services/virtual-event-client.service';\n\nexport class UserProfileConfig {\n guestSessionSummary?: GetMyGuestSessionSummaryOutput;\n event?: VirtualEvent;\n registration?: ReadMyRegistrationOutput;\n profile?: Profile;\n featureFlags?: GetFeatureFlagListForEntityOutput;\n\n profileManagerOptions?: UserProfileProfileManagerConfig;\n}\nexport class UserProfileEventDetailsConfig {\n\n}\n\nexport class UserProfileProfileManagerConfig {\n showExperienceToggle?: boolean;\n showUserCard?: boolean;\n editProfileConfig?: EditProfileConfig;\n showPurchaseTickets?: boolean;\n}\nexport class UserProfileUserInformationConfig {\n\n}\n\nexport class EditProfileConfig {\n autoFocus?: boolean;\n panelClass?: string;\n width?: string;\n height?: string;\n maxWidth?: string;\n}\n\nexport const USER_PROFILE_DEFAULT_OPTIONS\n = new InjectionToken('Set options to override default behavior on user_profile.init');\n\n@Injectable()\nexport class UserProfileService {\n\n private event: ReplaySubject;\n private registration: ReplaySubject;\n private profile: ReplaySubject;\n private guestSessionSummary: ReplaySubject;\n private featureFlags: ReplaySubject;\n\n // UserProfileProfileManagerConfig\n private showUserCard: ReplaySubject;\n private editProfileConfig: ReplaySubject;\n private showPurchaseTickets: ReplaySubject;\n\n private firstName = '';\n private lastName = '';\n private fullName: ReplaySubject;\n private initials: ReplaySubject;\n\n private navigation = new Subject();\n navigationEvents = this.navigation.asObservable();\n\n private loading = new BehaviorSubject(true);\n\n constructor(\n @Inject(USER_PROFILE_DEFAULT_OPTIONS) private defaultConfig: UserProfileConfig\n ) { }\n\n init(config?: UserProfileConfig): this {\n if (!config) {\n config = {};\n }\n\n if (config.guestSessionSummary) {\n if (!this.guestSessionSummary) {\n this.guestSessionSummary = new ReplaySubject(1);\n }\n this.guestSessionSummary.next(config.guestSessionSummary);\n }\n\n if (config.event) {\n if (!this.event) {\n this.event = new ReplaySubject(1);\n }\n this.event.next(config.event);\n }\n\n if (config.profile) {\n if (!this.profile) {\n this.profile = new ReplaySubject(1);\n }\n this.profile.next(config.profile);\n }\n\n if (config.registration) {\n if (!this.registration) {\n this.registration = new ReplaySubject(1);\n }\n this.registration.next(config.registration);\n }\n\n if (config.featureFlags) {\n if (!this.featureFlags) {\n this.featureFlags = new ReplaySubject(1);\n }\n this.featureFlags.next(config.featureFlags);\n }\n\n this.setUserInformationOptions(config);\n\n if (config.profileManagerOptions) {\n this.setProfileManagerOptions(config);\n }\n\n this.loading.next(false);\n return this;\n }\n\n /* Navigation */\n navigate(): void {\n this.navigation.next();\n }\n\n /* Profile Manager */\n setProfileManagerOptions(config: UserProfileConfig): void {\n if (config.profileManagerOptions) {\n if (config.profileManagerOptions.showUserCard) {\n if (!this.showUserCard) {\n this.showUserCard = new ReplaySubject(1);\n }\n this.showUserCard.next(config.profileManagerOptions.showUserCard);\n }\n\n if (config.profileManagerOptions.editProfileConfig) {\n if (!this.editProfileConfig) {\n this.editProfileConfig = new ReplaySubject(1);\n }\n this.editProfileConfig.next(config.profileManagerOptions.editProfileConfig);\n }\n\n if (config.profileManagerOptions.showPurchaseTickets) {\n if (!this.showPurchaseTickets) {\n this.showPurchaseTickets = new ReplaySubject(1);\n }\n this.showPurchaseTickets.next(config.profileManagerOptions.showPurchaseTickets);\n }\n }\n }\n\n /* User Information */\n setUserInformationOptions(config: UserProfileConfig): void {\n // set fullname and initials\n this.firstName = config.profile?.firstName;\n this.lastName = config.profile?.lastName;\n\n if (this.firstName || this.lastName) {\n if (!this.fullName) {\n this.fullName = new ReplaySubject(1);\n }\n this.fullName.next((this.firstName + ' ' + this.lastName).trim());\n\n if (!this.initials) {\n this.initials = new ReplaySubject(1);\n }\n this.initials.next((this.firstName.substr(0, 1) + this.lastName.substr(0, 1)).toUpperCase());\n }\n }\n\n getEvent(): Observable {\n if (!this.event) {\n this.event = new ReplaySubject(1);\n }\n return this.event.asObservable();\n }\n\n setEvent(newValue: VirtualEvent) {\n if (!this.event) {\n this.event = new ReplaySubject(1);\n }\n this.event.next(newValue);\n }\n\n getRegistration(): Observable {\n if (!this.registration) {\n this.registration = new ReplaySubject(1);\n }\n return this.registration.asObservable();\n }\n\n setRegistration(newValue: ReadMyRegistrationOutput) {\n if (!this.registration) {\n this.registration = new ReplaySubject(1);\n }\n this.registration.next(newValue);\n }\n\n getProfile(): Observable {\n if (!this.profile) {\n this.profile = new ReplaySubject(1);\n }\n return this.profile.asObservable();\n }\n\n setProfile(newValue: Profile) {\n if (!this.profile) {\n this.profile = new ReplaySubject(1);\n }\n this.profile.next(newValue);\n }\n\n getMyGuestSessionSummary(): Observable {\n if (!this.guestSessionSummary) {\n this.guestSessionSummary = new ReplaySubject(1);\n }\n return this.guestSessionSummary.asObservable();\n }\n\n setMyGuestSessionSummary(newValue: GetMyGuestSessionSummaryOutput) {\n if (!this.guestSessionSummary) {\n this.guestSessionSummary = new ReplaySubject(1);\n }\n this.guestSessionSummary.next(newValue);\n }\n\n getFeatureFlags(): Observable {\n if (!this.featureFlags) {\n this.featureFlags = new ReplaySubject(1);\n }\n return this.featureFlags.asObservable();\n }\n\n setFeatureFlags(newValue: GetFeatureFlagListForEntityOutput) {\n if (!this.featureFlags) {\n this.featureFlags = new ReplaySubject(1);\n }\n this.featureFlags.next(newValue);\n }\n\n getFullName(): Observable {\n if (!this.fullName) {\n this.fullName = new ReplaySubject(1);\n }\n return this.fullName.asObservable();\n }\n\n setFullName(newValue: string): void {\n this.fullName.next(newValue);\n }\n\n getInitials(): Observable {\n if (!this.initials) {\n this.initials = new ReplaySubject(1);\n }\n return this.initials.asObservable();\n }\n\n setInitials(newValue: string): void {\n this.initials.next(newValue);\n }\n\n getShowUserCard(): Observable {\n if (!this.showUserCard) {\n this.showUserCard = new ReplaySubject(1);\n }\n return this.showUserCard.asObservable();\n }\n\n setShowUserCard(newValue: boolean): void {\n if (!this.showUserCard) {\n this.showUserCard = new ReplaySubject(1);\n }\n this.showUserCard.next(newValue);\n }\n\n getShowPurchaseTickets(): Observable {\n if (!this.showPurchaseTickets) {\n this.showPurchaseTickets = new ReplaySubject(1);\n }\n return this.showPurchaseTickets.asObservable();\n }\n\n getEditProfileConfig(): Observable {\n if (!this.editProfileConfig) {\n this.editProfileConfig = new ReplaySubject(1);\n }\n return this.editProfileConfig.asObservable();\n }\n\n setEditProfileConfig(newValue: EditProfileConfig): void {\n if (!this.editProfileConfig) {\n this.editProfileConfig = new ReplaySubject(1);\n }\n this.editProfileConfig.next(newValue);\n }\n\n getLoading(): Observable {\n if (!this.loading) {\n this.loading = new BehaviorSubject(true);\n }\n return this.loading.asObservable();\n }\n\n setLoading(newValue: boolean): void {\n if (!this.loading) {\n this.loading = new BehaviorSubject(newValue);\n } else {\n this.loading.next(newValue);\n }\n }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { merge, Subject } from 'rxjs';\nimport { filter, take, takeUntil, throttleTime } from 'rxjs/operators';\nimport { VirtualChairChangedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport {\n CreateChannelInput,\n CreateChannelOutput,\n ReadEventInput,\n ReadEventOutput,\n ReadMyRegistrationOutput,\n ReadMyVirtualChairOutput,\n ReadMyVirtualTableOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport { MasterConnection, VirtualTableMasterService } from 'src/app/services/virtual-table-master.service';\nimport { ViewConnection, VirtualTableViewerService } from 'src/app/services/virtual-table-viewer.service';\nimport { v4 as uuid } from 'uuid';\n\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\n\nexport class VirtualChairConnection {\n connection: ViewConnection;\n virtualChairID: string;\n channelARN: string;\n firstName: string;\n lastName: string;\n}\n\n@Component({\n selector: 'app-virtual-table',\n templateUrl: './virtual-table.component.html',\n styleUrls: ['./virtual-table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class VirtualTableComponent implements OnInit, OnDestroy {\n\n // event information\n @Input() userInfo: ReadMyRegistrationOutput;\n event: VirtualEvent;\n chair: ReadMyVirtualChairOutput;\n\n // webhook handlers\n destroy$ = new Subject();\n maxProgressRefreshRateMs = 500;\n\n // state information\n joinedTable = false;\n hasChair = false;\n connectionsPending: string[] = [];\n\n // virtual table connection management\n masterConnection: MasterConnection;\n virtualChairConnections: VirtualChairConnection[] = [];\n clientID: string;\n\n // virtual table controls\n volume = 80;\n\n constructor(\n private websocketService: WebSocketService,\n private virtualEventService: VirtualEventClientService,\n private stateService: StateService,\n private eventsService: EventsService,\n private viewerService: VirtualTableViewerService,\n private masterService: VirtualTableMasterService,\n private featureFlagService: FeatureFlagService,\n ) { }\n\n ngOnInit() {\n this.clientID = uuid();\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.userInfo?.found) {\n this.getChair();\n this.subscribeToEvents();\n this.subscribeToWebsocketEvents();\n }\n else {\n this.handleUserLoggedIn();\n }\n });\n }\n\n ngOnDestroy() {\n if (this.hasChair && this.joinedTable) {\n this.leaveVirtualTable();\n }\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private subscribeToEvents() {\n this.handleViewerDisconnection();\n this.handleMasterConnectionRequested();\n this.handleMasterConnectionFailed();\n }\n\n private handleUserLoggedIn() {\n this.eventsService.userLoggedIn.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.stateService.registration.pipe(takeUntil(this.destroy$)).subscribe((registration) => {\n if (registration?.found) {\n this.userInfo = registration;\n this.getChair();\n }\n });\n });\n }\n\n private subscribeToWebsocketEvents() {\n this.websocketService.eventConfigChanged.pipe(\n takeUntil(this.destroy$),\n throttleTime(this.maxProgressRefreshRateMs)\n ).subscribe({\n next: () => this.refreshEvent(),\n error: (err) => console.error('Failed to handle event configuration change', err),\n });\n\n this.stateService.registration.pipe(\n filter((reg) => reg && reg.found),\n take(1)\n ).subscribe(() => {\n this.handleVirtualTableChanges();\n });\n }\n\n private handleVirtualTableChanges() {\n merge(\n this.websocketService.virtualChairCreated,\n this.websocketService.virtualChairUpdated,\n ).pipe(\n takeUntil(this.destroy$),\n throttleTime(this.maxProgressRefreshRateMs)\n ).subscribe((payload: VirtualChairChangedPayload) => {\n if (payload.userID === this.userInfo.userID) {\n this.getChair();\n }\n });\n\n this.websocketService.virtualChairDeleted.pipe(\n takeUntil(this.destroy$),\n throttleTime(this.maxProgressRefreshRateMs)\n ).subscribe((payload: VirtualChairChangedPayload) => {\n if (payload.virtualChairID === this.chair?.id) {\n this.hasChair = false;\n }\n });\n\n this.websocketService.virtualChairDeletedChannel.pipe(\n takeUntil(this.destroy$),\n throttleTime(this.maxProgressRefreshRateMs)\n ).subscribe((payload: VirtualChairChangedPayload) => {\n if (this.joinedTable && payload.virtualChairID !== this.chair?.id\n && payload.virtualTableID === this.chair?.virtualTableID) {\n this.stopViewer(payload.virtualChairID);\n }\n });\n }\n\n private handleViewerDisconnection() {\n this.viewerService.getDisconnectionSubject().subscribe((channelARN) => {\n const chair = this.virtualChairConnections.filter((vcc) => vcc.channelARN === channelARN)[0];\n if (chair) {\n console.log(`Restarting Disconnected Viewer - ChannelARN for ${chair.virtualChairID}: ${chair.channelARN}`);\n this.startViewer(chair.virtualChairID, chair.channelARN, chair.firstName, chair.lastName);\n }\n });\n }\n\n private handleMasterConnectionRequested() {\n this.stateService.registration.pipe(filter((reg) => reg && reg.found), take(1)).subscribe(() => {\n this.masterService.getConnectionRequestedSubject().subscribe((clientID) => {\n if (clientID === '' || this.connectionsPending.find((c) => c === clientID)) {\n return; // prevents multiple viewers due to race conditions\n }\n this.connectionsPending.push(clientID);\n\n this.virtualEventService.readMyVirtualTable(\n this.event.organizationID,\n this.event.id\n ).subscribe((out: ReadMyVirtualTableOutput) => {\n const activeChairs = out.virtualTable.chairs.filter(chair => chair.channelARN !== '' && chair.id !== this.chair.id);\n activeChairs.forEach((activeChair) => {\n const foundConnection = this.virtualChairConnections.find((vcc) => vcc.virtualChairID === activeChair.id);\n if (!foundConnection || foundConnection.channelARN !== activeChair.channelARN) {\n this.startViewer(activeChair.id, activeChair.channelARN, activeChair.firstName, activeChair.lastName);\n }\n });\n });\n this.connectionsPending.splice(this.connectionsPending.findIndex((c) => c === clientID), 1);\n });\n });\n }\n\n private handleMasterConnectionFailed() {\n this.stateService.registration.pipe(filter((reg) => reg && reg.found), take(1)).subscribe(() => {\n this.masterService.getConnectionFailedSubject().subscribe((clientID) => {\n if (clientID === '') {\n return;\n }\n this.connectionsPending.push(clientID);\n\n this.virtualEventService.readMyVirtualTable(\n this.event.organizationID,\n this.event.id\n ).subscribe((out: ReadMyVirtualTableOutput) => {\n const activeChairs = out.virtualTable.chairs.filter(chair => chair.channelARN !== '' && chair.id !== this.chair.id);\n activeChairs.forEach((activeChair) => {\n const foundConnection = this.virtualChairConnections.find((vcc) => vcc.virtualChairID === activeChair.id);\n if (foundConnection?.connection?.peerConnection?.connectionState.toString() !== 'connected') {\n console.log(`Restarting Viewer from Failed Master - ChannelARN for ${activeChair.id}: ${activeChair.channelARN}`);\n this.startViewer(activeChair.id, activeChair.channelARN, activeChair.firstName, activeChair.lastName);\n }\n });\n });\n this.connectionsPending.splice(this.connectionsPending.findIndex((c) => c === clientID), 1);\n });\n });\n }\n\n private refreshEvent() {\n this.virtualEventService.readEvent({\n organizationID: this.event.organizationID,\n eventID: this.event.id\n } as ReadEventInput).pipe(take(1)).subscribe((event: ReadEventOutput) => {\n if (this.event.isVirtualTableActive !== event.isVirtualTableActive) {\n console.log(`Virtual tables have been turned ${event.isVirtualTableActive ? 'on' : 'off'}.`);\n }\n\n this.stateService.setEvent(event);\n this.setShowPurchaseTickets(event);\n this.event = event;\n if (!this.event.isVirtualTableActive && this.joinedTable) {\n this.leaveVirtualTable();\n }\n });\n }\n\n private getChair(): void {\n this.virtualEventService.readMyVirtualChair(this.event.organizationID, this.event.id)\n .pipe(take(1)).subscribe((myChair: ReadMyVirtualChairOutput) => {\n if (myChair) {\n this.chair = myChair;\n this.hasChair = true;\n }\n },\n () => {\n if (this.hasChair && this.joinedTable) {\n this.leaveVirtualTable();\n this.hasChair = false;\n }\n }\n );\n }\n\n joinVirtualTable() {\n this.joinedTable = true;\n\n // start our master connection\n this.virtualEventService.createChannel({\n organizationID: this.event.organizationID,\n virtualEventID: this.event.id,\n virtualTableID: this.chair.virtualTableID,\n virtualChairID: this.chair.id,\n userID: this.chair.userID\n } as CreateChannelInput).subscribe((channelInfo: CreateChannelOutput) => {\n this.startMaster(channelInfo.channelARN);\n });\n\n // start viewer connections for every other chair at the table.\n this.virtualEventService.readMyVirtualTable(\n this.event.organizationID,\n this.event.id\n ).subscribe((out: ReadMyVirtualTableOutput) => {\n out.virtualTable.chairs.forEach(chair => {\n if (chair.channelARN !== '' && chair.id !== this.chair.id) {\n this.startViewer(chair.id, chair.channelARN, chair.firstName, chair.lastName);\n }\n });\n });\n }\n\n leaveVirtualTable() {\n this.joinedTable = false;\n if (this.virtualChairConnections) {\n for (let i = this.virtualChairConnections.length; i > 0; i--) {\n // we splice the array upon each stop, which is why we use index 0 here\n this.stopViewer(this.virtualChairConnections[0].virtualChairID);\n }\n }\n this.stopMaster();\n }\n\n private startViewer(virtualChairID: string, channelARN: string, firstName: string, lastName: string) {\n // if we find a stale connection, remove it before creating a new one\n if (this.virtualChairConnections.find((connection) => connection.virtualChairID === virtualChairID)) {\n this.stopViewer(virtualChairID);\n }\n\n const clientID = `${this.chair.userFirstName.replace(/[^a-zA-Z]/g, '').toLowerCase()}.${this.clientID}`;\n console.log(`Starting Viewer - Client ID for ${this.chair.userFirstName} ${this.chair.userLastName}: ${clientID}`);\n console.log(`Starting Viewer - ChannelARN for ${virtualChairID}: ${channelARN}`);\n\n this.viewerService.startViewer(this.event.organizationID, this.event.id, channelARN, clientID)\n .subscribe({\n next: (conn) => {\n // if we find a stale connection, remove it before creating a new one\n if (this.virtualChairConnections.find((connection) => connection.virtualChairID === virtualChairID)) {\n this.stopViewer(virtualChairID);\n }\n\n this.virtualChairConnections.push({\n connection: conn,\n virtualChairID: virtualChairID,\n channelARN: channelARN,\n firstName: firstName,\n lastName: lastName\n } as VirtualChairConnection);\n }\n });\n }\n\n private stopViewer(virtualChairID: string) {\n const connection = this.virtualChairConnections.filter(conn => conn.virtualChairID === virtualChairID)[0];\n if (!connection) {\n return; // no need to stop a connection that doesn't exist\n }\n\n this.viewerService.stopViewer(connection.connection);\n this.virtualChairConnections.splice(\n this.virtualChairConnections.findIndex((vcc) => vcc === connection),\n 1\n );\n }\n\n private startMaster(channelARN: string) {\n console.log(`Starting Master - ChannelARN for ${this.chair.id}: ${channelARN}`);\n this.masterService.startMaster(this.event.organizationID, this.event.id, channelARN)\n .subscribe((master) => {\n this.masterConnection = master;\n });\n }\n\n private stopMaster() {\n this.masterService.stopMaster(this.masterConnection);\n this.masterConnection = null;\n this.virtualEventService.deleteChannel({\n organizationID: this.event.organizationID,\n virtualEventID: this.event.id,\n virtualTableID: this.chair.virtualTableID,\n virtualChairID: this.chair.id,\n userID: this.chair.userID\n }).pipe(take(1)).subscribe();\n }\n\n private setShowPurchaseTickets(event: ReadEventOutput) {\n this.featureFlagService.featureFlags.subscribe(ff => {\n if (ff.some(flag => flag.featureName === 'new-create-event-experience')) {\n if (new Date().setHours(0, 0, 0, 0) >= new Date(event.primaryEndDate).setHours(0, 0, 0, 0)) {\n this.stateService.setShowPurchaseTickets(false);\n } else {\n this.stateService.setShowPurchaseTickets(true);\n }\n } else {\n this.stateService.setShowPurchaseTickets(true);\n }\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-embed-auth',\n templateUrl: './embed-auth.component.html',\n styleUrls: ['./embed-auth.component.scss']\n})\nexport class EmbedAuthComponent {\n}\n","import { Routes } from '@angular/router';\nimport { EmbedAuthComponent } from './embed-auth.component';\nimport { EmbedCreditCardComponent } from './embed-credit-card/embed-credit-card.component';\nimport { EmbedLoginComponent } from './embed-login/embed-login.component';\nimport { EmbedRegisterComponent } from './embed-register/embed-register.component';\nimport { EmbedSignUpComponent } from './embed-signup/embed-signup.component';\n\nexport const embedAuthRoutes = [\n {\n path: 'auth',\n component: EmbedAuthComponent,\n children: [\n { path: 'sign-up', component: EmbedSignUpComponent },\n { path: 'log-in', component: EmbedLoginComponent },\n { path: 'register', component: EmbedRegisterComponent },\n { path: 'credit-card', component: EmbedCreditCardComponent },\n ]\n }\n] as Routes;\n","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { CreditCardFormData } from 'lib';\nimport { take } from 'rxjs/operators';\nimport { CreateUserCardInput, GivingmanagementClientService } from 'src/app/services/givingmanagement-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../../services/state.service';\n\n@Component({\n selector: 'app-embed-credit-card',\n templateUrl: './embed-credit-card.component.html',\n styleUrls: ['./embed-credit-card.component.scss']\n})\nexport class EmbedCreditCardComponent implements OnInit {\n\n event: VirtualEvent;\n submitting = false;\n\n private creditCardFormData: CreditCardFormData;\n\n constructor(\n private state: StateService,\n private givingManagementClient: GivingmanagementClientService,\n private snackbar: MatSnackBar,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n disableSave() {\n return this.submitting || !this.creditCardFormData;\n }\n\n save() {\n if (!this.creditCardFormData) {\n return;\n }\n\n this.submitting = true;\n\n this.givingManagementClient.createUserCard({\n organizationID: this.event.organizationID,\n sourceType: 'virtualevent',\n sourceID: this.event.id,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardName: this.creditCardFormData.cardInfo.name,\n cardExpiration: this.creditCardFormData.cardInfo.expiration,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n token: this.creditCardFormData.cardInfo.nonce,\n } as CreateUserCardInput).subscribe({\n next: _ => this.onSaveSuccess(),\n error: _ => this.onSaveFailure(),\n });\n }\n\n private onSaveSuccess() {\n this.givingManagementClient.getUserCardForSourceByUserID({\n organizationID: this.event.organizationID,\n sourceID: this.event.id\n }).subscribe((card) => {\n this.state.setUserCard(card.userCard);\n this.router.navigate([`organizations/${this.event.organizationID}/virtual-events/${this.event.id}/embed/auctions`]);\n });\n }\n\n private onSaveFailure() {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was an error saving your credit card.', SnackBarIcon.Error, true),\n );\n this.submitting = false;\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.creditCardFormData = formData;\n }\n}\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n AuthenticationResult,\n EnvironmentService,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n WindowInjectionToken\n} from '@onecause/core';\nimport { AuthClientService, LoginInput } from 'src/app/services/auth-client.service';\nimport { ReadMyRegistrationOutput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { LogInFormComponent, LogInFormData } from '../../../components/log-in-form/log-in-form.component';\nimport { RegistrationService } from '../../../services/registration.service';\nimport { StateService } from '../../../services/state.service';\n\n@Component({\n selector: 'app-embed-login',\n templateUrl: './embed-login.component.html',\n styleUrls: ['./embed-login.component.scss']\n})\nexport class EmbedLoginComponent implements OnInit {\n @ViewChild(LogInFormComponent) logInForm: LogInFormComponent;\n\n orgID: string;\n eventID: string;\n embedBaseURL: string;\n\n googleClientId: string;\n facebookAppId: string;\n googleIsReady = false;\n facebookIsReady = false;\n\n submitting = false;\n\n private logInUserInfo: LoginInput;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private virtualEventClient: VirtualEventClientService,\n private stateService: StateService,\n private snackbar: MatSnackBar,\n private environmentService: EnvironmentService,\n private router: Router,\n @Inject(WindowInjectionToken) private window: Window,\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.embedBaseURL = `organizations/${this.orgID}/virtual-events/${this.eventID}/embed`;\n }\n\n setLogInFormData(formData: LogInFormData): void {\n if (formData.userInfo) {\n this.logInUserInfo = formData.userInfo;\n }\n else if (formData.facebookUserInfo) {\n this.facebookLogin(formData.facebookUserInfo);\n }\n else if (formData.googleUserInfo) {\n this.googleLogin(formData.googleUserInfo);\n }\n }\n\n private googleLogin(googleUser: any) {\n this.submitting = true;\n\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n private facebookLogin(data: any) {\n this.submitting = true;\n\n this.authClient.facebookLogin({ accessToken: data.accessToken })\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n login(): void {\n if (!this.logInUserInfo) {\n this.logInForm.logInForm.markAllAsTouched();\n return;\n }\n\n this.submitting = true;\n\n this.authClient.login(this.logInUserInfo)\n .subscribe({\n next: (authResult: AuthenticationResult) => { this.onLoginComplete(authResult); },\n error: e => { this.handleLoginError(e); },\n });\n }\n\n private handleLoginError(err: any) {\n let errorMessage = 'Login Failed.';\n if (UserFriendlyError.isFriendlyError(err)) {\n errorMessage = new UserFriendlyError(err).message;\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(errorMessage, SnackBarIcon.Error, true)\n );\n\n this.submitting = false;\n }\n\n private onLoginComplete(authResult: AuthenticationResult) {\n this.registrationService.updateAccess(authResult).subscribe(_ => {\n this.checkRegistration();\n });\n }\n\n private checkRegistration(): void {\n this.virtualEventClient.readMyRegistration({\n organizationID: this.orgID,\n eventID: this.eventID\n }).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n this.stateService.setRegistration(existingRegistration);\n });\n }\n\n forgotPassword(): void {\n this.environmentService.getURL('auth', 'forgot-password').subscribe(url => {\n this.window.open(`${url}?referrer=${this.window.location.href}`, '_blank');\n });\n }\n\n goToSignUp(): void {\n this.router.navigate([`${this.embedBaseURL}/auth/sign-up`]);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n CurrentUserService,\n PhoneNumberFormatter,\n PhoneNumberPipe,\n PhoneNumberValidator,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n} from '@onecause/core';\nimport { RegistrationService } from '../../../services/registration.service';\n\n@Component({\n selector: 'app-embed-register',\n templateUrl: './embed-register.component.html',\n styleUrls: ['./embed-register.component.scss']\n})\nexport class EmbedRegisterComponent implements OnInit {\n\n orgID: string;\n eventID: string;\n embedBaseURL: string;\n\n registerForm: FormGroup;\n submitting = false;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private registrationService: RegistrationService,\n private currentUser: CurrentUserService,\n private phoneNumberPipe: PhoneNumberPipe,\n private router: Router,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.embedBaseURL = `organizations/${this.orgID}/virtual-events/${this.eventID}/embed/auth`;\n\n this.currentUser.getProfile('flow/ve/userProfile::loadRegistration').subscribe((profile: Profile) => {\n this.buildForm(profile);\n }, _ => {\n this.router.navigate([`${this.embedBaseURL}/sign-up`]);\n });\n }\n\n private buildForm(profile: Profile): void {\n const phoneNumber = new FormControl(this.phoneNumberPipe.transform(profile.phone) || '', [Validators.required, PhoneNumberValidator()]);\n PhoneNumberFormatter.initializePhoneFormatter(phoneNumber);\n\n this.registerForm = new FormGroup({\n firstName: new FormControl(profile.firstName || '', Validators.required),\n lastName: new FormControl(profile.lastName || '', Validators.required),\n email: new FormControl({ value: profile.email || '', disabled: true }),\n phone: phoneNumber,\n });\n }\n\n register(): void {\n if (this.registerForm.invalid) {\n this.registerForm.markAsTouched();\n return;\n }\n\n this.submitting = true;\n\n this.registrationService.register({\n firstName: this.registerForm.controls.firstName.value,\n lastName: this.registerForm.controls.lastName.value,\n email: this.registerForm.controls.email.value,\n phone: this.registerForm.controls.phone.value,\n } as Profile).subscribe({\n next: () => {\n this.router.navigate([`${this.embedBaseURL}/credit-card`]);\n },\n error: (e) => {\n let snackbarMessage = 'There was a problem registering for the virtual event.';\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackbarMessage = new UserFriendlyError(e).message;\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackbarMessage, SnackBarIcon.Error, true)\n );\n\n this.submitting = false;\n },\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n AuthenticationResult,\n EmailValidator,\n PhoneNumberFormatter,\n PhoneNumberValidator,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError\n} from '@onecause/core';\nimport { AuthClientService, RegisterUserDTO } from 'src/app/services/auth-client.service';\nimport { OrganizationRestService, OrganizationSummary } from 'src/app/services/organization-rest.service';\nimport { ReadMyRegistrationOutput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { RegistrationService } from '../../../services/registration.service';\nimport { StateService } from '../../../services/state.service';\n\n@Component({\n selector: 'app-embed-signup',\n templateUrl: './embed-signup.component.html',\n styleUrls: ['./embed-signup.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class EmbedSignUpComponent implements OnInit {\n\n orgID: string;\n eventID: string;\n embedBaseURL: string;\n orgName: string;\n\n signUpForm: FormGroup;\n showAlreadyRegistered = false;\n submitting = false;\n\n googleClientId: string;\n facebookAppId: string;\n googleIsReady = false;\n facebookIsReady = false;\n\n showRequirements = false;\n showPassword = false;\n hasLength = false;\n hasUppercase = false;\n hasLowercase = false;\n hasNumber = false;\n hasSpecial = false;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private organizationClient: OrganizationRestService,\n private registrationService: RegistrationService,\n private authClient: AuthClientService,\n private virtualEventClient: VirtualEventClientService,\n private stateService: StateService,\n private router: Router,\n private http: HttpClient,\n private snackbar: MatSnackBar,\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.embedBaseURL = `organizations/${this.orgID}/virtual-events/${this.eventID}/embed`;\n\n this.organizationClient.getOrganizationSummaryById(this.orgID).subscribe((org: OrganizationSummary) => {\n this.orgName = org.name;\n });\n\n this.buildForm();\n\n // gather our authconfig values\n this.http.get('authconfig.json').subscribe((d: any) => {\n this.facebookAppId = d.facebookAppID;\n this.googleClientId = d.googleOAuthClientID;\n }, (e) => { console.log(e); });\n }\n\n private buildForm(): void {\n const phoneNumber = new FormControl('', [Validators.required, PhoneNumberValidator()]);\n PhoneNumberFormatter.initializePhoneFormatter(phoneNumber);\n\n this.signUpForm = new FormGroup({\n email: new FormControl('', [Validators.required, EmailValidator()]),\n password: new FormControl('', [Validators.required, (control: AbstractControl) => this.validatePassword(control)]),\n firstName: new FormControl('', Validators.required),\n lastName: new FormControl('', Validators.required),\n phone: phoneNumber,\n });\n }\n\n togglePassword() {\n this.showPassword = !this.showPassword;\n }\n\n showPasswordRequirements() {\n this.showRequirements = true;\n }\n\n private validatePassword(password: AbstractControl): ValidationErrors {\n if (!password.value) { return; }\n let lengthRequirement = false;\n let requirementsMet = 0;\n const currentPassword = password.value;\n const checkUppercase = new RegExp('.*[A-Z].*');\n const checkLowercase = new RegExp('.*[a-z].*');\n const checkNumber = new RegExp('.*[0-9].*');\n const checkSpecial = new RegExp('.*[^a-zA-Z0-9].*');\n\n // Check for a minimum of 8 characters\n this.hasLength = currentPassword.length >= 8;\n if (this.hasLength) {\n lengthRequirement = true;\n }\n\n // Check for at least one uppercase letter\n this.hasUppercase = checkUppercase.test(currentPassword);\n if (this.hasUppercase) {\n requirementsMet++;\n }\n\n // Check for at least one lowercase letter\n this.hasLowercase = checkLowercase.test(currentPassword);\n if (this.hasLowercase) {\n requirementsMet++;\n }\n\n // Check for at least one number\n this.hasNumber = checkNumber.test(currentPassword);\n if (this.hasNumber) {\n requirementsMet++;\n }\n\n // Check for at least one special character\n this.hasSpecial = checkSpecial.test(currentPassword);\n if (this.hasSpecial) {\n requirementsMet++;\n }\n\n if (requirementsMet >= 3 && lengthRequirement) {\n return null;\n } else {\n return { validatePassword: { valid: false } };\n }\n }\n\n googleAvailable(): void {\n this.googleIsReady = true;\n }\n\n facebookAvailable(): void {\n this.facebookIsReady = true;\n }\n\n googleSignUp(googleUser: any): void {\n this.submitting = true;\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token }).subscribe({\n next: (authResult: AuthenticationResult) => this.onSocialMediaComplete(authResult),\n error: e => this.handleSignUpError(e),\n });\n }\n\n facebookSignUp(facebookUser: any): void {\n this.submitting = true;\n this.authClient.facebookLogin({ accessToken: facebookUser.accessToken }).subscribe({\n next: (authResult: AuthenticationResult) => this.onSocialMediaComplete(authResult),\n error: e => this.handleSignUpError(e),\n });\n }\n\n private onSocialMediaComplete(authResult: AuthenticationResult): void {\n this.registrationService.updateAccess(authResult).subscribe((profile: Profile) => {\n this.virtualEventClient.readMyRegistration({\n organizationID: this.orgID,\n eventID: this.eventID\n }).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n this.stateService.setRegistration(existingRegistration);\n this.onSignUpComplete(authResult);\n });\n });\n }\n\n signUp(): void {\n if (this.signUpForm.invalid) {\n this.signUpForm.markAsTouched();\n return;\n }\n\n this.submitting = true;\n\n this.authClient.registerAndLogin({\n firstName: this.signUpForm.value.firstName,\n lastName: this.signUpForm.value.lastName,\n email: this.signUpForm.value.email,\n password: this.signUpForm.value.password,\n phone: this.signUpForm.value.phone,\n } as RegisterUserDTO).subscribe({\n next: (authResult: AuthenticationResult) => this.onSignUpComplete(authResult),\n error: e => this.handleSignUpError(e),\n });\n }\n\n private onSignUpComplete(authResult: AuthenticationResult): void {\n this.registrationService.updateAccess(authResult).subscribe((profile: Profile) => {\n this.register(profile);\n });\n }\n\n private handleSignUpError(e: any): void {\n this.submitting = false;\n\n if (UserFriendlyError.isFriendlyError(e)) {\n const friendlyErr = new UserFriendlyError(e);\n if (friendlyErr.message === 'This email is already registered') {\n setTimeout(() => {\n this.signUpForm.controls.email.setErrors({ duplicateEmail: true });\n this.signUpForm.controls.email.markAsTouched();\n });\n return;\n }\n }\n\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('There was a problem creating your account.', SnackBarIcon.Error, true)\n );\n }\n\n private register(profile: Profile): void {\n this.registrationService.register(profile).subscribe({\n next: () => this.goToCC(),\n error: (e) => {\n console.warn('Failed to register automatically:', e);\n }\n });\n }\n\n goToLogin(): void {\n this.router.navigate([`${this.embedBaseURL}/auth/log-in`]);\n }\n\n private goToCC(): void {\n this.router.navigate([`${this.embedBaseURL}/auth/credit-card`]);\n }\n\n}\n","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { CurrentUserService, Profile } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { filter, switchMap, take, takeUntil } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { RouteData } from '../embed.routes';\n\n@Component({\n selector: 'app-embed-header',\n templateUrl: './embed-header.component.html',\n styleUrls: ['./embed-header.component.scss']\n})\nexport class EmbedHeaderComponent implements OnInit {\n showShoppingCart: boolean;\n buttonText = 'Sign In To Bid';\n onCheckoutOrProfile = false;\n componentLoading = true;\n\n event: VirtualEvent;\n\n private destruction$ = new Subject();\n\n profile: Profile;\n\n constructor(\n private currentUser: CurrentUserService,\n private state: StateService,\n private events: EventsService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private location: Location,\n ) { }\n\n ngOnInit(): void {\n this.onCheckoutOrProfile = this.activatedRoute.firstChild.snapshot.data.inWidget;\n\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.loadProfile();\n\n this.subscribeToEvents();\n });\n }\n\n ngOnDestroy() {\n this.destruction$.next();\n this.destruction$.complete();\n }\n\n private loadProfile() {\n this.currentUser.getProfile('flow/ve/userProfile::load').subscribe({\n next: (profile) => {\n this.profile = profile;\n this.showCart();\n this.componentLoading = false;\n },\n error: () => {\n this.profile = null;\n this.hideCart();\n this.componentLoading = false;\n },\n });\n }\n\n private subscribeToEvents(): void {\n this.events.userLoggedIn.pipe(\n takeUntil(this.destruction$)\n ).subscribe(_ => {\n this.loadProfile();\n });\n\n this.events.userLoggedOut.pipe(\n takeUntil(this.destruction$)\n ).subscribe(_ => {\n this.profile = null;\n this.hideCart();\n });\n\n this.events.headerContentsChangeRequested.pipe(\n takeUntil(this.destruction$)\n ).subscribe(\n (contents) => {\n this.showShoppingCart = contents.cart;\n }\n );\n\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n switchMap(() => this.activatedRoute.firstChild.data)\n ).subscribe((data: RouteData) => {\n this.onCheckoutOrProfile = data.inWidget;\n });\n }\n\n navigateBack(): void {\n this.location.back();\n !!this.profile ? this.showCart() : this.hideCart();\n }\n\n shoppingCartIconClicked(): void {\n this.router.navigate(['checkout'], { relativeTo: this.activatedRoute });\n }\n\n profileIconClicked(): void {\n this.showCart();\n this.router.navigate(['profile'], { relativeTo: this.activatedRoute });\n }\n\n signUpClicked(): void {\n this.router.navigate(['auth/sign-up'], { relativeTo: this.activatedRoute });\n }\n\n private showCart(): void {\n this.events.raiseHeaderContentsChangeRequested({ progress: false, cart: true });\n }\n\n private hideCart(): void {\n this.events.raiseHeaderContentsChangeRequested({ progress: false, cart: false });\n }\n}\n","import { Routes } from '@angular/router';\nimport { CheckoutPageComponent } from '../checkout-page/checkout-page.component';\nimport { IpoUserProfileComponent } from '../components/ipo-user-profile/ipo-user-profile.component';\nimport { IpoSilentAuctionPageComponent } from '../ipo-virtual-event-page/ipo-silent-auction-page/ipo-silent-auction-page.component';\nimport { embedAuthRoutes } from './embed-auth/embed-auth.routes';\nimport { EmbedShowComponent } from './show/embed-show.component';\nimport { WidgetComponent } from './widget/widget.component';\n\nexport const embedRoutes = [\n {\n path: 'embed',\n component: WidgetComponent,\n children: [\n { path: 'show', component: EmbedShowComponent },\n { path: 'auctions', component: IpoSilentAuctionPageComponent },\n { path: 'profile', component: IpoUserProfileComponent, data: { inWidget: true } },\n { path: 'checkout', component: CheckoutPageComponent, data: { inWidget: true } },\n ...embedAuthRoutes,\n ]\n }\n] as Routes;\n\nexport class RouteData {\n inWidget: boolean;\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-embed-show',\n templateUrl: './embed-show.component.html',\n styleUrls: ['./embed-show.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class EmbedShowComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss']\n})\nexport class WidgetComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CurrentUserService,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport {\n ReadAssignedTicketInput,\n ReadAssignedTicketOutput,\n TicketClientService\n} from 'src/app/services/ticket-client.service';\nimport {\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { EventsService } from '../../services/events.service';\nimport { RegistrationService } from '../../services/registration.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IpoAuthService {\n ticketID: string;\n ticketToken: string;\n event: VirtualEvent;\n profile: Profile = null;\n isClaimingTicket = false;\n finishRegistration = false;\n loggedIn = false;\n\n constructor(\n private currentUserService: CurrentUserService,\n private eventsService: EventsService,\n private stateService: StateService,\n private vecRouting: VECRoutingService,\n private veClient: VirtualEventClientService,\n private registrationService: RegistrationService,\n private snackbar: MatSnackBar,\n private activatedRoute: ActivatedRoute,\n private ticketClientService: TicketClientService,\n ) { }\n\n checkUserProfile(): void {\n this.ticketID = this.activatedRoute.snapshot.queryParams.ticket || '';\n this.ticketToken = this.activatedRoute.snapshot.queryParams.t || '';\n\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.ticketID && this.ticketToken) {\n this.ticketClientService.readAssignedTicket({\n organizationID: this.event.organizationID,\n ticketID: this.ticketID,\n assignmentToken: this.ticketToken,\n } as ReadAssignedTicketInput).subscribe((ticket: ReadAssignedTicketOutput) => {\n if (ticket && !ticket.claimedTime) {\n this.isClaimingTicket = true;\n }\n this.getUserProfile();\n });\n } else {\n this.getUserProfile();\n }\n });\n }\n\n getUserProfile(): void {\n this.currentUserService.getProfile('flow/ve/ipo::auth').subscribe(\n (profile: Profile) => {\n this.profile = profile;\n this.loggedIn = true;\n this.eventsService.raiseCheckUserProfileComplete();\n this.checkRegistration();\n },\n () => {\n this.eventsService.raiseCheckUserProfileComplete();\n\n this.eventsService.userLoggedIn.subscribe(() => {\n this.loggedIn = true;\n this.checkRegistration();\n });\n });\n }\n\n checkRegistration(): void {\n this.veClient.readMyRegistration({ organizationID: this.event.organizationID, eventID: this.event.id })\n .subscribe((registration: ReadMyRegistrationOutput) => {\n this.stateService.setRegistration(registration);\n if (!registration.found && this.finishRegistration) {\n this.completeRegistration();\n }\n });\n }\n\n completeRegistration(): void {\n this.isClaimingTicket ? this.claimTicketAndRegister() : this.register();\n }\n\n goToLogInPage(): void {\n this.isClaimingTicket ? this.vecRouting.goToSignUpPage() : this.vecRouting.goToLogInPage();\n }\n\n claimTicketAndRegister(): void {\n this.registrationService.claimTicket(this.ticketID, this.ticketToken, this.profile, this.event.id).subscribe({\n next: () => {\n this.registrationService.setRegistration();\n },\n error: (e: any) => {\n this.handleSnackBarMessage('There was a problem claiming your ticket for the virtual event.', e);\n },\n });\n }\n\n register(): void {\n this.registrationService.register(this.profile).subscribe({\n next: () => {\n this.registrationService.setRegistration();\n },\n error: (e: any) => {\n this.handleSnackBarMessage('There was a problem registering for the virtual event.', e);\n },\n });\n }\n\n handleSnackBarMessage(snackBarMessage: string, error: any) {\n let snackbarMessage = snackBarMessage;\n\n if (UserFriendlyError.isFriendlyError(error)) {\n snackbarMessage = new UserFriendlyError(error).message;\n }\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(snackbarMessage, SnackBarIcon.Error, true));\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n EnvironmentService,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n WindowInjectionToken,\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { AuthClientService, AuthenticationResult, LoginInput } from 'src/app/services/auth-client.service';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { LogInFormData } from '../../../components/log-in-form/log-in-form.component';\nimport { RegistrationService } from '../../../services/registration.service';\nimport { StateService } from '../../../services/state.service';\nimport { VECRoutingService } from '../../../services/vec-routing.service';\nimport { IpoAuthService } from '../ipo-auth.service';\n\n@Component({\n selector: 'app-ipo-log-in',\n templateUrl: './ipo-log-in.component.html',\n styleUrls: ['./ipo-log-in.component.scss'],\n})\nexport class IpoLogInComponent implements OnInit {\n event: VirtualEvent;\n logInUserInfo: LoginInput;\n submitting = false;\n\n constructor(\n private stateService: StateService,\n private authClient: AuthClientService,\n private registrationService: RegistrationService,\n private snackbar: MatSnackBar,\n private vecRouting: VECRoutingService,\n private environmentService: EnvironmentService,\n private ipoAuthService: IpoAuthService,\n @Inject(WindowInjectionToken) private window: Window,\n ) { }\n\n ngOnInit(): void {\n if (this.ipoAuthService.loggedIn) {\n this.stateService.registration.subscribe((reg: ReadMyRegistrationOutput) => {\n reg && reg?.found ? this.vecRouting.goToHome() : this.init();\n });\n } else {\n this.init();\n }\n }\n\n init(): void {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n setLogInFormData(formData: LogInFormData): void {\n if (formData.userInfo) {\n this.logInUserInfo = formData.userInfo;\n } else if (formData.facebookUserInfo) {\n this.facebookLogin(formData.facebookUserInfo);\n } else if (formData.googleUserInfo) {\n this.googleLogin(formData.googleUserInfo);\n }\n }\n\n private googleLogin(googleUser: any) {\n this.submitting = true;\n\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token }).subscribe({\n next: (authResult: AuthenticationResult) => {\n this.registrationService.updateAccess(authResult).subscribe({\n next: () => {\n this.logInSuccess(authResult.profile);\n },\n });\n },\n error: (e) => {\n this.handleLoginError(e);\n },\n });\n }\n\n private facebookLogin(data: any) {\n this.submitting = true;\n\n this.authClient.facebookLogin({ accessToken: data.accessToken }).subscribe({\n next: (authResult: AuthenticationResult) => {\n this.registrationService.updateAccess(authResult).subscribe({\n next: () => {\n this.logInSuccess(authResult.profile);\n },\n });\n },\n error: (e) => {\n this.handleLoginError(e);\n },\n });\n }\n\n login(): void {\n if (!this.logInUserInfo) {\n return;\n }\n\n this.submitting = true;\n\n this.authClient.login(this.logInUserInfo).subscribe({\n next: (authResult: AuthenticationResult) => {\n this.registrationService.updateAccess(authResult).subscribe({\n next: () => {\n this.logInSuccess(authResult.profile);\n },\n });\n },\n error: (e) => {\n this.handleLoginError(e);\n },\n });\n }\n\n logInSuccess(profile: Profile): void {\n this.ipoAuthService.profile = profile;\n this.vecRouting.goToHome();\n }\n\n private handleLoginError(err: any) {\n let errorMessage = 'Login Failed.';\n if (UserFriendlyError.isFriendlyError(err)) {\n errorMessage = new UserFriendlyError(err).message;\n }\n\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(errorMessage, SnackBarIcon.Error, true));\n\n this.submitting = false;\n }\n\n goToSignUp() {\n this.vecRouting.goToSignUpPage();\n }\n\n forgotPassword() {\n this.environmentService.getURL('auth', 'forgot-password').subscribe(url => {\n this.window.open(`${url}?referrer=${this.window.location.href}`, '_blank');\n });\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LocationUtility, PhoneNumberFormatter, PhoneNumberPipe, PhoneNumberValidator, ZipCodeValidator } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { ReadAssignedTicketInput, ReadAssignedTicketOutput, TicketClientService } from 'src/app/services/ticket-client.service';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../../services/state.service';\nimport { VECRoutingService } from '../../../services/vec-routing.service';\nimport { IpoAuthService } from '../ipo-auth.service';\n\n@Component({\n selector: 'app-ipo-register',\n templateUrl: './ipo-register.component.html',\n styleUrls: ['./ipo-register.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoRegisterComponent implements OnInit {\n formReady = false;\n submitting = false;\n ipoRegisterForm: FormGroup;\n assignedTicket: ReadAssignedTicketOutput;\n event: VirtualEvent;\n\n private defaultCountryCode = 'USA';\n private countryLookupList: any = LocationUtility.countryListLookup;\n\n constructor(\n private ticketClientService: TicketClientService,\n private stateService: StateService,\n private ipoAuthService: IpoAuthService,\n private vecRouting: VECRoutingService,\n private phoneNumberPipe: PhoneNumberPipe,\n ) { }\n\n ngOnInit(): void {\n if (this.ipoAuthService.loggedIn) {\n this.stateService.registration.subscribe((reg: ReadMyRegistrationOutput) => {\n reg && reg.found ? this.vecRouting.goToHome() : this.init();\n });\n } else {\n this.init();\n }\n }\n\n init(): void {\n this.stateService.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.ipoAuthService.isClaimingTicket ? this.getAssignedTicketData() : this.initForm();\n });\n }\n\n getAssignedTicketData(): void {\n this.ticketClientService.readAssignedTicket({\n organizationID: this.event.organizationID,\n ticketID: this.ipoAuthService.ticketID,\n assignmentToken: this.ipoAuthService.ticketToken,\n } as ReadAssignedTicketInput).subscribe((assignedTicket: ReadAssignedTicketOutput) => {\n this.ipoAuthService.profile.firstName = assignedTicket.attendeeFirstName;\n this.ipoAuthService.profile.lastName = assignedTicket.attendeeLastName;\n this.ipoAuthService.profile.email = assignedTicket.attendeeEmail;\n this.initForm();\n });\n }\n\n initForm() {\n const phoneValidators = [PhoneNumberValidator()];\n if (this.event.requirePhoneNumber) {\n phoneValidators.push(Validators.required);\n }\n\n const phoneNumber = new FormControl(\n this.ipoAuthService.profile?.phone ? this.phoneNumberPipe.transform(this.ipoAuthService.profile?.phone) : '',\n phoneValidators\n );\n PhoneNumberFormatter.initializePhoneFormatter(phoneNumber);\n\n const addressValidations = this.event.requireAddress ? [Validators.required] : [];\n\n const zipValidators = [];\n if (this.event.showAddress) {\n zipValidators.push(ZipCodeValidator(this.defaultCountryCode));\n if (this.event.requireAddress) {\n zipValidators.push(Validators.required);\n }\n }\n\n this.ipoRegisterForm = new FormGroup({\n firstName: new FormControl(this.ipoAuthService.profile?.firstName || '', Validators.required),\n lastName: new FormControl(this.ipoAuthService.profile?.lastName || '', Validators.required),\n email: new FormControl(this.ipoAuthService.profile?.email || '', Validators.required),\n phone: phoneNumber,\n street: new FormControl(this.ipoAuthService.profile?.addressLine1 || '', addressValidations),\n city: new FormControl(this.ipoAuthService.profile?.addressCity || '', addressValidations),\n state: new FormControl(this.ipoAuthService.profile?.addressState || '', addressValidations),\n zip: new FormControl(this.ipoAuthService.profile?.addressZip || '', zipValidators),\n country: new FormControl(this.ipoAuthService.profile?.addressCountry || '', addressValidations),\n });\n\n this.formReady = true;\n }\n\n getSubmitText(): string {\n if (this.ipoAuthService.isClaimingTicket) {\n return this.submitting ? 'REDEEMING...' : 'REDEEM TICKET';\n }\n\n return this.submitting ? 'SUBMITTING...' : 'REGISTER';\n }\n\n getZipCodeLabel() {\n const zipCodeLabel = (this.ipoRegisterForm.controls.country?.value === this.countryLookupList.CAN.code) ? 'Postal Code' : 'Zip Code';\n return this.event?.requireAddress ? '*' + zipCodeLabel : zipCodeLabel;\n }\n\n register() {\n if (this.ipoRegisterForm.invalid) {\n return;\n }\n\n this.submitting = true;\n\n this.ipoAuthService.profile.firstName = this.ipoRegisterForm.controls.firstName.value;\n this.ipoAuthService.profile.lastName = this.ipoRegisterForm.controls.lastName.value;\n this.ipoAuthService.profile.email = this.ipoRegisterForm.controls.email.value;\n this.ipoAuthService.profile.phone = this.ipoRegisterForm.controls.phone.value;\n this.ipoAuthService.profile.addressLine1 = this.ipoRegisterForm.controls.street.value;\n this.ipoAuthService.profile.addressCity = this.ipoRegisterForm.controls.city.value;\n this.ipoAuthService.profile.addressState = this.ipoRegisterForm.controls.state.value;\n this.ipoAuthService.profile.addressZip = this.ipoRegisterForm.controls.zip.value;\n this.ipoAuthService.profile.addressCountry = this.ipoRegisterForm.controls.country.value;\n\n this.ipoAuthService.completeRegistration();\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n AuthenticationResult,\n Profile,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n} from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { SignUpFormData } from 'src/app/lazy-modules/virtual-event/components/sign-up-form/sign-up-form.component';\nimport { StateService } from 'src/app/lazy-modules/virtual-event/services/state.service';\nimport { AuthClientService, RegisterUserDTO } from 'src/app/services/auth-client.service';\nimport {\n ReadAssignedTicketInput,\n ReadAssignedTicketOutput,\n TicketClientService,\n} from 'src/app/services/ticket-client.service';\nimport { ReadMyRegistrationOutput, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { RegistrationService } from '../../../services/registration.service';\nimport { VECRoutingService } from '../../../services/vec-routing.service';\nimport { IpoAuthService } from '../ipo-auth.service';\n\n@Component({\n selector: 'app-ipo-sign-up',\n templateUrl: './ipo-sign-up.component.html',\n styleUrls: ['./ipo-sign-up.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IpoSignUpComponent implements OnInit {\n formReady = false;\n submitting = false;\n ipoRegsiterForm: FormGroup;\n event: VirtualEvent;\n signUpInfo: RegisterUserDTO;\n signUpUserInfo: RegisterUserDTO;\n showAlreadyRegistered = false;\n\n constructor(\n private state: StateService,\n private ticketClientService: TicketClientService,\n private authClient: AuthClientService,\n private snackbar: MatSnackBar,\n private registrationService: RegistrationService,\n private ipoAuthService: IpoAuthService,\n private vecRouting: VECRoutingService\n ) { }\n\n ngOnInit(): void {\n if (this.ipoAuthService.loggedIn) {\n this.state.registration.subscribe((reg: ReadMyRegistrationOutput) => {\n reg && reg?.found ? this.vecRouting.goToHome() : this.init();\n });\n } else {\n this.init();\n }\n }\n\n init(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.ipoAuthService.isClaimingTicket) {\n this.getSignUpInfo();\n return;\n }\n this.formReady = true;\n });\n }\n\n getSignUpInfo(): void {\n this.ticketClientService.readAssignedTicket({\n organizationID: this.event.organizationID,\n ticketID: this.ipoAuthService.ticketID,\n assignmentToken: this.ipoAuthService.ticketToken,\n } as ReadAssignedTicketInput).subscribe({\n next: (assignedTicket: ReadAssignedTicketOutput) => {\n this.signUpInfo = {\n firstName: assignedTicket.attendeeFirstName,\n lastName: assignedTicket.attendeeLastName,\n email: assignedTicket.attendeeEmail,\n } as RegisterUserDTO;\n\n this.formReady = true;\n },\n });\n }\n\n setSignUpFormData(formData: SignUpFormData) {\n if (formData.userInfo) {\n this.signUpUserInfo = formData.userInfo;\n } else if (formData.facebookUserInfo) {\n this.facebookSignUp(formData.facebookUserInfo);\n } else if (formData.googleUserInfo) {\n this.googleSignUp(formData.googleUserInfo);\n }\n }\n\n getSubmitText(): string {\n if (this.ipoAuthService.isClaimingTicket) {\n return this.submitting ? 'REDEEMING...' : 'REDEEM TICKET';\n }\n\n return this.submitting ? 'SUBMITTING...' : 'SIGN UP';\n }\n\n private googleSignUp(googleUser: any) {\n this.submitting = true;\n\n this.authClient.googleLogin({ idToken: googleUser.getAuthResponse().id_token })\n .subscribe({\n next: (authResult: AuthenticationResult) => {\n this.registrationService.updateAccess(authResult).subscribe(() => {\n this.signUpSuccess(authResult.profile);\n });\n },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n private facebookSignUp(data: any) {\n this.submitting = true;\n\n this.authClient.facebookLogin({ accessToken: data.accessToken })\n .subscribe({\n next: (authResult: AuthenticationResult) => {\n this.registrationService.updateAccess(authResult).subscribe(() => {\n this.signUpSuccess(authResult.profile);\n });\n },\n error: e => { this.handleSignUpError(e); },\n });\n }\n\n signUp() {\n if (!this.signUpUserInfo) {\n return;\n }\n\n this.submitting = true;\n\n this.authClient.registerAndLogin(this.signUpUserInfo).subscribe({\n next: (authResult: AuthenticationResult) => {\n this.ipoAuthService.finishRegistration = true;\n this.registrationService.updateAccess(authResult).subscribe(() => {\n this.signUpSuccess(authResult.profile);\n });\n },\n error: (e) => {\n this.handleSignUpError(e);\n },\n });\n }\n\n signUpSuccess(profile: Profile): void {\n this.ipoAuthService.profile = profile;\n this.vecRouting.goToHome();\n }\n\n private handleSignUpError(e: any): void {\n let snackMessage = 'There was a problem creating your account.';\n\n if (UserFriendlyError.isFriendlyError(e)) {\n snackMessage = new UserFriendlyError(e).message;\n if (snackMessage === 'This email is already registered') {\n this.showAlreadyRegistered = true;\n }\n }\n\n if (!this.showAlreadyRegistered) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n }\n\n this.submitting = false;\n }\n\n goToLoginPage() {\n this.vecRouting.goToLogInPage();\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-ipo-chat',\n templateUrl: './ipo-chat.component.html',\n styleUrls: ['./ipo-chat.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoChatComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { AmbassadorSearchComponent } from '../../components/ambassador-search/ambassador-search.component';\n\nimport { BuyItemsService } from '../../services/buy-items.service';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-ipo-donation-page',\n templateUrl: './ipo-donation-page.component.html',\n styleUrls: ['./ipo-donation-page.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoDonationPageComponent implements OnInit {\n\n presetDonationAmounts = [];\n presetRecurringDonationAmounts: number[] = [];\n submitting = false;\n showAmountRequiredErr = false;\n showRecurringDonationManagement = false;\n recurringDonationPeriod = '';\n isRecurringDonation: boolean;\n isAnonymous: boolean;\n\n private donationAmountCents = 0;\n @ViewChild('ambassadorSearch') ambassadorSearch: AmbassadorSearchComponent;\n\n constructor(\n private state: StateService,\n private buyItems: BuyItemsService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe(\n (event) => {\n if (event.donationSuggestedAmountsCents) {\n this.presetDonationAmounts = event.donationSuggestedAmountsCents.map((a) => a / 100);\n }\n if (event.recurringDonationSuggestedAmountsCents) {\n this.presetRecurringDonationAmounts = event.recurringDonationSuggestedAmountsCents.map((cents: number) => cents / 100);\n }\n this.showRecurringDonationManagement = event.showRecurringDonationManagement;\n this.recurringDonationPeriod = event.recurringDonationPeriod;\n }\n );\n }\n\n donationAmountChanged(amountCents: number) {\n this.showAmountRequiredErr = false;\n this.donationAmountCents = amountCents;\n }\n\n setIsRecurringDonation(isRecurring: boolean): void {\n this.isRecurringDonation = isRecurring;\n }\n\n setIsAnonymous(isAnonymous: boolean): void {\n this.isAnonymous = isAnonymous;\n }\n\n donate() {\n if (this.submitting) {\n return;\n }\n\n if (this.donationAmountCents <= 0) {\n this.showAmountRequiredErr = true;\n return;\n }\n this.submitting = true;\n this.buyItems.buyDonation(\n this.donationAmountCents,\n this.isAnonymous,\n this.isRecurringDonation,\n this.ambassadorSearch?.selectedAmbassador\n ).subscribe(\n () => {\n this.submitting = false;\n }, () => {\n this.submitting = false;\n });\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { ListImpactsInput, ListImpactsOutput,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-ipo-fixed-price-page',\n templateUrl: './ipo-fixed-price-page.component.html',\n styleUrls: ['./ipo-fixed-price-page.component.scss']\n})\nexport class IpoFixedPricePageComponent implements OnInit, OnDestroy {\n orgID: string;\n eventID: string;\n hasFixedPriceItems = false;\n\n private destroy$ = new Subject();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: VirtualEventClientService,\n ) { }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.init();\n }\n\n private init(): void {\n this.virtualEventClient.listImpacts({\n organizationID: this.orgID,\n eventID: this.eventID,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.NotEqual, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasFixedPriceItems = out.items.length > 0;\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ipo-game',\n templateUrl: './ipo-game.component.html',\n styleUrls: ['./ipo-game.component.scss']\n})\nexport class IpoGameComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport {\n GetSponsorAttachmentListOutput,\n SponsorAttachmentSummary,\n SponsorClientService,\n} from 'src/app/services/sponsor-client.service';\nimport { EventType, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { GeneratedVirtualEventRestService, GetMyExperienceTypeInput } from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { RightDrawerContentService } from '../../components/right-drawer-content/right-drawer-content.service';\n\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\n\n\n@Component({\n selector: 'app-ipo-landing-page',\n templateUrl: './ipo-landing-page.component.html',\n styleUrls: ['./ipo-landing-page.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IpoLandingPageComponent implements OnInit {\n\n private checkedExperence = false;\n\n event: VirtualEvent;\n sponsorImages: string[];\n showLogo = false;\n isRegistered: boolean | undefined;\n showShowRegistration: boolean | undefined;\n\n constructor(\n private state: StateService,\n private sponsorClient: SponsorClientService,\n private vecRouting: VECRoutingService,\n private rightDrawer: RightDrawerContentService,\n private veClient: GeneratedVirtualEventRestService\n ) { }\n\n ngOnInit(): void {\n this.state.registration.subscribe((reg) => {\n if (reg) {\n this.isRegistered = reg.found;\n this.showShowRegistration = !reg.found;\n }\n this.checkForExperience();\n });\n\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n this.loadSponsors();\n this.checkForExperience();\n });\n\n if (this.vecRouting.isRouteActive('purchase-tickets')) {\n this.rightDrawer.openTicketSelect();\n }\n }\n\n private checkForExperience() {\n if (this.checkedExperence) {\n return;\n }\n\n if (this.isRegistered && this.event\n && (this.event.eventType === EventType.Hybrid || this.event.eventType === EventType.VirtualPlusWatchParty)\n ) {\n // if we don't know the guest experience, ask them once\n this.checkedExperence = true;\n this.veClient.getMyExperienceType(new GetMyExperienceTypeInput({\n organizationID: this.event.organizationID,\n eventID: this.event.id\n })).subscribe({\n next: (et) => {\n if (!et.experienceType) {\n this.rightDrawer.openAttendeeExperience();\n }\n }\n });\n }\n }\n\n private loadSponsors(): void {\n const paging = new PagingInputV3();\n paging.Filters([\n new FilterParameterV3('external_id', FilterComparator.Equal, this.event.id)\n ]);\n\n this.loadSponsorsPage(paging, []);\n }\n\n private loadSponsorsPage(pagingInput: PagingInputV3, currentList: string[]) {\n this.sponsorClient.getSponsorAttachmentList(this.event.organizationID, pagingInput)\n .subscribe((sponsors: GetSponsorAttachmentListOutput) => {\n currentList.push(...sponsors.items\n .map((sponsor: SponsorAttachmentSummary) => sponsor.logoURL)\n .filter(image => image !== ''));\n if (sponsors.paging && sponsors.paging.nextPage) {\n this.loadSponsorsPage(new PagingInputV3().FromPageObject(sponsors.paging.nextPage), currentList);\n } else {\n this.sponsorImages = currentList;\n }\n });\n }\n\n goToDonate() {\n this.vecRouting.goToDonationPage();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ReadOverlayOutput, ReadSceneOutput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\n\n@Component({\n selector: 'app-ipo-live-appeal-page',\n templateUrl: './ipo-live-appeal-page.component.html',\n styleUrls: ['./ipo-live-appeal-page.component.scss']\n})\nexport class IpoLiveAppealPageComponent implements OnInit, OnDestroy {\n\n orgID: string;\n eventID: string;\n currentOverlay: ReadOverlayOutput;\n loading = true;\n\n private destroyTriggered = new Subject();\n\n constructor(\n public stateService: StateService,\n public vecRoutingService: VECRoutingService,\n private activatedRoute: ActivatedRoute,\n private virtualEventClientService: VirtualEventClientService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.subscribeToEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToEvents() {\n this.stateService.currentScene.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((scene: ReadSceneOutput) => {\n this.onSceneChanged(scene);\n });\n }\n\n private onSceneChanged(scene: ReadSceneOutput): void {\n if (scene.activeOverlayConfig.showNone || !scene.activeOverlayConfig.overlayIDs || !scene.activeOverlayConfig.overlayIDs.length) {\n this.updateOverlay(null);\n this.loading = false;\n return;\n }\n\n this.virtualEventClientService.readOverlay({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: scene.showID,\n sceneID: scene.id,\n overlayID: scene.activeOverlayConfig.overlayIDs[0],\n }).subscribe((overlay: ReadOverlayOutput) => {\n this.updateOverlay(overlay);\n this.loading = false;\n });\n }\n\n private updateOverlay(overlay: ReadOverlayOutput): void {\n this.currentOverlay = overlay;\n this.stateService.setCurrentOverlay(overlay);\n }\n\n}\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ReadOverlayOutput } from 'src/app/services/virtual-event-client.service';\n\nimport { AuctionService } from '../../services/auction.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\nimport { ActiveLotChangedPayload, WebSocketService } from '../../services/websocket.service';\n\n@Component({\n selector: 'app-ipo-live-auction-page',\n templateUrl: './ipo-live-auction-page.component.html',\n styleUrls: ['./ipo-live-auction-page.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoLiveAuctionPageComponent implements OnInit, OnDestroy {\n\n orgID: string;\n isRunning: boolean | null = null;\n\n private destroyTriggered = new Subject();\n\n constructor(\n public stateService: StateService,\n public vecRoutingService: VECRoutingService,\n private activatedRoute: ActivatedRoute,\n private websocketService: WebSocketService,\n private auctionService: AuctionService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n\n this.stateService.liveAuctionRunning.subscribe((isRunning) => {\n this.isRunning = isRunning;\n });\n\n this.stateService.currentOverlay.pipe(\n filter(overlay => overlay?.type === 'Auction'),\n takeUntil(this.destroyTriggered),\n ).subscribe((overlay: ReadOverlayOutput) => {\n // load the current auction state\n const auctionID = JSON.parse(overlay.config).auctionID;\n this.auctionService.loadAuctionAndSetStateValues(auctionID);\n\n // listen for auction updates\n this.subscribeToWebsocketEvents();\n });\n }\n\n ngOnDestroy(): void {\n this.destroyTriggered.next();\n this.destroyTriggered.complete();\n }\n\n private subscribeToWebsocketEvents(): void {\n this.websocketService.liveAuctionLotUpdated.pipe(\n takeUntil(this.destroyTriggered)\n ).subscribe((payload: ActiveLotChangedPayload) => {\n this.auctionService.updateActiveAuctionLot(payload.auctionID, payload.activeLotID);\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ipo-live-auction-preview-page',\n templateUrl: './ipo-live-auction-preview-page.component.html',\n styleUrls: ['./ipo-live-auction-preview-page.component.scss']\n})\nexport class IpoLiveAuctionPreviewPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { RaffleClientService } from 'src/app/services/raffle-client.service';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { Raffle } from '../../components/raffle/raffle.component';\n\n@Component({\n selector: 'app-ipo-raffle-page',\n templateUrl: './ipo-raffle-page.component.html',\n styleUrls: ['./ipo-raffle-page.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IpoRafflePageComponent implements OnInit {\n orgID: string;\n eventID: string;\n raffle: Raffle;\n event: VirtualEvent;\n constructor(\n private activatedRoute: ActivatedRoute,\n private raffleClient: RaffleClientService,\n private state: StateService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.loadEvent();\n }\n\n private loadEvent(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n\n if (this.event.enableRaffles) {\n this.loadRaffle();\n }\n });\n }\n\n private loadRaffle(): void {\n const raffleID = this.event.activeRaffleID;\n if (!raffleID) {\n return;\n }\n\n forkJoin({\n raffle: this.raffleClient.readRaffle({ organizationID: this.orgID, raffleID: raffleID }),\n purchaseLevels: this.raffleClient.listPurchaseLevels({ organizationID: this.orgID, raffleID: raffleID })\n }).subscribe(out => {\n const raffle = out.raffle;\n this.raffle = {\n eventID: this.eventID,\n raffleID: raffle.id,\n name: raffle.name,\n descriptionMarkdown: raffle.descriptionMarkdown,\n bannerImageURL: raffle.bannerImageURL,\n startDate: raffle.startDate?.toString(),\n endDate: raffle.endDate?.toString(),\n maxTicketsCount: raffle.maxTicketsCount,\n totalTicketsCount: raffle.totalTicketsCount,\n displayPurchasedCount: raffle.displayProgressInFlow,\n ticketPurchaseLevels: out.purchaseLevels.items,\n rulesMarkdown: raffle.rulesMarkdown,\n } as Raffle;\n });\n }\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-ipo-root-page',\n templateUrl: './ipo-root-page.component.html',\n styleUrls: ['./ipo-root-page.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoRootPageComponent implements OnInit {\n\n storyEnabled: boolean | undefined;\n\n constructor(\n private state: StateService\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.storyEnabled = event.showStory;\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ipo-silent-auction-page',\n templateUrl: './ipo-silent-auction-page.component.html',\n styleUrls: ['./ipo-silent-auction-page.component.scss']\n})\nexport class IpoSilentAuctionPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-ipo-story',\n templateUrl: './ipo-story.component.html',\n styleUrls: ['./ipo-story.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class IpoStoryComponent implements OnInit {\n\n event: VirtualEvent;\n isRegistered: boolean | undefined;\n\n constructor(\n private state: StateService\n ) { }\n\n ngOnInit(): void {\n this.state.registration.subscribe((reg) => {\n if (reg) {\n this.isRegistered = reg.found;\n }\n });\n\n this.state.event.pipe(take(1)).subscribe((event: VirtualEvent) => {\n this.event = event;\n });\n }\n\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { ListImpactsInput, ListImpactsOutput, VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\n\n@Component({\n selector: 'app-ipo-support-our-cause-page',\n templateUrl: './ipo-support-our-cause-page.component.html',\n styleUrls: ['./ipo-support-our-cause-page.component.scss']\n})\nexport class IpoSupportOurCausePageComponent implements OnInit, OnDestroy {\n orgID: string;\n eventID: string;\n hasDonationImpacts = false;\n\n private destroy$ = new Subject();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: VirtualEventClientService,\n ) { }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.loadImpacts();\n }\n\n private loadImpacts(): void {\n this.virtualEventClient.listImpacts({\n organizationID: this.orgID,\n eventID: this.eventID,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.Equal, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasDonationImpacts = out.items.length > 0;\n });\n\n }\n\n}\n","import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\nimport { Component, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { PagingInputV2 } from '@onecause/core';\nimport { Subject } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\nimport { SceneChangedPayload, WebSocketService } from 'src/app/lazy-modules/virtual-event/services/websocket.service';\nimport {\n ListShowsOutput,\n ReadOverlayOutput,\n ReadSceneOutput,\n ReadShowOutput,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\nimport {\n GeneratedVirtualEventRestService,\n GetMyExperienceTypeInput,\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\nimport { ShowState } from '../components/ipo-header/ipo-header.component';\nimport { EventsService } from '../services/events.service';\nimport { StateService } from '../services/state.service';\nimport { IpoAuthService } from './ipo-auth/ipo-auth.service';\n\n@Component({\n selector: 'app-ipo-virtual-event-page',\n templateUrl: './ipo-virtual-event-page.component.html',\n styleUrls: ['./ipo-virtual-event-page.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('show_showHide', [\n // ...\n state('show', style({\n display: 'block',\n 'margin-top': '0',\n opacity: 1,\n top: 0\n })),\n state('hide', style({\n 'margin-top': '-50%',\n opacity: 0,\n top: '-50%'\n })),\n transition(':enter', [\n animate('0.2s', keyframes([\n style({ opacity: 0, 'margin-top': '-50%', top: '-50%', offset: 0.0 }),\n style({ opacity: 0, 'margin-top': '0', top: 0, offset: 0.5 }),\n style({ opacity: 1, 'margin-top': '0', top: 0, offset: 1.0 })\n ]))\n ]),\n transition(':leave', [\n animate('0.2s', keyframes([\n style({ opacity: 1, 'margin-top': '0', top: 0, offset: 0.0 }),\n style({ opacity: 0, 'margin-top': '0', top: 0, offset: 0.5 }),\n style({ opacity: 0, 'margin-top': '-50%', top: '-50%', offset: 1.0 })\n ]))\n ]),\n transition('show => hide', [\n animate('0.2s', keyframes([\n style({ opacity: 1, 'margin-top': '0', top: 0, offset: 0.0 }),\n style({ opacity: 0, 'margin-top': '0', top: 0, offset: 0.5 }),\n style({ opacity: 0, 'margin-top': '-50%', top: '-50%', offset: 1.0 })\n ]))\n ]),\n transition('hide => show', [\n animate('0.2s', keyframes([\n style({ opacity: 0, 'margin-top': '-50%', top: '-50%', offset: 0.0 }),\n style({ opacity: 0, 'margin-top': '0', top: 0, offset: 0.5 }),\n style({ opacity: 1, 'margin-top': '0', top: 0, offset: 1.0 })\n ]))\n ]),\n ]),\n ],\n})\nexport class IpoVirtualEventPageComponent implements OnInit, OnDestroy {\n @ViewChild('sidenav') sidenav: MatDrawer;\n @ViewChild('body') body;\n\n showState: ShowState = ShowState.None;\n showStates = ShowState;\n showCart = false;\n isRegistered = false;\n showLiveBanner = false;\n\n private orgID: string;\n private eventID: string;\n private showID: string;\n private destroy$ = new Subject();\n\n constructor(\n private webSocketService: WebSocketService,\n // TODO move to use the generated one\n private virtualEventClientService: VirtualEventClientService,\n private stateService: StateService,\n private activatedRoute: ActivatedRoute,\n private ipoAuthService: IpoAuthService,\n private events: EventsService,\n private router: Router,\n private veClientService: GeneratedVirtualEventRestService\n ) {\n }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.ipoAuthService.checkUserProfile();\n\n this.getRegistration();\n\n this.events.userLoggedOut.subscribe(() => {\n this.isRegistered = false;\n });\n\n this.events.userLoggedIn.subscribe(() => {\n this.getRegistration();\n });\n\n // When we route under this component, scroll to the top\n // This is necessary b/c we are not using the router-outlet's overflow\n this.router.events.subscribe((ev: any) => {\n if (ev instanceof NavigationEnd) {\n this.body.nativeElement.scrollTop = 0;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n setLiveBanner(data: boolean): void {\n this.showLiveBanner = data;\n }\n\n reloadShow($event: boolean = false): void {\n if ($event) {\n this.loadShow();\n }\n }\n\n loadShow() {\n this.virtualEventClientService.listShows({\n organizationID: this.orgID,\n eventID: this.eventID,\n paging: new PagingInputV2().Take(1),\n }).subscribe((listShowsOut: ListShowsOutput) => {\n if (listShowsOut.items && listShowsOut.items.length > 0) {\n this.showID = listShowsOut.items[0].id;\n\n this.virtualEventClientService.readShow({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: this.showID,\n }).subscribe((show: ReadShowOutput) => {\n this.changeScene(show.activeSceneID);\n });\n }\n });\n }\n\n private subscribeToWebsocketMessages() {\n this.webSocketService.sceneChanged.pipe(\n takeUntil(this.destroy$),\n ).subscribe((payload: SceneChangedPayload) => {\n this.changeScene(payload.activeSceneID);\n });\n\n this.webSocketService.eventConfigChanged.pipe(\n takeUntil(this.destroy$),\n ).subscribe(() => {\n this.changeScene('');\n });\n }\n\n private changeScene(sceneID: string) {\n if (sceneID === '') {\n this.stateService.setLiveAuctionRunning(false);\n this.stateService.setCurrentOverlay(null);\n return;\n }\n\n this.virtualEventClientService.readScene({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: this.showID,\n sceneID: sceneID,\n }).subscribe((scene: ReadSceneOutput) => {\n this.stateService.setCurrentScene(scene);\n if (!this.hasOverlay(scene)) {\n this.updateOverlay(null);\n return;\n }\n\n this.virtualEventClientService.readOverlay({\n organizationID: this.orgID,\n eventID: this.eventID,\n showID: this.showID,\n sceneID: sceneID,\n overlayID: scene.activeOverlayConfig.overlayIDs[0],\n }).subscribe((overlay: ReadOverlayOutput) => {\n this.updateOverlay(overlay);\n });\n });\n }\n\n private hasOverlay(scene: ReadSceneOutput): boolean {\n return !scene.activeOverlayConfig.showNone &&\n scene.activeOverlayConfig.overlayIDs &&\n scene.activeOverlayConfig.overlayIDs.length > 0;\n }\n\n private updateOverlay(overlay: ReadOverlayOutput): void {\n this.stateService.setCurrentOverlay(overlay);\n this.stateService.setLiveAuctionRunning(overlay?.type === 'Auction');\n }\n\n private getRegistration(): void {\n this.stateService.registration\n .pipe(\n filter(reg => reg && reg.found),\n take(1)\n ).subscribe((reg) => {\n\n this.veClientService.getMyExperienceType(new GetMyExperienceTypeInput({ organizationID: reg.organizationID, eventID: reg.eventID }))\n .subscribe((exp) => {\n if (exp.experienceType === 'virtual') {\n // start the video as visible\n this.showState = ShowState.Visible;\n }\n });\n\n this.isRegistered = reg.found;\n this.loadShow();\n this.subscribeToWebsocketMessages();\n this.showCart = true;\n });\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService } from '@onecause/core';\nimport { forkJoin, Observable, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { EventSessionSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { AuthDialogComponent, AuthDialogInput } from '../../components/auth/auth-dialog/auth-dialog.component';\nimport { AuthDisplayMode } from '../../components/auth/auth.component';\nimport { RightDrawerContentService } from '../../components/right-drawer-content/right-drawer-content.service';\nimport { ClaimTicketService } from '../../services/claim-ticket.service';\nimport { EventsService } from '../../services/events.service';\nimport { StateService } from '../../services/state.service';\nimport { VirtualEventService } from '../../services/virtual-event.service';\n\n@Component({\n selector: 'app-ipo-welcome-curtain',\n templateUrl: './ipo-welcome-curtain.component.html',\n styleUrls: ['./ipo-welcome-curtain.component.scss']\n})\nexport class IpoWelcomeCurtainComponent implements OnInit, OnDestroy {\n\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n\n formattedDate = '';\n formattedTime = '';\n ticketAssignmentToken: string;\n ticketID: string;\n isLoggedIn = false;\n showBuyTickets$: Observable;\n\n private destroySubject = new Subject();\n\n constructor(\n private dialog: MatDialog,\n private currentUser: CurrentUserService,\n private state: StateService,\n private events: EventsService,\n private rightDrawer: RightDrawerContentService,\n private virtualEventService: VirtualEventService,\n private activatedRoute: ActivatedRoute,\n private claimTicketService: ClaimTicketService,\n ) { }\n\n ngOnInit(): void {\n this.ticketAssignmentToken = this.activatedRoute.snapshot.queryParamMap.get('t');\n this.ticketID = this.activatedRoute.snapshot.queryParamMap.get('ticket');\n\n forkJoin({\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1)),\n loggedIn: this.currentUser.isLoggedIn().pipe(take(1)),\n showPurchaseTickets: this.state.showPurchaseTickets.pipe(take(1)),\n }).subscribe(\n out => {\n this.event = out.event;\n this.formattedDate = this.virtualEventService.getFormattedEventDate(out.event.primaryDate, out.event.primaryEndDate, true);\n this.formattedTime = this.virtualEventService.getFormattedEventTime(out.event.primaryDate, out.event.primaryEndDate);\n this.eventSession = out.eventSession;\n this.isLoggedIn = out.loggedIn;\n this.showBuyTickets$ = this.state.showPurchaseTickets;\n\n if (this.ticketAssignmentToken && !this.isLoggedIn) {\n this.login();\n } else if (out.loggedIn) {\n this.claimTicketService.handleEventAccess(this.ticketAssignmentToken, this.ticketID);\n }\n\n this.events.userLoggedIn.subscribe(() => {\n this.claimTicketService.handleEventAccess(this.ticketAssignmentToken, this.ticketID);\n });\n }\n );\n\n this.events.userLoggedIn.pipe(takeUntil(this.destroySubject)).subscribe(() => this.isLoggedIn = true);\n this.events.userLoggedOut.pipe(takeUntil(this.destroySubject)).subscribe(() => this.isLoggedIn = false);\n }\n\n ngOnDestroy() {\n this.destroySubject.next();\n this.destroySubject.complete();\n }\n\n login() {\n this.rightDrawer.openLogin();\n }\n\n purchaseTickets() {\n this.rightDrawer.openTicketSelect();\n }\n\n joinEvent() {\n this.rightDrawer.openLogin();\n }\n\n register() {\n this.dialog.open(AuthDialogComponent, {\n panelClass: 'no-padding-dialog',\n maxWidth: '95vw',\n maxHeight: '95vh',\n data: {\n mode: AuthDisplayMode.Register\n } as AuthDialogInput\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { EnvironmentService } from '@onecause/core';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n\n loadingSpinnerUrl: string;\n\n constructor(private environmentService: EnvironmentService) { }\n\n ngOnInit(): void {\n this.environmentService.getURL('assets', 'onecause/loading.gif').subscribe(url => {\n this.loadingSpinnerUrl = url;\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingComponent } from './loading.component';\n\n\n\n@NgModule({\n declarations: [\n LoadingComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n LoadingComponent\n ]\n})\nexport class LoadingModule { }\n","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { PhaasStyling } from '@onecause/core';\nimport { take } from 'rxjs/operators';\n\nimport { StateService } from '../services/state.service';\n\n@Component({\n selector: 'app-normal-vec',\n templateUrl: './normal-vec.component.html',\n styleUrls: ['./normal-vec.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class NormalVecComponent implements OnInit {\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n primaryContrastColor = '';\n\n constructor(\n private state: StateService,\n ) { }\n\n ngOnInit(): void {\n this.state.event.pipe(take(1)).subscribe((event) => {\n this.primaryContrastColor = PhaasStyling.getContrastingTextColor(event.themePrimaryColor);\n });\n }\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CoreCurrencyPipe,\n PhoneNumberFormatter,\n PhoneNumberValidator,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n} from '@onecause/core';\nimport { CreditCardFormData, PrimaryColorService } from 'lib';\nimport { combineLatest } from 'rxjs';\nimport { Raffle, RaffleClientService, ReadPurchaseLevelOutput } from 'src/app/services/raffle-client.service';\nimport {\n BuyFixedPrices,\n BuyItemDonation,\n BuyItemImpact,\n BuyItemRaffleTickets,\n BuyItemsInput,\n ImpactSummary,\n InitiateRecurringDonationInput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { ItemToPurchase } from '../services/buy-items.service';\nimport { EventsService } from '../services/events.service';\nimport { StateService } from '../services/state.service';\nimport { VECRoutingService } from '../services/vec-routing.service';\n\nexport class PaymentRafflePurchaseLevel {\n level: ReadPurchaseLevelOutput;\n count: number;\n}\n\nexport class PaymentImpact {\n impact: ImpactSummary;\n donationAmountCents: number;\n}\n\n@Component({\n selector: 'app-payment-page',\n templateUrl: './payment-page.component.html',\n styleUrls: ['./payment-page.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PaymentPageComponent implements OnInit {\n orgID: string;\n eventID: string;\n\n event: VirtualEvent;\n raffle: Raffle;\n\n paymentForm: FormGroup;\n\n itemToPurchase: ItemToPurchase;\n purchaseDetails: { type: string, description: string, amount: string, amountCents: number };\n submitting: boolean;\n\n coverCostAmountCents = 0;\n\n private creditCardFormData: CreditCardFormData;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: VirtualEventClientService,\n private primaryColorService: PrimaryColorService,\n private state: StateService,\n private events: EventsService,\n private vecRouting: VECRoutingService,\n private snackbar: MatSnackBar,\n private currencyPipe: CoreCurrencyPipe,\n private raffleClient: RaffleClientService,\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.events.raiseHeaderContentsChangeRequested({ progress: false, cart: false });\n\n combineLatest([\n this.state.event,\n this.state.itemToPurchase\n ]).subscribe(([event, itemToPurchase]) => {\n this.event = event;\n this.itemToPurchase = itemToPurchase;\n\n this.initForm();\n\n if (!itemToPurchase) {\n this.goToEventCenter();\n return;\n }\n\n this.primaryColorService.loadPrimaryColorStylesheet(this.event.themePrimaryColor);\n this.populatePurchaseDetails();\n if (this.itemToPurchase.rafflePurchaseLevel) {\n this.loadRaffle();\n }\n });\n }\n\n disablePayButton() {\n return this.submitting || !this.isValid();\n }\n\n submitForm() {\n if (!this.isValid()) {\n this.markAsTouched();\n } else {\n this.submitting = true;\n if (this.itemToPurchase.isRecurringDonation) {\n this.initiateRecurringDonation();\n } else {\n this.pay();\n }\n }\n }\n\n setCreditCardFormData(formData: CreditCardFormData) {\n this.creditCardFormData = formData;\n }\n\n private goToEventCenter() {\n this.vecRouting.goToHome();\n }\n\n private isValid(): boolean {\n if (this.paymentForm.invalid) {\n return false;\n }\n\n if (!this.creditCardFormData) {\n return false;\n }\n\n return true;\n }\n\n private markAsTouched() {\n Object.keys(this.paymentForm.controls).forEach((key) => {\n const control = this.paymentForm.get(key);\n if (control) { control.markAsTouched(); }\n });\n }\n\n private populatePurchaseDetails() {\n if (this.itemToPurchase.rafflePurchaseLevel) {\n const rafflePurchaseLevel = this.itemToPurchase.rafflePurchaseLevel;\n const numTickets = rafflePurchaseLevel.count * rafflePurchaseLevel.level.quantityTickets;\n const raffleAmountCents = rafflePurchaseLevel.count * rafflePurchaseLevel.level.priceCents;\n this.purchaseDetails = {\n type: 'Raffle Ticket',\n description: rafflePurchaseLevel.level.name,\n amount: `${numTickets} for ${this.currencyPipe.transform(raffleAmountCents / 100)}`,\n amountCents: raffleAmountCents\n };\n }\n else if (this.itemToPurchase.impact) {\n const selectedImpact = this.itemToPurchase.impact;\n this.purchaseDetails = {\n type: 'Impact Level',\n description: selectedImpact.impact.name,\n amount: `${this.currencyPipe.transform(selectedImpact.donationAmountCents / 100)}`,\n amountCents: selectedImpact.donationAmountCents\n };\n }\n else if (this.itemToPurchase.isRecurringDonation) {\n this.purchaseDetails = {\n type: 'Donation',\n description: this.event.recurringDonationPeriod + ' Recurring Donation',\n amount: `${this.currencyPipe.transform(this.itemToPurchase.donationAmountCents / 100)}`,\n amountCents: this.itemToPurchase.donationAmountCents\n };\n }\n else if (this.itemToPurchase.donationAmountCents) {\n this.purchaseDetails = {\n type: 'Donation',\n description: 'Donation',\n amount: `${this.currencyPipe.transform(this.itemToPurchase.donationAmountCents / 100)}`,\n amountCents: this.itemToPurchase.donationAmountCents\n };\n }\n }\n\n private pay() {\n\n const raffleTickets = [];\n const impacts = [];\n const donations = [];\n const fixedPrices = [];\n\n if (this.itemToPurchase.rafflePurchaseLevel) {\n const rafflePurchaseLevel = this.itemToPurchase.rafflePurchaseLevel;\n raffleTickets.push({\n raffleID: rafflePurchaseLevel.level.raffleID,\n purchaseLevelID: rafflePurchaseLevel.level.id,\n amountCents: rafflePurchaseLevel.count * rafflePurchaseLevel.level.priceCents,\n quantity: rafflePurchaseLevel.count,\n } as BuyItemRaffleTickets);\n }\n else if (this.itemToPurchase.impact) {\n if (this.itemToPurchase.impact.impact && this.itemToPurchase.impact.impact.fixedPriceItemID\n && this.itemToPurchase.impact.impact.fixedPriceItemID !== '') {\n fixedPrices.push({\n name: this.itemToPurchase.impact.impact.fixedPriceItem.name,\n fixedPriceItemID: this.itemToPurchase.impact.impact.fixedPriceItemID,\n amountCents: this.itemToPurchase.impact.impact.amountCents,\n quantity: 1\n } as BuyFixedPrices);\n } else {\n const selectedImpact = this.itemToPurchase.impact;\n impacts.push({\n impactID: selectedImpact.impact.id,\n amountCents: selectedImpact.donationAmountCents,\n name: selectedImpact.impact.name,\n isAnonymous: selectedImpact.isAnonymous,\n } as BuyItemImpact);\n }\n }\n else if (this.itemToPurchase.donationAmountCents) {\n donations.push({\n amountCents: this.itemToPurchase.donationAmountCents,\n isAnonymous: this.itemToPurchase.isAnonymous,\n greatfeatsParticipantID: this.itemToPurchase.ambassadorParticipantID || '',\n greatfeatsParticipantName: this.itemToPurchase.ambassadorName || '',\n } as BuyItemDonation);\n }\n\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n\n firstName: this.paymentForm.get('firstName').value,\n lastName: this.paymentForm.get('lastName').value,\n email: this.paymentForm.get('email').value,\n mobilePhone: this.paymentForm.get('phone').value,\n coverFee: this.paymentForm.get('coverCost').value,\n\n raffleTickets: raffleTickets,\n impacts: impacts,\n donations: donations,\n fixedPrices: fixedPrices,\n\n payerName: this.creditCardFormData.cardInfo.name,\n cardName: this.creditCardFormData.cardInfo.name,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n expiration: this.creditCardFormData.cardInfo.expiration,\n token: this.creditCardFormData.cardInfo.nonce,\n isExternalPayment: false,\n } as BuyItemsInput;\n\n if (this.creditCardFormData.billingAddress) {\n input.payerStreet = this.creditCardFormData.billingAddress.street;\n input.payerCity = this.creditCardFormData.billingAddress.city;\n input.payerState = this.creditCardFormData.billingAddress.state;\n input.payerZip = this.creditCardFormData.billingAddress.zip;\n input.payerCountry = this.creditCardFormData.billingAddress.country;\n }\n\n this.virtualEventClient.buyItems(input).subscribe(() => {\n this.redirectToThankYouPage();\n }, (e) => {\n let snackMessage = 'There was a problem purchasing the items.';\n if (e.error && e.error.code === 400 && e.error.payload) {\n snackMessage = e.error.payload;\n }\n this.submitting = false;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n });\n }\n\n\n private initiateRecurringDonation() {\n\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n\n firstName: this.paymentForm.get('firstName').value,\n lastName: this.paymentForm.get('lastName').value,\n email: this.paymentForm.get('email').value,\n mobilePhone: this.paymentForm.get('phone').value,\n\n cardName: this.creditCardFormData.cardInfo.name,\n expiration: this.creditCardFormData.cardInfo.expiration,\n cardType: this.creditCardFormData.cardInfo.cardType,\n cardLastFour: this.creditCardFormData.cardInfo.lastFourDigits,\n token: this.creditCardFormData.cardInfo.nonce,\n\n amountCents: this.itemToPurchase.donationAmountCents,\n coverFee: this.paymentForm.get('coverCost').value,\n\n payerName: this.creditCardFormData.cardInfo.name,\n } as InitiateRecurringDonationInput;\n\n if (this.creditCardFormData.billingAddress) {\n input.payerStreet = this.creditCardFormData.billingAddress.street;\n input.payerCity = this.creditCardFormData.billingAddress.city;\n input.payerState = this.creditCardFormData.billingAddress.state;\n input.payerZip = this.creditCardFormData.billingAddress.zip;\n input.payerCountry = this.creditCardFormData.billingAddress.country;\n }\n\n this.virtualEventClient.initiateRecurringDonation(input).subscribe(() => {\n this.redirectToThankYouPage();\n }, (e) => {\n let snackMessage = 'There was a problem setting up your recurring donation.';\n if (e.error && e.error.code === 400 && e.error.payload) {\n snackMessage = e.error.payload;\n }\n this.submitting = false;\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(snackMessage, SnackBarIcon.Error, true)\n );\n });\n }\n\n private initForm() {\n\n this.paymentForm = new FormGroup({\n firstName: new FormControl('', Validators.required),\n lastName: new FormControl('', Validators.required),\n email: new FormControl('', [Validators.required, Validators.email]),\n phone: new FormControl('', [PhoneNumberValidator]),\n coverCost: new FormControl(this.event.coverCostDefault),\n });\n\n PhoneNumberFormatter.initializePhoneFormatter(this.paymentForm.get('phone'));\n }\n\n private loadRaffle() {\n this.raffleClient.readRaffle({\n organizationID: this.orgID,\n raffleID: this.event.activeRaffleID,\n }).subscribe((raffle: Raffle) => this.raffle = raffle);\n }\n\n private redirectToThankYouPage(): void {\n this.vecRouting.goToThankYouPage();\n }\n\n setCoverCostAmountCents(coverCostAmountCents: number) {\n this.coverCostAmountCents = coverCostAmountCents;\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n FilterComparator,\n FilterParameter,\n FilterParameterV3,\n PagingInputV2,\n PagingInputV3,\n PagingOutputV3,\n} from '@onecause/core';\nimport { BehaviorSubject, forkJoin, ReplaySubject, Subject } from 'rxjs';\nimport { pluck, publishReplay, refCount, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { InventoryClientService, ViewAllocationsSummary } from 'src/app/services/inventory-client.service';\nimport { OrganizationRestService } from 'src/app/services/organization-rest.service';\nimport {\n AttendeeExperience,\n EventSessionSummary,\n GetMyExperienceTypeInput,\n GetOrgPickupItemOptionsInput,\n GetOrgPickupItemOptionsOutput,\n MySupporterPurchasedItemsDetailsInput,\n OrgPickupOptions,\n ReadMyRegistrationOutput,\n SupporterPurchasedItemSummary,\n UpdatePickupItem,\n UpdatePickupPreferenceInput,\n VirtualEvent,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport { UserProfileService } from '../components/user-profile/user-profile.service';\nimport { StateService } from '../services/state.service';\nimport { VECRoutingService } from '../services/vec-routing.service';\n\nclass CheckoutMessage {\n type: string;\n message: string;\n defaultMessage: string;\n}\n\n@Component({\n selector: 'app-pickup-page',\n templateUrl: './pickup-page.component.html',\n styleUrls: ['./pickup-page.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PickupPageComponent implements OnInit {\n\n pageSize = 100;\n isItemListLoading: boolean;\n loadedItemsCount = 0;\n\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n registration: ReadMyRegistrationOutput;\n\n organizationID: string;\n eventID: string;\n orgName: string;\n transactionID: string;\n\n isBtnDisabled = true;\n isValidPickupTime = false;\n\n isSuccessPickupTonightOnly = false;\n isSuccessPickupLaterOnly = false;\n isSuccessPickupOtherOnly = false;\n isSuccessPickupMultiple = false;\n\n items: SupporterPurchasedItemSummary[];\n itemsPickupTonight: SupporterPurchasedItemSummary[];\n itemsPickupLater: SupporterPurchasedItemSummary[];\n itemsPickupOther: SupporterPurchasedItemSummary[];\n\n checkOutMessages: CheckoutMessage[];\n\n selectedPickupWindow: Date;\n pickupItemOptionsOrg = new GetOrgPickupItemOptionsOutput().itemOptions;\n pickupItemOptionsQuery = new GetOrgPickupItemOptionsInput();\n\n supporterCheckoutListPaging$ = new BehaviorSubject(null);\n supporterItemListTrigger$ = new ReplaySubject(1);\n supporterItemListPagingInput = new PagingInputV3().Take(this.pageSize);\n\n pageStates = PickupPageState;\n config: PickupPageConfig;\n\n isInPerson = false;\n\n private destroyTriggered$ = new Subject();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private organizationClient: OrganizationRestService,\n private inventoryService: InventoryClientService,\n private state: StateService,\n private virtualEventService: VirtualEventClientService,\n private vecRouting: VECRoutingService,\n private userProfileService: UserProfileService\n ) { }\n\n ngOnInit(): void {\n this.isItemListLoading = false;\n this.items = [];\n this.itemsPickupTonight = [];\n this.itemsPickupLater = [];\n this.itemsPickupOther = [];\n\n this.checkOutMessages = [];\n\n this.checkOutMessages['pickup-later'] = {\n type: 'pickup-later',\n message: '',\n defaultMessage: `Someone from the organization will be connecting with you to schedule pick up.`,\n } as CheckoutMessage;\n\n this.organizationID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.transactionID = this.getTransactionID();\n\n if (this.transactionID !== '') {\n this.config = {\n title: 'Item Pick Up',\n currentState: PickupPageState.Init\n } as PickupPageConfig;\n\n this.pickupItemOptionsQuery.fixedPricedItemIDs = [];\n this.pickupItemOptionsQuery.eventID = this.eventID;\n this.pickupItemOptionsQuery.organizationID = this.organizationID;\n\n this.pickupItemOptionsOrg = [];\n\n forkJoin({\n org: this.organizationClient.getOrganizationSummaryById(this.organizationID),\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1))\n }).subscribe(out => {\n this.orgName = out.org.name;\n this.event = out.event;\n this.eventSession = out.eventSession;\n this.setCheckoutMessages();\n this.loadRegistrationAndItems();\n });\n } else {\n this.isBtnDisabled = false;\n this.config = {\n title: '',\n error: {\n errorMsg: 'Cannot schedule item pick up without a transaction id.',\n errorType: 'transaction-id'\n } as PickupPageError,\n currentState: PickupPageState.Error\n } as PickupPageConfig;\n }\n }\n\n ngOnDestroy() {\n this.destroyTriggered$.next();\n this.destroyTriggered$.complete();\n }\n\n btnAction(pageState: PickupPageState): void {\n switch (pageState) {\n case this.pageStates.Init:\n this.sortItemsIntoLists();\n this.setIsValidPickupTime();\n if (!this.isInPerson || !this.isValidPickupTime || this.itemsPickupTonight?.length === 0) {\n this.updateItems();\n } else {\n this.isBtnDisabled = this.itemsPickupTonight?.length > 0 && this.isValidPickupTime ? true : false;\n this.config.title = 'Schedule Pick Up';\n this.config.currentState = PickupPageState.Schedule;\n }\n this.setSuccessMessageState();\n break;\n case this.pageStates.Schedule:\n this.updateItems();\n this.setSuccessMessageState();\n break;\n case this.pageStates.Success:\n this.returnToEvent();\n break;\n case this.pageStates.Error:\n if (this.config.error.errorType === 'update') {\n // reset filtered arrays\n this.itemsPickupTonight.length = 0;\n this.itemsPickupLater.length = 0;\n this.itemsPickupOther.length = 0;\n this.config.title = 'Item Pick Up';\n this.config.currentState = this.pageStates.Init;\n } else {\n this.returnToEvent();\n }\n break;\n default:\n break;\n }\n window.scroll(0, 0);\n }\n\n handleSelectTimeframe(event: Date): void {\n this.selectedPickupWindow = event;\n this.isBtnDisabled = false;\n }\n\n getScheduleDate(): string {\n if (this.event.pickupCloseTime) {\n const pickupDate = new Date(this.event.pickupCloseTime);\n const pickupDateString = pickupDate.toLocaleString('en-US', {\n weekday: 'long', // long, short, narrow\n day: 'numeric', // numeric, 2-digit\n year: 'numeric', // numeric, 2-digit\n month: 'short', // numeric, 2-digit, long, short, narrow\n });\n return pickupDateString;\n }\n return '';\n }\n\n private setSuccessMessageState(): void {\n this.isSuccessPickupTonightOnly = this.itemsPickupTonight.length > 0 && !this.itemsPickupLater.length && !this.itemsPickupOther.length;\n this.isSuccessPickupLaterOnly = this.itemsPickupLater.length > 0 && !this.itemsPickupTonight.length && !this.itemsPickupOther.length;\n this.isSuccessPickupOtherOnly = this.itemsPickupOther.length > 0 && !this.itemsPickupTonight.length && !this.itemsPickupLater.length;\n this.isSuccessPickupMultiple = !this.isSuccessPickupTonightOnly && !this.isSuccessPickupLaterOnly && !this.isSuccessPickupOtherOnly;\n }\n\n private setCheckoutMessages(): void {\n for (const key in this.checkOutMessages) {\n if (key === 'pickup-later') {\n if (this.event.pickupLaterNotificationMessageMarkdown === '') {\n this.checkOutMessages[key].message = this.checkOutMessages[key].defaultMessage;\n } else {\n this.checkOutMessages[key].message = this.event.pickupLaterNotificationMessageMarkdown;\n }\n }\n }\n }\n\n private setIsValidPickupTime(): void {\n let closeTime: Date;\n if (this.event.allowPickupTonight\n && this.event.isPickupWindowScheduled\n && !!this.event.pickupOpenTime\n && !!this.event.pickupCloseTime) {\n\n const pickUpCloseTime = new Date(this.event.pickupCloseTime).getTime();\n // 15 minutes and 2.5 seconds before close time\n closeTime = new Date(pickUpCloseTime - ((15 * 60000) + 2500));\n\n this.isValidPickupTime = closeTime.getTime() > Date.now() ? true : false;\n }\n }\n\n private returnToEvent(): void {\n this.vecRouting.goToHome();\n }\n\n private sortItemsIntoLists(): void {\n this.items.forEach(item => {\n switch (item.pickupPreference) {\n case 'tonight':\n this.itemsPickupTonight.push(item);\n break;\n case 'later':\n this.itemsPickupLater.push(item);\n break;\n default:\n this.itemsPickupOther.push(item);\n break;\n }\n });\n }\n\n private getUpdatePickupItems(): UpdatePickupItem[] {\n const updateItems = [] as UpdatePickupItem[];\n this.itemsPickupTonight.forEach(item => {\n if (item.lotItems?.length > 1) {\n this.getLotMultipleUpdateItemsInput(item, 'tonight').forEach(updateItem => {\n updateItems.push(updateItem);\n });\n } else {\n updateItems.push(this.getSingleUpdateItemInput(item));\n }\n });\n this.itemsPickupLater.forEach(item => {\n if (item.lotItems?.length > 1) {\n this.getLotMultipleUpdateItemsInput(item).forEach(updateItem => {\n updateItems.push(updateItem);\n });\n } else {\n updateItems.push(this.getSingleUpdateItemInput(item));\n }\n });\n return updateItems;\n }\n\n private getSingleUpdateItemInput(item: SupporterPurchasedItemSummary): UpdatePickupItem {\n const updateItem = {\n itemID: item.itemID,\n fixedPriceItemID: item.fixedPriceItemID,\n lotID: item.lotID,\n allocationID: item.inventoryAllocationID,\n pickupPreference: item.pickupPreference,\n } as UpdatePickupItem;\n\n if (item.pickupPreference === 'tonight' && this.selectedPickupWindow) {\n updateItem.pickupTimeSlot = this.selectedPickupWindow;\n }\n return updateItem;\n }\n\n private getLotMultipleUpdateItemsInput(item: SupporterPurchasedItemSummary, listType?: string): UpdatePickupItem[] {\n const lotItems = [] as UpdatePickupItem[];\n item.lotItems.forEach((lotItem: ViewAllocationsSummary) => {\n const updateItem = {\n itemID: lotItem.itemID,\n fixedPriceItemID: item.fixedPriceItemID,\n lotID: lotItem.lotID,\n allocationID: lotItem.allocationID,\n pickupPreference: item.pickupPreference,\n } as UpdatePickupItem;\n\n if (listType === 'tonight' && !lotItem.isPickUpTonight && lotItem.isPickUpLater) {\n item.pickupPreference = 'later';\n }\n if (updateItem.pickupPreference === 'tonight' && this.selectedPickupWindow) {\n updateItem.pickupTimeSlot = this.selectedPickupWindow;\n }\n lotItems.push(updateItem);\n });\n return lotItems;\n }\n\n private getTransactionID(): string {\n return this.activatedRoute.snapshot.queryParamMap.has('transactionID') ?\n JSON.parse(this.activatedRoute.snapshot.queryParamMap.get('transactionID')) : '';\n }\n\n private itemLoaded(item: SupporterPurchasedItemSummary): void {\n item.isLoaded = true;\n this.loadedItemsCount++;\n }\n\n private loadItems(): void {\n this.supporterItemListTrigger$.pipe(\n switchMap((paging: PagingInputV3) => this.getMySupporterPurchasedItemsDetails(paging)),\n tap(out => this.supporterCheckoutListPaging$.next(out.paging)),\n pluck('items'),\n publishReplay(1),\n refCount()\n ).subscribe({\n next: (out: SupporterPurchasedItemSummary[]) => {\n out.forEach(item => {\n if (item.purchaseItemType === 'vevt-fixed-price' && this.isFixedPriceUnique(this.items, item.fixedPriceItemID)) {\n this.items.push(item);\n }\n if (item.purchaseItemType === 'vevt-auction-lot' && this.isLotIDUnique(this.items, item.lotID)) {\n this.items.push(item);\n }\n });\n this.items.sort((a, b) => {\n if (a.purchaseItemType > b.purchaseItemType) { return -1; }\n if (a.purchaseItemType < b.purchaseItemType) { return 1; }\n return 0;\n });\n if (this.items?.length > 0) {\n this.prepareItemsForDisplay();\n } else {\n this.isItemListLoading = false;\n this.isBtnDisabled = false;\n this.config.title = '';\n this.config.error = {\n errorMsg: 'An unexpected error has occured.',\n errorType: 'load-items'\n } as PickupPageError;\n this.config.currentState = this.pageStates.Error;\n }\n }\n });\n }\n\n private isFixedPriceUnique(items: SupporterPurchasedItemSummary[], id: string): boolean {\n const fixedPriceIDs = items.map((item) => item.fixedPriceItemID);\n if (fixedPriceIDs.indexOf(id) === -1) {\n return true;\n }\n return false;\n }\n\n private isLotIDUnique(items: SupporterPurchasedItemSummary[], id: string): boolean {\n const lotIDs = items.map((item) => item.lotID);\n if (lotIDs.indexOf(id) === -1) {\n return true;\n }\n return false;\n }\n\n private prepareItemsForDisplay(): void {\n for (const item of this.items) {\n if (item.purchaseItemType === 'vevt-fixed-price') {\n this.pickupItemOptionsQuery.fixedPricedItemIDs.push(item.fixedPriceItemID);\n } else if (item.purchaseItemType === 'vevt-auction-lot' && !item.isLoaded) {\n this.lazyLoadAuctionLotDetails(item);\n }\n }\n this.virtualEventService.getOrgPickupItemOptions(this.pickupItemOptionsQuery).pipe(take(1)).subscribe(out => {\n this.pickupItemOptionsOrg = out.itemOptions;\n for (const item of this.items) {\n if (item.purchaseItemType === 'vevt-fixed-price') {\n const itemOrgOpts = this.getFixedPriceItemOrgOptions(item.fixedPriceItemID);\n item.isPickupTonight = itemOrgOpts.isPickupTonight;\n item.isPickupLater = itemOrgOpts.isPickupLater;\n this.itemLoaded(item);\n }\n }\n });\n this.isItemListLoading = false;\n this.isBtnDisabled = false;\n }\n\n private setPaging() {\n const searchFilters = [\n new FilterParameterV3('is_picked_up', FilterComparator.Equal, false),\n new FilterParameterV3('transaction_id', FilterComparator.Equal, this.transactionID),\n ];\n this.supporterItemListPagingInput = new PagingInputV3()\n .Take(this.pageSize)\n .Filters(searchFilters);\n }\n\n private getMySupporterPurchasedItemsDetails(paging: PagingInputV3) {\n this.isItemListLoading = true;\n const input = {\n organizationID: this.organizationID,\n eventID: this.eventID,\n paging\n } as MySupporterPurchasedItemsDetailsInput;\n\n return this.virtualEventService.mySupporterPurchasedItemsDetails(input).pipe(take(1));\n }\n\n private lazyLoadAuctionLotDetails(item: SupporterPurchasedItemSummary): void {\n const pagingInput = new PagingInputV2()\n .Take(1)\n .Filter(new FilterParameter('id', item.lotID));\n\n this.inventoryService.getUserLotsViewList(this.organizationID, item.auctionID, pagingInput)\n .pipe(pluck('items'))\n .subscribe(\n out => {\n if (out.length !== 0) {\n item.auctionLotName = out[0].name;\n item.auctionLotOrder = out[0].lotOrder;\n item.auctionLotPhotoURL = out[0].primaryPhotoURL;\n item.lotItems = [];\n // get items for lot\n const pagingAllocationInput = new PagingInputV2()\n .Take(100)\n .Filter(new FilterParameter('lot_id', item.lotID));\n this.inventoryService.getAllocationViewList(this.organizationID, pagingAllocationInput).pipe(take(100))\n .subscribe(allocationOut => {\n allocationOut.items.forEach(lotItem => {\n item.lotItems.push(lotItem);\n });\n this.itemLoaded(item);\n });\n }\n });\n }\n\n private getFixedPriceItemOrgOptions(itemID: string): OrgPickupOptions {\n let result = new OrgPickupOptions();\n for (const opt of this.pickupItemOptionsOrg) {\n if (opt.itemID === itemID) {\n result = opt;\n break;\n }\n }\n return result;\n }\n\n private loadRegistrationAndItems() {\n this.state.registration.pipe(takeUntil(this.destroyTriggered$)).subscribe(reg => {\n if (reg && reg.found) {\n this.registration = reg;\n this.setIsInPersonFlag();\n this.setPaging();\n this.supporterItemListTrigger$.next(this.supporterItemListPagingInput);\n this.loadItems();\n }\n });\n }\n\n private setIsInPersonFlag() {\n this.userProfileService.getMyGuestSessionSummary().subscribe(myGuestSessionSummary => {\n if (myGuestSessionSummary?.checkedInTime) {\n this.isInPerson = true;\n } else {\n this.virtualEventService.getMyExperienceType(new GetMyExperienceTypeInput(this.organizationID, this.eventID))\n .subscribe((output) => {\n this.isInPerson = output.experienceType === AttendeeExperience.InPerson;\n });\n }\n });\n }\n\n private updateItems() {\n const updatePickupItems = this.getUpdatePickupItems();\n const input = {\n organizationID: this.organizationID,\n eventID: this.eventID,\n userID: this.registration.userID,\n transactionID: this.transactionID,\n pickupItems: updatePickupItems\n } as UpdatePickupPreferenceInput;\n\n this.virtualEventService.updatePickupPreference(input).subscribe(\n () => {\n this.config.title = '';\n this.config.currentState = this.pageStates.Success;\n }, error => {\n this.isBtnDisabled = false;\n this.config.title = '';\n this.config.error = {\n errorMsg: 'There was an issue scheduling your pick up. Please try again.',\n errorType: 'update'\n } as PickupPageError;\n this.config.currentState = this.pageStates.Error;\n });\n }\n}\n\nexport class PickupPageConfig {\n title: string;\n currentState: PickupPageState;\n error: PickupPageError;\n errorStatusCode: string;\n}\n\nexport class PickupPageError {\n errorMsg: string;\n errorType: string;\n}\n\nexport enum PickupPageState {\n Init = 'init',\n Schedule = 'schedule',\n Success = 'success',\n Error = 'error'\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { VECRoutingService } from '../services/vec-routing.service';\n\n@Component({\n selector: 'app-registration-free-cart-page',\n templateUrl: './registration-free-cart-page.component.html',\n styleUrls: ['./registration-free-cart-page.component.scss']\n})\nexport class RegistrationFreeCartPageComponent implements OnInit, AfterViewInit {\n organizationID = '';\n eventID = '';\n token = '';\n invalidToken = false;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private vecRouter: VECRoutingService,\n private changeDetRef: ChangeDetectorRef,\n ) { }\n\n ngOnInit(): void {\n this.organizationID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.token = this.activatedRoute.snapshot.queryParamMap.get('token');\n }\n\n ngAfterViewInit(): void {\n this.changeDetRef.detectChanges();\n }\n\n handleInvalidToken(): void {\n this.invalidToken = true;\n }\n\n navigateToEvent(): void {\n this.vecRouter.goToHome();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { Lot } from 'src/app/services/inventory-client.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuctionStateService {\n\n private auctionStateItems: { [item: string]: ReplaySubject } = {};\n\n get activeLot(): Observable {\n return this.getAuctionStateItem('activeLot').asObservable();\n }\n\n setActiveLot(lot: Lot) {\n this.getAuctionStateItem('activeLot').next(lot);\n }\n\n get activeLotPhotoURLs(): Observable {\n return this.getAuctionStateItem('activeLotPhotoURLs').asObservable();\n }\n\n setActiveLotPhotoURLs(photos: string[]) {\n this.getAuctionStateItem('activeLotPhotoURLs').next(photos);\n }\n\n get nextLot(): Observable {\n return this.getAuctionStateItem('nextLot').asObservable();\n }\n\n setNextLot(lot: Lot) {\n this.getAuctionStateItem('nextLot').next(lot);\n }\n\n private getAuctionStateItem(item: string): ReplaySubject {\n if (this.auctionStateItems[item]) {\n return this.auctionStateItems[item];\n }\n const auctionItemSubject = new ReplaySubject();\n this.auctionStateItems[item] = auctionItemSubject;\n return auctionItemSubject;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n CoreCurrencyPipe,\n FilterComparator,\n FilterParameterV3,\n PagingInputV3,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n PagingInputV2,\n} from '@onecause/core';\nimport { iif, Observable, of, Subject, throwError } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\nimport { CacheService } from 'src/app/services/cache.service';\nimport {\n Bid,\n InventoryClientService,\n Lot,\n ReadAllLotViewListOutput,\n ReadAuctionOutput,\n ReadLotOutput,\n Auction,\n ViewLotPhotosOutput,\n GetLotListOutput,\n} from 'src/app/services/inventory-client.service';\nimport {\n PurchasedItemSummary,\n VirtualEvent,\n} from 'src/app/services/virtual-event-client.service';\nimport {\n AuctionMessageType,\n BiddingClosedPayload,\n BiddingOpenPayload,\n BiddingPausedPayload,\n BidReceivedPayload,\n} from 'src/app/lazy-modules/virtual-event/services/websocket.service';\n\nimport { EventsService } from './events.service';\nimport { StateService } from './state.service';\nimport { AuctionStateService } from './auction-state.service';\nimport {\n BuyNowInput,\n BuyNowOutput,\n CreateBidLimitInput,\n CreateBidLimitOutput,\n GeneratedVirtualEventRestService,\n PlaceBidInput,\n PlaceBidOutput,\n ReadGuestInput,\n ReadGuestOutput,\n ReadMyRegistrationInput,\n ReadMyRegistrationOutput,\n ReadPeerUserInfoInput,\n ReadPeerUserInfoOutput\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\nexport enum LotStatus {\n Preparing = 'preparing',\n BiddingOpen = 'bidding-open',\n BiddingClosed = 'bidding-closed',\n}\n\nexport class BidLimitManagerOutput {\n lotID: string;\n create: boolean;\n amount: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuctionService {\n\n event: VirtualEvent;\n registeredUser: ReadMyRegistrationOutput;\n\n activeLot: Lot;\n activeLotItemDonors: string;\n activeLotEstimatedValueCents: number;\n lotStatus = LotStatus.Preparing;\n\n currentLeaderUserID: string;\n currentLeaderGuestID: string;\n currentLeaderName: string;\n showNewLeaderName = false;\n\n private bidLimitDismissSubject = new Subject();\n bidLimitDismiss$ = this.bidLimitDismissSubject.asObservable();\n\n constructor(\n private state: StateService,\n private events: EventsService,\n private cache: CacheService,\n private virtualEventClient: GeneratedVirtualEventRestService,\n private inventoryClient: InventoryClientService,\n private auctionStateService: AuctionStateService,\n private snackbar: MatSnackBar,\n private coreCurrencyPipe: CoreCurrencyPipe,\n ) {\n this.state.event.subscribe((event: VirtualEvent) => this.event = event);\n this.state.registration.subscribe((registration: ReadMyRegistrationOutput) => this.registeredUser = registration);\n }\n\n loadAuctionAndSetStateValues(auctionID: string): void {\n this.inventoryClient.readAuction(this.event.organizationID, auctionID).subscribe((auction: Auction) => {\n this.updateActiveAuctionLot(auctionID, auction.activeLotID);\n });\n }\n\n updateActiveAuctionLot(auctionID: string, lotID: string): void {\n this.inventoryClient.readLot({\n organizationID: this.event.organizationID,\n auctionID: auctionID,\n lotID: lotID\n }).subscribe((lot: Lot) => {\n this.auctionStateService.setActiveLot(lot);\n this.setPhotosForLot(lot);\n this.setNextLot(lot.auctionID, lot.id);\n });\n }\n\n private setPhotosForLot(lot: Lot) {\n const paging = new PagingInputV3().Filters([\n new FilterParameterV3('lot_id', FilterComparator.Equal, lot.id)\n ]);\n this.inventoryClient.viewLotPhotos(lot.organizationID, lot.auctionID, paging).subscribe((output: ViewLotPhotosOutput) => {\n let photos: string[] = [];\n if (output.items.length) {\n photos = output.items\n .sort(photo => photo.url === lot.primaryPhotoURL ? -1 : 1)\n .map(image => image.url)\n .filter(url => url !== '');\n }\n this.auctionStateService.setActiveLotPhotoURLs(photos);\n });\n }\n\n private setNextLot(auctionID: string, currentLotID: string): void {\n this.inventoryClient.getLotList(this.event.organizationID, auctionID, new PagingInputV2()).subscribe((output: GetLotListOutput) => {\n const lots = output.items;\n if (lots.length) {\n const sorted = lots.sort((a, b) => a.lotOrder - b.lotOrder);\n const nextIndex = sorted.findIndex(lot => lot.id === currentLotID) + 1;\n this.auctionStateService.setNextLot(nextIndex < output.items.length ? sorted[nextIndex] : null);\n }\n });\n }\n\n onActiveLotChanges(lot: Lot): void {\n this.resetAuctionValues();\n this.setActiveLot(lot);\n this.setBiddingStatus();\n this.getActiveLotDetails();\n }\n\n onBiddingPaused(biddingPaused: BiddingPausedPayload): void {\n this.activeLot.isBiddingPaused = biddingPaused.isBiddingPaused;\n }\n\n isBiddingPaused(): boolean {\n return this.activeLot?.isBiddingPaused;\n }\n\n private getActiveLotDetails() {\n this.activeLotItemDonors = '';\n this.activeLotEstimatedValueCents = 0;\n this.inventoryClient.readAllLotViewList(\n this.activeLot.organizationID,\n this.event.id,\n new PagingInputV3().Take(1).Filters([\n new FilterParameterV3('id', FilterComparator.Equal, this.activeLot.id),\n new FilterParameterV3('user_id', FilterComparator.Equal, ''),\n new FilterParameterV3('filter_by_user_id', FilterComparator.Equal, false),\n ]),\n ).subscribe((out: ReadAllLotViewListOutput) => {\n if (!out.items || out.items.length < 1) {\n return;\n }\n this.activeLotItemDonors = out.items[0]?.itemDonors;\n this.activeLotEstimatedValueCents = out.items[0]?.estimatedValueCents;\n });\n }\n\n private setActiveLot(lot: Lot) {\n this.activeLot = lot;\n\n if (this.activeLot.topBidID) {\n this.inventoryClient.readBid({\n organizationID: this.activeLot.organizationID,\n auctionID: this.activeLot.auctionID,\n lotID: this.activeLot.id,\n bidID: this.activeLot.topBidID,\n }).subscribe((bid: Bid) => {\n this.setLeadingBidderInfo(bid.userID, bid.guestID);\n });\n }\n }\n\n private resetAuctionValues(): void {\n this.lotStatus = LotStatus.Preparing;\n this.resetCurrentLeaderValues();\n }\n\n private resetCurrentLeaderValues(): void {\n this.currentLeaderName = '';\n this.currentLeaderUserID = '';\n this.currentLeaderGuestID = '';\n }\n\n private setLeadingBidderInfo(userID: string, guestID: string, isFloorBid: boolean = false): void {\n if (!!!userID && !!!guestID && isFloorBid) {\n this.resetCurrentLeaderValues();\n this.showNewLeaderAlert();\n } else {\n this.currentLeaderUserID = userID;\n this.currentLeaderGuestID = guestID;\n if (this.isLeadingBidder()) {\n this.currentLeaderName = this.registeredUser.firstName + ' ' + this.registeredUser.lastName;\n this.showNewLeaderAlert();\n } else if (this.isLeadingPrimaryBidder()){\n this.currentLeaderName = this.registeredUser?.biddingAsFirstName + ' ' + this.registeredUser?.biddingAsLastName;\n this.showNewLeaderAlert();\n } else if (!!this.activeLot.topBidID && !!userID || !!guestID) {\n const cacheKey = `bidder:org:${this.event.organizationID}:evt:${this.event.id}:guest:${guestID}:usr:${userID}`;\n const cachedName = this.cache.getItem(cacheKey);\n if (!!cachedName) {\n this.currentLeaderName = cachedName;\n this.showNewLeaderAlert();\n } else if (!!userID) {\n this.virtualEventClient.readPeerUserInfo({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n peerUserID: this.currentLeaderUserID,\n } as ReadPeerUserInfoInput).subscribe((user: ReadPeerUserInfoOutput) => {\n this.currentLeaderName = user.firstName + ' ' + user.lastName;\n this.showNewLeaderAlert();\n this.cache.storeItem(cacheKey, this.currentLeaderName, CacheService.days(2));\n });\n } else {\n this.virtualEventClient.readGuest({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n guestID: guestID,\n } as ReadGuestInput).subscribe((guest: ReadGuestOutput) => {\n this.currentLeaderName = guest.firstName + ' ' + guest.lastName;\n this.showNewLeaderAlert();\n this.cache.storeItem(cacheKey, this.currentLeaderName, CacheService.days(2));\n });\n }\n }\n }\n }\n\n isLeadingBidder(): boolean {\n return this.currentLeaderUserID === this.registeredUser.userID;\n }\n\n isLeadingPrimaryBidder(): boolean {\n return !!this.registeredUser?.userID &&\n !!this.currentLeaderUserID &&\n !!this.registeredUser?.biddingAsUserID &&\n this.currentLeaderUserID === this.registeredUser?.biddingAsUserID;\n }\n\n isActiveProxyBidder(): boolean {\n return !!this.registeredUser?.userID && !!this.registeredUser?.biddingAsUserID;\n }\n\n private setBiddingStatus(): void {\n const now = new Date().getTime();\n const open = this.activeLot.openTime;\n const close = this.activeLot.closeTime;\n\n const isClosed = close && new Date(close).getTime() <= now;\n const isOpen = !isClosed && open && new Date(open).getTime() <= now;\n\n if (isOpen) {\n this.onBiddingOpened({ lotID: this.activeLot.id, openTime: this.activeLot.openTime } as BiddingOpenPayload);\n }\n else if (isClosed) {\n this.onBiddingClosed({ lotID: this.activeLot.id, closeTime: this.activeLot.closeTime } as BiddingClosedPayload);\n }\n }\n\n onBiddingOpened(payload: BiddingOpenPayload): void {\n this.validateActiveLot(payload).subscribe(lot => {\n if (!!lot) {\n if (!this.activeLot || lot.id !== this.activeLot.id) {\n this.setActiveLot(lot);\n }\n this.lotStatus = LotStatus.BiddingOpen;\n }\n },\n () => this.handleAuctionWebsocketHandlerError()\n );\n }\n\n onBidReceived(payload: BidReceivedPayload): void {\n this.validateActiveLot(payload).subscribe(lot => {\n if (!!lot) {\n if (!lot.closeTime) {\n this.lotStatus = LotStatus.BiddingOpen;\n }\n if (!this.activeLot || payload.lotID !== this.activeLot.id) {\n this.setActiveLot(lot);\n }\n if (lot.topBidAmountCents < payload.bidAmountCents) {\n this.activeLot.topBidID = payload.bidID;\n this.activeLot.topBidAmountCents = payload.bidAmountCents;\n this.setLeadingBidderInfo(payload.userID, payload.guestID, payload.floorBid);\n }\n }\n },\n () => this.handleAuctionWebsocketHandlerError()\n );\n }\n\n onBiddingClosed(payload: BiddingClosedPayload): void {\n this.validateActiveLot(payload).subscribe(lot => {\n if (!!lot) {\n if (!this.activeLot || lot.id !== this.activeLot.id) {\n this.setActiveLot(lot);\n }\n if (payload.isAssignLater) {\n this.activeLot.isAssignLater = payload.isAssignLater;\n }\n this.updateWinningBidInfoForActiveLot(payload);\n this.lotStatus = LotStatus.BiddingClosed;\n this.addLotToCart();\n }\n },\n () => this.handleAuctionWebsocketHandlerError()\n );\n }\n\n private validateActiveLot(payload: BiddingOpenPayload | BidReceivedPayload | BiddingClosedPayload): Observable {\n if (!payload) { return of(null); }\n\n if (!!this.activeLot && this.isActiveLot(payload.lotID)) {\n return of(this.activeLot);\n }\n\n let type: AuctionMessageType;\n\n if ('openTime' in payload) {\n type = AuctionMessageType.BiddingOpen;\n }\n if ('bidAmountCents' in payload) {\n type = AuctionMessageType.BidReceived;\n }\n if ('closeTime' in payload) {\n type = AuctionMessageType.BiddingClosed;\n }\n\n switch (type) {\n case AuctionMessageType.BiddingOpen:\n case AuctionMessageType.BiddingClosed:\n // we don't have an active lot here, read the lot from the payload\n if (!this.activeLot) {\n return this.readLot(payload.organizationID, payload.auctionID, payload.lotID);\n }\n // allowed to fall through to verify the active lot here against the auction record\n // this next line tells the linter that we did this on purpose\n /* falls through */\n case AuctionMessageType.BidReceived:\n // we have an active lot here but the payload doesn't match, verify against the auction record\n return this.readAuction(payload.organizationID, payload.auctionID)\n .pipe(\n mergeMap(auction => iif(() => auction.activeLotID === payload.lotID, // silent auctions have no activeLotID\n // the payload matches the active lot, good\n this.readLot(payload.organizationID, payload.auctionID, payload.lotID),\n // the payload does not match the active lot -> ignore the message\n of(null)\n ))\n );\n default:\n return throwError(new Error('Failed to determine auction message type'));\n }\n }\n\n private readLot(organizationID: string, auctionID: string, lotID: string): Observable {\n return this.inventoryClient.readLot({\n organizationID,\n auctionID,\n lotID\n });\n }\n\n private readAuction(organizationID: string, auctionID: string): Observable {\n return this.inventoryClient.readAuction(organizationID, auctionID);\n }\n\n private handleAuctionWebsocketHandlerError(): void {\n this.snackbar.openFromComponent(SnackBarComponent,\n new SnackBarConfig('An error occurred while syncing auction data. Please refresh your window.',\n SnackBarIcon.Error,\n true\n ));\n }\n\n private updateWinningBidInfoForActiveLot(payload: BiddingClosedPayload) {\n if (payload.winningBidID) {\n this.activeLot.winningBidID = payload.winningBidID;\n this.activeLot.topBidID = payload.winningBidID;\n }\n if (payload.dollarAmountCents) {\n this.activeLot.topBidAmountCents = payload.dollarAmountCents;\n }\n if (payload.winningUserID || payload.winningGuestID) {\n this.setLeadingBidderInfo(payload.winningUserID, payload.winningGuestID);\n }\n }\n\n private addLotToCart() {\n if (!this.isLeadingBidder()) {\n return;\n }\n\n this.state.shoppingCart.pipe(take(1)).subscribe((cart: PurchasedItemSummary[]) => {\n const alreadyInCart = cart.find(c => this.isActiveLot(c.lotID));\n if (alreadyInCart) {\n return;\n }\n this.events.raiseAuctionLotAddedToCart();\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('Auction item has been added to your cart!', SnackBarIcon.Success, false),\n );\n });\n }\n\n isActiveLot(lotID: string): boolean {\n return lotID === this.activeLot.id;\n }\n\n getCurrentBid(): string {\n if (!this.activeLot || this.isLotPreparing()) {\n return '——';\n }\n\n let amount = this.activeLot.topBidAmountCents;\n if (!amount && this.isBiddingOpen()) {\n amount = this.activeLot.bidMinimumCents;\n }\n\n return amount ? this.coreCurrencyPipe.transform(amount / 100) : '';\n }\n\n isLotPreparing(): boolean {\n return this.lotStatus === LotStatus.Preparing;\n }\n\n isBiddingOpen(): boolean {\n return this.lotStatus === LotStatus.BiddingOpen;\n }\n\n isBiddingClosed(): boolean {\n return this.lotStatus === LotStatus.BiddingClosed;\n }\n\n getLeadingBidderDisplayName(ignoreStatus: boolean = false): string {\n if (ignoreStatus) {\n // auction-expanded component\n return this.currentLeaderName;\n }\n if (this.isBiddingClosed() && this.activeLot.isAssignLater) {\n return 'SOLD';\n }\n if (this.isBiddingClosed() && !this.activeLot.isAssignLater) {\n return this.currentLeaderName || 'BIDDING CLOSED';\n }\n if (this.isBiddingOpen() && this.currentLeaderName) {\n return 'LEADING BIDDER: ' + this.currentLeaderName;\n }\n if (this.isBiddingOpen() && this.hasBids()) {\n return 'FLOOR BID';\n }\n return 'OPENING BID';\n }\n\n private hasBids(): boolean {\n return this.activeLot?.topBidAmountCents && this.activeLot?.topBidAmountCents > 0;\n }\n\n // desktop only\n getCurrentBidLabel(): string {\n if (this.isBiddingClosed()) {\n return this.activeLot?.topBidAmountCents ? 'Thank you for your support!' : 'Bidding Closed';\n }\n return (this.isLotPreparing() || !this.activeLot?.topBidAmountCents) ? 'Opening Bid' : 'Current Winning Bid';\n }\n\n private showNewLeaderAlert() {\n if (this.isBiddingOpen()) {\n this.showNewLeaderName = true;\n setTimeout(() => {\n this.showNewLeaderName = false;\n }, 4000); // hide alert after 4 seconds\n }\n }\n\n getMinimumBid(lot: Lot = this.activeLot): number {\n if (lot.topBidAmountCents) {\n return lot.topBidAmountCents + lot.bidIncrementCents;\n }\n else {\n return lot.bidMinimumCents;\n }\n }\n\n isMinimumBid(bid: number, lot: Lot = this.activeLot): boolean {\n return bid <= this.getMinimumBid(lot);\n }\n\n isOutbid(bid: number, lot: Lot = this.activeLot): boolean {\n return lot.topBidAmountCents > 0 && bid <= lot.topBidAmountCents;\n }\n\n decreaseBidValue(bid: number, lot: Lot = this.activeLot): number {\n return this.isMinimumBid(bid, lot) ? bid : bid - lot.bidIncrementCents;\n }\n\n increaseBidValue(bid: number, lot: Lot = this.activeLot): number {\n return bid + lot.bidIncrementCents;\n }\n\n submitBid(auctionType: string, bid: number, lot: Lot = this.activeLot): Observable {\n return this.virtualEventClient.placeBid({\n organizationID: lot.organizationID,\n eventID: this.event.id,\n auctionID: lot.auctionID,\n lotID: lot.id,\n auctionType: auctionType,\n bidTime: new Date(),\n bidderID: '',\n bidAmountCents: bid,\n userID: this.registeredUser.userID,\n } as PlaceBidInput);\n }\n\n onBidLimitManagerSubmitted(lotID: string, createBidLimit: boolean, amount: number): void {\n this.bidLimitDismissSubject.next({\n lotID: lotID,\n create: createBidLimit,\n amount: amount\n });\n }\n\n submitBidLimit(lot: Lot, bid: number): Observable {\n return this.virtualEventClient.createBidLimit({\n organizationID: lot.organizationID,\n auctionID: lot.auctionID,\n eventID: this.event.id,\n lotID: lot.id,\n amountCents: bid\n } as CreateBidLimitInput);\n }\n\n buyNow(auctionType: string, lot: Lot): Observable {\n return this.virtualEventClient.buyNow({\n organizationID: lot.organizationID,\n eventID: this.event.id,\n auctionID: lot.auctionID,\n lotID: lot.id,\n auctionType: auctionType,\n bidTime: new Date(),\n bidderID: '',\n } as BuyNowInput);\n }\n\n showOutbidMessage(): void {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig('Outbid! Try bidding again or increasing your bid.', SnackBarIcon.Error, false)\n );\n }\n\n showError(e: any): void {\n if (e.error && e.error.code === 400 && e.error.payload) {\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(e.error.payload, SnackBarIcon.Error, false)\n );\n }\n }\n\n proxyBidderUpdated(): void {\n this.virtualEventClient.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n } as ReadMyRegistrationInput).subscribe((existingRegistration: ReadMyRegistrationOutput) => {\n if (existingRegistration.found) {\n this.state.setRegistration(existingRegistration);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { CurrentUserService, SnackBarComponent, SnackBarConfig, SnackBarIcon } from '@onecause/core';\nimport { UserCard } from '@onecause/ngcart/services/givingmanagement-rest-service.service';\nimport { Observable, of, Subject } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport {\n RecurringDonationDialogComponent,\n RecurringDonationDialogInput\n} from 'src/app/lazy-modules/virtual-event/components/recurring-donation-dialog/recurring-donation-dialog.component';\nimport { PurchaseLevelSummary } from 'src/app/services/raffle-client.service';\nimport {\n BuyFixedPrices,\n BuyItemsInput,\n ImpactSummary,\n ListMyAvailableCreditCardsInput,\n ListMyAvailableCreditCardsOutput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { GetParticipantResult } from 'src/app/services/zz-greatfeats-rest.service';\nimport {\n CreditCardDialogComponent,\n CreditCardDialogOutput\n} from '../components/credit-card-dialog/credit-card-dialog.component';\nimport { EventsService } from './events.service';\nimport { PurchaseNotificationService, PurchaseNotificationType } from './purchase-notification.service';\nimport { StateService } from './state.service';\nimport { VECRoutingService } from './vec-routing.service';\n\nexport class ItemToPurchase {\n donationAmountCents: number;\n isRecurringDonation: boolean;\n impact: { impact: ImpactSummary, donationAmountCents: number, isAnonymous: boolean; };\n rafflePurchaseLevel: { level: PurchaseLevelSummary, count: number; };\n isAnonymous: boolean;\n ambassadorParticipantID: string;\n ambassadorName: string;\n}\n\nexport class BuyItemsOutput {\n canceled: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BuyItemsService {\n\n event: VirtualEvent;\n registeredUser: ReadMyRegistrationOutput;\n\n constructor(\n private events: EventsService,\n private state: StateService,\n private virtualEventClient: VirtualEventClientService,\n private currentUserService: CurrentUserService,\n private vecRouting: VECRoutingService,\n private purchaseNotification: PurchaseNotificationService,\n private dialog: MatDialog,\n private snackbar: MatSnackBar,\n ) {\n this.state.event.subscribe((event: VirtualEvent) => this.event = event);\n this.state.registration.subscribe((registration: ReadMyRegistrationOutput) => this.registeredUser = registration);\n }\n\n buyDonation(\n amountCents: number,\n isAnonymous?: boolean,\n isRecurringDonation?: boolean,\n ambassador?: GetParticipantResult\n ): Observable {\n if (!isAnonymous) { isAnonymous = false; }\n if (!isRecurringDonation) { isRecurringDonation = false; }\n if (!ambassador) { ambassador = new GetParticipantResult({ participantID: null, name: null }); }\n return this.buyDonationInternal(amountCents, isRecurringDonation, isAnonymous, ambassador);\n }\n\n buyImpact(impact: { impact: ImpactSummary, donationAmountCents: number, isAnonymous: boolean; },\n quantity?: number): Observable {\n const ambassador = new GetParticipantResult({ participantID: null, name: null });\n return this.buyDonationInternal(impact.donationAmountCents, false, impact.isAnonymous, ambassador, impact.impact, quantity);\n }\n\n private buyDonationInternal(\n donationAmountCents: number,\n isRecurringDonation: boolean,\n isAnonymous: boolean,\n ambassador: GetParticipantResult,\n impact?: ImpactSummary,\n quantity?: number\n ): Observable {\n const outputSub = new Subject();\n const payForDonation = () => {\n const itemToPurchase = {} as ItemToPurchase;\n if (impact) {\n itemToPurchase.impact = {\n impact: impact,\n donationAmountCents: donationAmountCents,\n isAnonymous\n };\n } else {\n itemToPurchase.donationAmountCents = donationAmountCents;\n itemToPurchase.isRecurringDonation = isRecurringDonation;\n itemToPurchase.isAnonymous = isAnonymous;\n itemToPurchase.ambassadorParticipantID = ambassador.participantID;\n itemToPurchase.ambassadorName = ambassador.name;\n }\n this.state.setItemToPurchase(itemToPurchase);\n this.goToPaymentPage().then(() => {\n outputSub.next();\n outputSub.complete();\n });\n };\n\n const addDonationToCart = () => {\n let raiseEvent = () => { };\n const input = this.getAddToCartInputBase();\n input.isAnonymous = isAnonymous;\n if (impact) {\n raiseEvent = () => { this.events.raiseImpactAddedToCart(); };\n if (!!impact.fixedPriceItemID) {\n input.fixedPrices = [{\n fixedPriceItemID: impact.fixedPriceItemID,\n name: impact.fixedPriceItem.name,\n quantity: quantity ? quantity : 1,\n amountCents: impact.fixedPriceItem.priceCents\n }] as BuyFixedPrices[];\n } else {\n input.impacts = [{\n impactID: impact.id,\n amountCents: donationAmountCents,\n name: impact.name,\n isAnonymous,\n }];\n }\n } else {\n raiseEvent = () => { this.events.raiseDonationAddedToCart(); };\n input.donations = [{\n amountCents: donationAmountCents,\n isAnonymous,\n greatfeatsParticipantID: ambassador.participantID || '',\n greatfeatsParticipantName: ambassador.name || '',\n }];\n }\n this.virtualEventClient.buyItems(input).subscribe(() => {\n raiseEvent();\n outputSub.next();\n outputSub.complete();\n if (impact?.fixedPriceItemID) {\n this.purchaseNotification.open(PurchaseNotificationType.Purchase);\n } else {\n this.purchaseNotification.open(PurchaseNotificationType.Donation);\n }\n });\n };\n\n const promptRecurringDonationDialog = (amountCents: number) => {\n const input = new RecurringDonationDialogInput(amountCents, isAnonymous);\n this.dialog.open(RecurringDonationDialogComponent, {\n data: input,\n autoFocus: false,\n }).afterClosed().subscribe(() => {\n outputSub.next();\n outputSub.complete();\n });\n };\n\n const purchaseCanceled = () => {\n outputSub.next({ canceled: true });\n outputSub.complete();\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(\n 'Your purchase has been canceled.',\n SnackBarIcon.Error,\n false,\n ),\n );\n };\n\n this.currentUserService.getProfile().subscribe(_ => {\n if (!this.registeredUser?.found) {\n payForDonation();\n return;\n }\n\n if (isRecurringDonation) {\n // should only check if user has their own card on file\n this.state.userCard.pipe(take(1)).subscribe((card: UserCard) => {\n if (card) {\n promptRecurringDonationDialog(donationAmountCents);\n } else {\n this.promptAddCard().subscribe((promptResult) => {\n if (promptResult?.addedCard) {\n promptRecurringDonationDialog(donationAmountCents);\n } else {\n purchaseCanceled();\n }\n });\n }\n });\n } else {\n this.hasCardOnFile().subscribe((hasCard) => {\n if (hasCard) {\n addDonationToCart();\n }\n else {\n this.promptAddCard().subscribe((promptResult) => {\n if (promptResult && promptResult.addedCard) {\n addDonationToCart();\n } else {\n purchaseCanceled();\n }\n });\n }\n });\n }\n }, _ => payForDonation());\n\n return outputSub.asObservable();\n }\n\n buyAppealDonation(\n donationAmountCents: number,\n emojiURL: string,\n isAnonymous: boolean,\n ambassador?: GetParticipantResult\n ): Observable {\n const outSub = new Subject();\n const input = this.getAddToCartInputBase();\n const raiseEvent = () => { this.events.raiseAppealAddedToCart(); };\n\n if (!ambassador) { ambassador = new GetParticipantResult({ participantID: null, name: null }); }\n\n input.appealDonations = [{\n amountCents: donationAmountCents,\n emojiSelected: emojiURL,\n isAnonymous,\n greatfeatsParticipantID: ambassador.participantID || '',\n greatfeatsParticipantName: ambassador.name || '',\n }];\n\n this.virtualEventClient.buyItems(input).subscribe(() => {\n raiseEvent();\n outSub.next();\n outSub.complete();\n this.purchaseNotification.open(PurchaseNotificationType.Donation);\n });\n\n return outSub.asObservable();\n }\n\n buyRaffleTicket(raffleTicket: { level: PurchaseLevelSummary, count: number; }): Observable {\n const outSub = new Subject();\n const payForRaffle = () => {\n this.state.setItemToPurchase({ rafflePurchaseLevel: raffleTicket } as ItemToPurchase);\n this.goToPaymentPage().then(() => {\n outSub.next();\n outSub.complete();\n });\n };\n\n const addToCart = () => {\n const input = this.getAddToCartInputBase();\n input.raffleTickets = [{\n raffleID: raffleTicket.level.raffleID,\n purchaseLevelID: raffleTicket.level.id,\n amountCents: raffleTicket.level.priceCents * raffleTicket.count,\n quantity: raffleTicket.count,\n }];\n this.virtualEventClient.buyItems(input).subscribe(() => {\n this.events.raiseRaffleAddedToCart();\n outSub.next();\n outSub.complete();\n this.purchaseNotification.open(PurchaseNotificationType.Purchase);\n });\n };\n\n this.currentUserService.getProfile().subscribe(_ => {\n if (!this.registeredUser?.found) {\n payForRaffle();\n return;\n }\n\n this.hasCardOnFile().subscribe((hasCard) => {\n if (hasCard) {\n addToCart();\n }\n else {\n this.promptAddCard().subscribe((promptOut) => {\n if (promptOut.addedCard) {\n addToCart();\n } else {\n outSub.next();\n outSub.complete();\n this.snackbar.openFromComponent(\n SnackBarComponent,\n new SnackBarConfig(\n 'Your purchase has been canceled.',\n SnackBarIcon.Error,\n false,\n ),\n );\n }\n });\n }\n });\n }, _ => payForRaffle());\n\n return outSub.asObservable();\n }\n\n private getAddToCartInputBase(): BuyItemsInput {\n return {\n payAfterEvent: true,\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n email: this.registeredUser?.email,\n firstName: this.registeredUser?.firstName,\n lastName: this.registeredUser?.lastName,\n mobilePhone: this.registeredUser?.mobilePhone,\n isExternalPayment: false,\n itemDetails: {},\n } as BuyItemsInput;\n }\n\n private promptAddCard(): Observable {\n return this.dialog.open(CreditCardDialogComponent).afterClosed();\n }\n\n hasCardOnFile(): Observable {\n return this.state.userCard.pipe(\n take(1),\n switchMap((card: UserCard) => {\n // first, check if the user has their own on file\n if (card) {\n return of(true);\n }\n\n // otherwise, see if any available cards exist (shared cart)\n const input = new ListMyAvailableCreditCardsInput(this.event.organizationID, this.event.id);\n return this.virtualEventClient.listMyAvailableCreditCards(input).pipe(\n map((out: ListMyAvailableCreditCardsOutput) => out.items.length > 0)\n );\n }));\n }\n\n private goToPaymentPage(): Promise {\n return this.vecRouting.goToPaymentPage();\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n FilterParameterV3,\n PagingInputV3,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n} from '@onecause/core';\nimport { CurrentUserService, FilterComparator, Profile } from '@onecause/core';\nimport { combineLatest } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport {\n ReadAssignedTicketInput,\n ReadAssignedTicketOutput,\n TicketClientService,\n} from 'src/app/services/ticket-client.service';\nimport { EventSessionSummary, VirtualEvent } from 'src/app/services/virtual-event-client.service';\nimport {\n CheckGuestForClaimedTicketInput,\n CheckGuestForClaimedTicketOutput,\n ClaimGuestFromTokenInput,\n ClaimMyTicketInput,\n GeneratedVirtualEventRestService,\n ListGuestSessionSummary,\n ListMyGuestSessionSummariesInput,\n ListMyGuestSessionSummariesOutput,\n ReadMyRegistrationInput,\n ReadMyRegistrationOutput,\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\nimport {\n AccountDialogComponent,\n AccountDialogInput,\n} from '../components/join-event/account-dialog/account-dialog.component';\nimport { RightDrawerContentService } from '../components/right-drawer-content/right-drawer-content.service';\nimport { RegistrationService } from './registration.service';\nimport { StateService } from './state.service';\nimport { VirtualEventService } from './virtual-event.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClaimTicketService {\n\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n\n guestSessionSummary: ListGuestSessionSummary;\n ticketID = '';\n ticketAssignmentToken = '';\n isMobile: boolean;\n profile: Profile;\n\n constructor(\n private virtualEventClientService: GeneratedVirtualEventRestService,\n private stateService: StateService,\n private currentUserService: CurrentUserService,\n private registrationService: RegistrationService,\n private dialog: MatDialog,\n private virtualEventService: VirtualEventService,\n private rightDrawer: RightDrawerContentService,\n private ticketClientService: TicketClientService,\n private snackbar: MatSnackBar,\n ) { }\n\n handleEventAccess(ticketAssignmentToken?: string, ticketID?: string): void {\n this.ticketAssignmentToken = ticketAssignmentToken;\n this.ticketID = ticketID;\n this.isMobile = this.virtualEventService.isMobile();\n\n combineLatest([\n this.stateService.event.pipe(take(1)),\n this.stateService.eventSession.pipe(take(1)),\n this.currentUserService.isLoggedIn(),\n ]).subscribe(([event, eventSession]) => {\n this.event = event;\n this.eventSession = eventSession;\n\n this.currentUserService.resetCache();\n this.currentUserService.getProfile('flow/claimTicketService').subscribe((profile: Profile) => {\n this.profile = profile;\n if (this.profile) {\n if (this.event.enableTicketing) {\n if (this.hasGuestAssignmentToken(this.ticketAssignmentToken)) {\n this.claimGuestFromToken();\n } else {\n this.checkForClaimedTicket();\n }\n } else {\n this.checkRegistration();\n }\n }\n });\n });\n }\n\n private claimGuestFromToken() {\n this.virtualEventClientService.claimGuestFromToken(new ClaimGuestFromTokenInput({\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID,\n eventSessionID: this.eventSession.id,\n guestToken: this.ticketAssignmentToken,\n })).subscribe({\n next: (out) => {\n switch (out.result) {\n case 'claimed':\n this.checkRegistration();\n break;\n case 'invalid-guest':\n // fallthrough\n default:\n this.checkForClaimedTicket();\n break;\n }\n },\n error: (err: HttpErrorResponse) => {\n if (UserFriendlyError.isFriendlyError(err)) {\n const friendlyErr = new UserFriendlyError(err);\n if (friendlyErr.message.includes('Another user is already assigned to this guest')) {\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(\n 'The ticket from that link belongs to somebody else.',\n SnackBarIcon.Error, true,\n ));\n this.openBuyTicketsCTA();\n }\n }\n }\n });\n }\n\n private hasGuestAssignmentToken(token?: string): boolean {\n if (!token) {\n return false;\n }\n\n const tokenPieces = token.split('.');\n if (tokenPieces?.length < 3) {\n return false;\n }\n\n try {\n const parsedToken = JSON.parse(window.atob(tokenPieces[1])) as any;\n const roles = JSON.parse(parsedToken.roles) as any[];\n if (roles && typeof roles[0] === 'object' && roles[0] !== null) {\n return roles.some((role: any) => {\n if (role.role === 'event-guest') {\n if (role.context?.guestID) {\n return true;\n }\n }\n return false;\n });\n }\n } catch (error) {\n return false;\n }\n }\n\n private isTicketClaimed(): void {\n this.ticketClientService.readAssignedTicket({\n organizationID: this.eventSession.organizationID,\n ticketID: this.ticketID,\n assignmentToken: this.ticketAssignmentToken\n } as ReadAssignedTicketInput).subscribe((ticket: ReadAssignedTicketOutput) => {\n ticket && ticket.claimedTime ? this.openBuyTicketsCTA() : this.claimTicket();\n });\n }\n\n checkForClaimedTicket(): void {\n this.virtualEventClientService.listMyGuestSessionSummaries(new ListMyGuestSessionSummariesInput({\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID,\n eventSessionID: this.eventSession.id,\n paging: new PagingInputV3().Filter(new FilterParameterV3('guest_user_id', FilterComparator.Equal, this.profile.id)),\n })).subscribe((guestSessions: ListMyGuestSessionSummariesOutput) => {\n let summary: ListGuestSessionSummary;\n let hasClaimedTicket = false;\n if (guestSessions && guestSessions.items.length > 0) {\n this.guestSessionSummary = guestSessions.items[0];\n summary = guestSessions.items[0];\n hasClaimedTicket = summary && summary.ticketID && !!summary.ticketClaimedTime;\n }\n if (hasClaimedTicket) {\n this.checkRegistration();\n } else {\n this.ticketID ? this.isTicketClaimed() : this.checkGuestForClaimedTicket();\n }\n });\n }\n\n private claimTicket(): void {\n this.virtualEventClientService.claimMyTicket({\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID,\n eventSessionID: this.eventSession.id,\n ticketAssignmentToken: this.ticketAssignmentToken,\n } as ClaimMyTicketInput).subscribe((_) => {\n this.checkRegistration();\n });\n }\n\n private checkGuestForClaimedTicket(): void {\n this.virtualEventClientService.checkGuestForClaimedTicket(new CheckGuestForClaimedTicketInput({\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID,\n eventSessionID: this.eventSession.id\n })).subscribe((out: CheckGuestForClaimedTicketOutput) => {\n switch (out.action) {\n case 'redirect':\n this.checkRegistration();\n if (this.isMobile) {\n this.rightDrawer.closeRightDrawer();\n }\n break;\n case 'buy-tickets':\n this.openBuyTicketsCTA();\n break;\n case 'manage-tickets':\n this.rightDrawer.openTicketManager();\n break;\n default:\n if (this.isMobile) {\n this.rightDrawer.closeRightDrawer();\n }\n break;\n }\n });\n }\n\n private checkRegistration(): void {\n this.virtualEventClientService.readMyRegistration({\n organizationID: this.eventSession.organizationID,\n eventID: this.eventSession.eventID\n } as ReadMyRegistrationInput).subscribe((registration: ReadMyRegistrationOutput) => {\n if (registration && registration.found) {\n this.stateService.setRegistration(registration);\n } else {\n this.registrationService.register(this.profile, null, null).subscribe();\n }\n });\n }\n\n private openBuyTicketsCTA(): void {\n if (this.isMobile) {\n this.rightDrawer.openBuyTicketsCTA();\n } else {\n this.dialog.open(AccountDialogComponent, {\n data: {\n showBuyTicketsCTA: true\n } as AccountDialogInput, minWidth: 550\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\n\nexport class CountdownOutput {\n days: number;\n hours: number;\n minutes: number;\n ended: boolean;\n\n constructor(days: number, hours: number, minutes: number, ended: boolean) {\n this.days = days;\n this.hours = hours;\n this.minutes = minutes;\n this.ended = ended;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountdownService {\n getCountdown(closeTime: Date): Observable {\n const countdown$ = new ReplaySubject();\n\n // initialize countdown\n countdown$.next(this.updateCountdown(closeTime));\n\n // start countdown updates\n const interval = setInterval(() => {\n const countdown = this.updateCountdown(closeTime);\n countdown$.next(countdown);\n\n // stop updates if countdown has ended\n if (countdown.ended) {\n clearInterval(interval);\n }\n }, 60000);\n\n return countdown$.asObservable();\n }\n\n private updateCountdown(closeTime: Date): CountdownOutput {\n const endDate = new Date(closeTime).getTime();\n const now = new Date().getTime();\n const countdown = endDate - now;\n\n if (countdown <= 0) {\n return new CountdownOutput(0, 0, 0, true);\n }\n\n const days = Math.floor(countdown / (1000 * 60 * 60 * 24));\n const hours = Math.floor((countdown % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((countdown % (1000 * 60 * 60)) / (1000 * 60));\n\n return new CountdownOutput(days, hours, minutes, false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventsService {\n\n private eventSubjects: { [event: string]: Subject } = {};\n\n get overlayDonateButtonClicked() {\n return this.getEventSubject('overlayDonateButton').asObservable();\n }\n\n raiseOverlayDonateButtonClicked() {\n this.getEventSubject('overlayDonateButton').next();\n }\n\n get headerContentsChangeRequested(): Observable<{ progress: boolean, cart: boolean }> {\n return this.getEventSubject('headerContentsChangeRequested').asObservable();\n }\n\n raiseHeaderContentsChangeRequested(contents: { progress: boolean, cart: boolean }) {\n this.getEventSubject('headerContentsChangeRequested').next(contents);\n }\n\n get donationAddedToCart(): Observable {\n return this.getEventSubject('donationAddedToCart').asObservable();\n }\n\n raiseDonationAddedToCart() {\n this.getEventSubject('donationAddedToCart').next();\n }\n\n get impactAddedToCart(): Observable {\n return this.getEventSubject('impactAddedToCart').asObservable();\n }\n\n raiseImpactAddedToCart() {\n this.getEventSubject('impactAddedToCart').next();\n }\n\n get fixedPriceAddedToCart(): Observable {\n return this.getEventSubject('fixedPriceAddedToCart').asObservable();\n }\n\n raiseFixedPriceAddedToCart() {\n this.getEventSubject('fixedPriceAddedToCart').next();\n }\n\n get appealAddedToCart(): Observable {\n return this.getEventSubject('appealAddedToCart').asObservable();\n }\n\n raiseAppealAddedToCart() {\n this.getEventSubject('appealAddedToCart').next();\n }\n\n get raffleAddedToCart(): Observable {\n return this.getEventSubject('raffleAddedToCart').asObservable();\n }\n\n raiseRaffleAddedToCart() {\n this.getEventSubject('raffleAddedToCart').next();\n }\n\n get auctionLotAddedToCart() {\n return this.getEventSubject('auctionLotAddedToCart').asObservable();\n }\n\n raiseAuctionLotAddedToCart() {\n this.getEventSubject('auctionLotAddedToCart').next();\n }\n\n get appealDonationAddedToCart() {\n return this.getEventSubject('appealDonationAddedToCart').asObservable();\n }\n\n raiseAppealDonationAddedToCart() {\n this.getEventSubject('appealDonationAddedToCart').next();\n }\n\n get userLoggedIn(): Observable {\n return this.getEventSubject('userLoggedIn').asObservable();\n }\n\n raiseUserLoggedIn() {\n return this.getEventSubject('userLoggedIn').next();\n }\n\n get userLoggedOut(): Observable {\n return this.getEventSubject('userLoggedOut').asObservable();\n }\n\n raiseUserLoggedOut() {\n return this.getEventSubject('userLoggedOut').next();\n }\n\n get openCartSidenav(): Observable {\n return this.getEventSubject('openCartSidenav').asObservable();\n }\n\n raiseOpenCartSidenav() {\n return this.getEventSubject('openCartSidenav').next();\n }\n\n get openTicketSelectSidenav(): Observable {\n return this.getEventSubject('openTicketSelectSidenav').asObservable();\n }\n\n raiseOpenTicketSelectSidenav() {\n return this.getEventSubject('openTicketSelectSidenav').next();\n }\n\n get checkUserProfileComplete(): Observable {\n return this.getEventSubject('checkUserProfileComplete').asObservable();\n }\n\n raiseCheckUserProfileComplete() {\n return this.getEventSubject('checkUserProfileComplete').next();\n }\n\n private getEventSubject(event: string): Subject {\n if (this.eventSubjects[event]) {\n return this.eventSubjects[event];\n }\n const eventSubject = new Subject();\n this.eventSubjects[event] = eventSubject;\n return eventSubject;\n }\n}\n","import { Injectable, ComponentFactoryResolver, Injector, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { PurchaseNotificationComponentData, PurchaseNotificationComponent } from '../components/purchase-notification/purchase-notification.component';\n\nexport enum PurchaseNotificationType {\n Donation = 'donation',\n Purchase = 'purchase',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PurchaseNotificationService {\n constructor(\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n @Inject(DOCUMENT) public document: Document,\n ) { }\n\n open(purchaseType: PurchaseNotificationType) {\n const factory = this.resolver.resolveComponentFactory(PurchaseNotificationComponent);\n const componentRef = factory.create(this.injector);\n\n const data = {\n message: `Your ${purchaseType} was added to your items!`,\n actionText: 'Pay Now'\n } as PurchaseNotificationComponentData;\n\n componentRef.instance.data = data;\n componentRef.hostView.detectChanges();\n\n const { nativeElement } = componentRef.location;\n\n this.document.body.appendChild(nativeElement);\n\n componentRef.instance.afterClose.subscribe(() => {\n componentRef.destroy();\n this.document.body.removeChild(nativeElement);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AuthenticationResult, CurrentUserService, GainsightService, Profile } from '@onecause/core';\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap, tap } from 'rxjs/operators';\nimport { TicketOptionAnswer } from 'src/app/services/ticket-client.service';\nimport {\n AttendeeExperience,\n IsRegistrationCompedInput,\n IsRegistrationCompedOutput, ReadMyRegistrationOutput, SelfRegisterForEventInput, UpdateMyProfileInput,\n UpdateMyProfileOutput, UpdateMyRegistrationInput, VirtualEvent, VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { EventsService } from './events.service';\nimport { StateService } from './state.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegistrationService {\n private event: VirtualEvent;\n\n constructor(\n private events: EventsService,\n private state: StateService,\n private virtualEventClient: VirtualEventClientService,\n private currentUserService: CurrentUserService,\n private gainsightService: GainsightService,\n ) {\n this.state.event.subscribe((event: VirtualEvent) => this.event = event);\n }\n\n // updateAccess should be called after signing up or logging in (OneCause account)\n // - updates user's tokens to grant access for API requests\n // - raises UserLoggedIn event to trigger other components to refresh\n updateAccess(authResult: AuthenticationResult): Observable {\n return this.currentUserService.updateTokens(authResult.accessToken, authResult.refreshToken).pipe(\n tap(_ => this.events.raiseUserLoggedIn()),\n tap(_ => this.gainsightService.bootPublic()),\n map(_ => authResult.profile),\n );\n }\n\n // register grants the user access to the virtual event\n // - creates a Registration record on the event\n // - sets the registration value in the state service\n register(\n profile: Profile,\n passthroughID: string = '',\n attendeeExperience: AttendeeExperience = AttendeeExperience.Unknown\n ):\n Observable {\n const input = {\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n firstName: profile.firstName,\n lastName: profile.lastName,\n mobilePhone: profile.phone,\n street: profile.addressLine1,\n city: profile.addressCity,\n state: profile.addressState,\n zip: profile.addressZip,\n country: profile.addressCountry,\n passthroughInvitationID: passthroughID,\n attendeeExperience: attendeeExperience\n } as SelfRegisterForEventInput;\n return this.virtualEventClient.selfRegisterForEvent(input).pipe(\n switchMap(_ => this.setRegistration())\n );\n }\n\n // setRegistration should be called after registering for the virtual event\n // - reads the user's registration\n // - sets the registration value in the StateService to trigger other components to refresh\n setRegistration(): Observable {\n return this.virtualEventClient.readMyRegistration({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n }).pipe(\n tap((registration) => {\n this.state.setRegistration(registration);\n }),\n );\n\n }\n\n // claimTicket assigns a user to a ticket and registers them for the virtual event\n // - claims ticket\n // - creates registration record on the event\n // - sets the registration value in the state service\n claimTicket(\n ticketID: string, token: string, profile: Profile, source: string, ticketOptionAnswers?: TicketOptionAnswer[]\n ): Observable {\n return this.virtualEventClient.claimTicketAndRegister({\n organizationID: this.event.organizationID,\n eventID: source,\n userID: profile.id,\n firstName: profile.firstName,\n lastName: profile.lastName,\n email: profile.email,\n mobilePhone: profile.phone,\n ticketID: ticketID,\n ticketOptionAnswers: ticketOptionAnswers || [],\n payerName: '',\n payerStreet: profile.addressLine1,\n payerCity: profile.addressCity,\n payerState: profile.addressState,\n payerZip: profile.addressZip,\n payerCountry: profile.addressCountry,\n }).pipe(\n switchMap(_ => this.setRegistration())\n );\n }\n\n updateRegistration(input: UpdateMyRegistrationInput): Observable {\n return this.virtualEventClient.updateMyRegistration(input).pipe(\n switchMap(_ => this.setRegistration())\n );\n }\n\n updateProfile(input: UpdateMyProfileInput): Observable {\n return this.virtualEventClient.updateMyProfile(input);\n }\n\n shouldShowDonateWhenRegistering(event: VirtualEvent): Observable {\n if (!event.requireDonationDuringRegistration) {\n return of(event.donationSuggestedAmountsShow);\n }\n\n const input: IsRegistrationCompedInput = {\n organizationID: event.organizationID,\n eventID: event.id,\n };\n return this.virtualEventClient.isRegistrationComped(input).pipe(map((out: IsRegistrationCompedOutput) => !out.comped));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\nimport { UserCard } from 'src/app/services/givingmanagement-client.service';\nimport { Ticket, TicketType } from 'src/app/services/ticket-client.service';\nimport {\n EventSessionSummary,\n PurchasedItemSummary,\n ReadDonationMomentInput,\n ReadDonationMomentOutput,\n ReadMyRegistrationOutput,\n ReadOverlayOutput,\n ReadSceneOutput,\n VirtualEvent,\n VirtualEventClientService\n} from 'src/app/services/virtual-event-client.service';\nimport { AppealOverlayConfig } from '../components/show/overlay/appeal-overlay/appeal-overlay.component';\nimport { ItemToPurchase } from '../services/buy-items.service';\n\nexport enum StateItemName {\n LiveAuctionRunning = 'live-auction-running',\n LiveAppealRunning = 'live-appeal-running',\n ShoppingCart = 'shopping-cart',\n UserCard = 'user-card',\n Event = 'event',\n EventSession = 'event-session',\n Registration = 'registration',\n Tickets = 'tickets',\n TicketTypes = 'ticket-types',\n ItemToPurchase = 'item-to-purchase',\n CurrentScene = 'current-scene',\n CurrentOverlay = 'current-overlay',\n ShowPurchaseTickets = 'show-purchase-tickets',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StateService {\n\n private stateItems: { [item: string]: ReplaySubject | BehaviorSubject } = {};\n\n constructor(\n private virtualEventClient: VirtualEventClientService,\n ) { }\n\n get liveAuctionRunning(): Observable {\n return this.getStateItem(StateItemName.LiveAuctionRunning).asObservable();\n }\n\n setLiveAuctionRunning(running: boolean) {\n this.getStateItem(StateItemName.LiveAuctionRunning).next(running);\n }\n\n get liveAppealRunning(): Observable {\n return this.getStateItem(StateItemName.LiveAppealRunning).asObservable();\n }\n\n setLiveAppealRunning(running: boolean) {\n this.getStateItem(StateItemName.LiveAppealRunning).next(running);\n }\n\n get shoppingCart(): Observable {\n return this.getStateItem(StateItemName.ShoppingCart).asObservable();\n }\n\n setShoppingCart(cart: PurchasedItemSummary[]) {\n this.getStateItem(StateItemName.ShoppingCart).next(cart);\n }\n\n get userCard(): Observable {\n return this.getStateItem(StateItemName.UserCard, true).asObservable();\n }\n\n setUserCard(card: UserCard) {\n this.getStateItem(StateItemName.UserCard, true).next(card);\n }\n\n get event(): Observable {\n return this.getStateItem(StateItemName.Event).asObservable();\n }\n\n setEvent(event: VirtualEvent) {\n this.getStateItem(StateItemName.Event).next(event);\n }\n\n get eventSession(): Observable {\n return this.getStateItem(StateItemName.EventSession).asObservable();\n }\n\n setEventSession(eventSession: EventSessionSummary) {\n this.getStateItem(StateItemName.EventSession).next(eventSession);\n }\n\n get registration(): Observable {\n return this.getStateItem(StateItemName.Registration, true).asObservable();\n }\n\n setRegistration(registration: ReadMyRegistrationOutput) {\n this.getStateItem(StateItemName.Registration, true).next(registration);\n }\n\n get tickets(): Observable {\n return this.getStateItem(StateItemName.Tickets, false);\n }\n\n setTickets(tickets: Ticket[]) {\n this.getStateItem(StateItemName.Tickets, false).next(tickets);\n }\n\n get ticketTypes(): Observable {\n return this.getStateItem(StateItemName.TicketTypes, false);\n }\n\n setTicketTypes(ticketTypes: TicketType[]) {\n this.getStateItem(StateItemName.TicketTypes, false).next(ticketTypes);\n }\n\n get currentScene(): Observable {\n return this.getStateItem(StateItemName.CurrentScene).asObservable();\n }\n\n setCurrentScene(scene: ReadSceneOutput) {\n this.getStateItem(StateItemName.CurrentScene).next(scene);\n }\n\n get currentOverlay(): Observable {\n return this.getStateItem(StateItemName.CurrentOverlay, true).asObservable();\n }\n\n setCurrentOverlay(overlay: ReadOverlayOutput) {\n if (overlay?.type === 'Appeal') {\n // check if online donations have been disabled before setting live appeal as running\n const config = overlay ? JSON.parse(overlay.config) : new AppealOverlayConfig();\n this.virtualEventClient.readDonationMoment({\n organizationID: overlay.organizationID,\n eventID: overlay.eventID,\n id: config.donationMomentID,\n } as ReadDonationMomentInput).subscribe((donationMoment: ReadDonationMomentOutput) => {\n this.setLiveAppealRunning(!donationMoment.disableOnlineDonations);\n });\n } else {\n this.setLiveAppealRunning(false);\n }\n this.setLiveAuctionRunning(overlay?.type === 'Auction');\n this.getStateItem(StateItemName.CurrentOverlay, true).next(overlay);\n }\n\n /*\n when no card is on file, this subject is used on the payment page to buy individual items\n rather than adding purchases to cart\n */\n get itemToPurchase(): Observable {\n return this.getStateItem(StateItemName.ItemToPurchase, true).asObservable();\n }\n\n setItemToPurchase(item: ItemToPurchase) {\n this.getStateItem(StateItemName.ItemToPurchase, true).next(item);\n }\n\n get showPurchaseTickets(): Observable {\n return this.getStateItem(StateItemName.ShowPurchaseTickets).asObservable();\n }\n\n setShowPurchaseTickets(showPurchaseTickets: boolean) {\n this.getStateItem(StateItemName.ShowPurchaseTickets).next(showPurchaseTickets);\n }\n\n private getStateItem(item: string, useBehaviorSubject: boolean = false): (ReplaySubject | BehaviorSubject) {\n if (this.stateItems[item]) {\n return this.stateItems[item];\n }\n\n const itemSubject = useBehaviorSubject ? new BehaviorSubject(null) : new ReplaySubject(1);\n this.stateItems[item] = itemSubject;\n return itemSubject;\n }\n}\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { take } from 'rxjs/operators';\nimport { VirtualEvent } from 'src/app/services/virtual-event-client.service';\n\nimport { StateService } from './state.service';\n\nclass VECRoutes {\n home: string;\n donation: string;\n payment: string;\n thankYou: string;\n chat: string;\n checkout: string;\n pickup: string;\n profile: string;\n silentAuction: string;\n raffle: string;\n story: string;\n supportOurCause: string;\n fixedPriceItems: string;\n liveAuctionPreview: string;\n liveAuction: string;\n liveAppeal: string;\n ticketManager: string;\n game: string;\n login: string;\n signUp: string;\n register: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VECRoutingService {\n\n private readonly vecBaseRoute = '/organizations/{organizationID}/virtual-events/{eventID}';\n private readonly ipoBaseRoute = `${this.vecBaseRoute}/in-person`;\n\n readonly ipoRoutes: VECRoutes = {\n home: `${this.ipoBaseRoute}/home`,\n donation: `${this.ipoBaseRoute}/donate`,\n payment: `${this.ipoBaseRoute}/pay`,\n thankYou: `${this.ipoBaseRoute}/thank-you`,\n chat: `${this.ipoBaseRoute}/chat`,\n checkout: `${this.ipoBaseRoute}/checkout`,\n pickup: `${this.ipoBaseRoute}/pickup`,\n profile: `${this.ipoBaseRoute}/profile`,\n silentAuction: `${this.ipoBaseRoute}/silent-auction`,\n raffle: `${this.ipoBaseRoute}/raffle`,\n story: `${this.ipoBaseRoute}/story`,\n supportOurCause: `${this.ipoBaseRoute}/support-our-cause`,\n fixedPriceItems: `${this.ipoBaseRoute}/fixed-price`,\n liveAuctionPreview: `${this.ipoBaseRoute}/live-auction-preview`,\n liveAuction: `${this.ipoBaseRoute}/live-auction`,\n liveAppeal: `${this.ipoBaseRoute}/live-appeal`,\n ticketManager: `${this.ipoBaseRoute}/ticket-manager`,\n game: `${this.ipoBaseRoute}/game`,\n login: `${this.ipoBaseRoute}/log-in`,\n signUp: `${this.ipoBaseRoute}/sign-up`,\n register: `${this.ipoBaseRoute}/register`,\n };\n\n readonly normalRoutes: VECRoutes = {\n home: `${this.vecBaseRoute}`,\n donation: `${this.vecBaseRoute}`,\n payment: `${this.vecBaseRoute}/pay`,\n thankYou: `${this.vecBaseRoute}/thank-you`,\n chat: `${this.vecBaseRoute}/chat`,\n checkout: `${this.vecBaseRoute}/checkout`,\n pickup: `${this.vecBaseRoute}/pickup`,\n profile: `${this.vecBaseRoute}`,\n raffle: `${this.vecBaseRoute}`,\n silentAuction: `${this.vecBaseRoute}`,\n story: `${this.vecBaseRoute}/story`,\n supportOurCause: `${this.vecBaseRoute}`,\n fixedPriceItems: `${this.vecBaseRoute}`,\n liveAuctionPreview: `${this.vecBaseRoute}`,\n liveAuction: `${this.vecBaseRoute}`,\n liveAppeal: `${this.vecBaseRoute}`,\n ticketManager: `${this.vecBaseRoute}/ticket-manager`,\n game: `${this.vecBaseRoute}/game`,\n login: `${this.vecBaseRoute}`,\n signUp: `${this.vecBaseRoute}`,\n register: `${this.vecBaseRoute}`,\n };\n\n routesInUse: VECRoutes = this.normalRoutes;\n\n\n constructor(\n private state: StateService,\n private router: Router,\n private location: Location\n ) {\n this.checkSizingForRouteSwitch();\n window.addEventListener('resize', () => {\n this.checkSizingForRouteSwitch();\n }, false);\n }\n\n private checkSizingForRouteSwitch(): void {\n if (this.isMobile()) {\n this.useIPORoutes();\n } else {\n this.useNormalRoutes();\n }\n this.switchRoutes();\n }\n\n private isMobile(): boolean {\n const isMobile = window.matchMedia('only screen and (max-width: 1200px)').matches;\n return isMobile;\n }\n\n private switchRoutes() {\n const fullRoute = this.router.url;\n const routeSplit = fullRoute.split('?');\n const currentRoute = routeSplit[0]; // current route without query params\n const queryParams = routeSplit.length === 2 ? `?${routeSplit[1]}` : '';\n\n this.state.event.pipe(take(1)).subscribe((event) => {\n if (fullRoute === this.replaceRouteParams(this.normalRoutes.home, event)) {\n // lots of NormalVEC routes match home, so go to IPO home if at any of them\n this.goToHome();\n return;\n }\n\n let routeName = Object.keys(this.normalRoutes).find((name) => {\n return this.replaceRouteParams(this.normalRoutes[name], event) === currentRoute;\n });\n if (!routeName) {\n routeName = Object.keys(this.ipoRoutes).find((name) => {\n return this.replaceRouteParams(this.ipoRoutes[name], event) === currentRoute;\n });\n }\n if (routeName) {\n this.navigateTo(this.routesInUse[routeName] + queryParams);\n }\n });\n }\n\n private useNormalRoutes() {\n this.routesInUse = this.normalRoutes;\n }\n\n private useIPORoutes() {\n this.routesInUse = this.ipoRoutes;\n }\n\n isRouteActive(fragment: string): boolean {\n return this.router.url.includes(fragment);\n }\n\n goToHome(replaceState?: boolean): Promise {\n return this.navigateTo(this.routesInUse.home, null, replaceState);\n }\n\n goToDonationPage() {\n return this.navigateTo(this.routesInUse.donation);\n }\n\n goToPaymentPage() {\n return this.navigateTo(this.routesInUse.payment);\n }\n\n goToThankYouPage() {\n return this.navigateTo(this.routesInUse.thankYou);\n }\n\n goToCheckoutPage() {\n return this.navigateTo(this.routesInUse.checkout);\n }\n\n goToPickupPage(extras: NavigationExtras) {\n return this.navigateTo(this.routesInUse.pickup, extras);\n }\n\n goToProfilePage() {\n return this.navigateTo(this.routesInUse.profile);\n }\n\n goToSilentAuctionPage() {\n return this.navigateTo(this.routesInUse.silentAuction);\n }\n\n goToRafflePage() {\n return this.navigateTo(this.routesInUse.raffle);\n }\n\n goToSupportOurCausePage() {\n return this.navigateTo(this.routesInUse.supportOurCause);\n }\n\n goToFixedPriceItemsPage() {\n return this.navigateTo(this.routesInUse.fixedPriceItems);\n }\n\n goToLiveAuctionPreviewPage() {\n return this.navigateTo(this.routesInUse.liveAuctionPreview);\n }\n\n goToLiveAuctionPage() {\n return this.navigateTo(this.routesInUse.liveAuction);\n }\n\n goToLiveAppealPage() {\n return this.navigateTo(this.routesInUse.liveAppeal);\n }\n\n goToTicketManagerPage() {\n return this.navigateTo(this.routesInUse.ticketManager);\n }\n\n goToGamePage() {\n return this.navigateTo(this.routesInUse.game);\n }\n\n goToLogInPage() {\n return this.navigateTo(this.routesInUse.login);\n }\n\n goToSignUpPage() {\n return this.navigateTo(this.routesInUse.signUp);\n }\n\n goToRegisterPage() {\n return this.navigateTo(this.routesInUse.register);\n }\n\n goToChatPage() {\n return this.navigateTo(this.routesInUse.chat);\n }\n\n goToStoryPage() {\n return this.navigateTo(this.routesInUse.story);\n }\n\n private navigateTo(route: string, extras?: NavigationExtras, replaceState?: boolean): Promise {\n return this.state.event.pipe(take(1)).toPromise().then((event) => {\n if (extras) {\n return this.router.navigate([this.replaceRouteParams(route, event)], extras);\n } else {\n if (replaceState) {\n this.location.replaceState(this.replaceRouteParams(route, event));\n } else {\n return this.router.navigateByUrl(this.replaceRouteParams(route, event));\n }\n }\n });\n }\n\n private replaceRouteParams(route: string, event: VirtualEvent): string {\n return route\n .replace('{organizationID}', event.organizationID)\n .replace('{eventID}', event.id);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VirtualEventService {\n\n getFormattedEventDate(start: string, end: string, excludeYear: boolean = false): string {\n const locale = 'en-US';\n const dateOptions = { year: 'numeric', month: 'long', day: 'numeric' } as Intl.DateTimeFormatOptions;\n if (excludeYear) {\n dateOptions.year = undefined;\n }\n\n const startDate = new Date(start).toLocaleString(locale, dateOptions);\n const endDate = new Date(end).toLocaleString(locale, dateOptions);\n\n let date = startDate;\n if (startDate !== endDate) {\n date += ' - ' + endDate;\n }\n\n return date;\n }\n\n getFormattedEventTime(start: string, end: string): string {\n const startDate = new Date(start);\n const endDate = new Date(end);\n\n const locale = 'en-US';\n const timeWithMinutes = { hour: 'numeric', minute: 'numeric', hour12: true } as Intl.DateTimeFormatOptions;\n const timeNoMinutes = { hour: 'numeric', hour12: true } as Intl.DateTimeFormatOptions;\n const time = startDate.toLocaleString(locale, startDate.getMinutes() === 0 ? timeNoMinutes : timeWithMinutes) +\n ' - ' + endDate.toLocaleString(locale, endDate.getMinutes() === 0 ? timeNoMinutes : timeWithMinutes);\n\n return time;\n }\n\n isMobile(): boolean {\n return window.matchMedia('only screen and (max-width: 1200px)').matches;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { WebSocketClientService, WebSocketMessage } from '@onecause/core';\nimport { Subject, Observable, merge } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { AppealDonors, ReadSceneOutput, VirtualEventClientService } from 'src/app/services/virtual-event-client.service';\n\nexport { WebSocketMessage } from '@onecause/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WebSocketService {\n\n // chat events\n livestreamChatEnabled = new Subject();\n livestreamChatDisabled = new Subject();\n livestreamChatMessageDeleted = new Subject();\n\n // show control events\n eventConfigChanged = new Subject();\n sceneChanged = new Subject();\n activeOverlayChanged = new Subject();\n appealLevelChanged = new Subject();\n tieredMomentChanged = new Subject();\n\n // silent auction events\n silentAuctionBidReceived = new Subject();\n silentAuctionLotBought = new Subject();\n silentAuctionCartLotUpdated = new Subject();\n silentAuctionBidRescinded = new Subject();\n silentAuctionBidsCleared = new Subject();\n silentAuctionBidLimitCreated = new Subject();\n\n // live auction events\n liveAuctionLotUpdated = new Subject();\n liveAuctionBiddingOpened = new Subject();\n liveAuctionBidReceived = new Subject();\n liveAuctionBiddingClosed = new Subject();\n liveAuctionBiddingPaused = new Subject();\n\n // general auction events\n generalAuctionLotUpdated = new Subject();\n\n // proxy guest events\n proxyBidderAdded = new Subject();\n proxyBidderRemoved = new Subject();\n\n // purchased item events\n impactTotalsUpdated = new Subject();\n fixedPriceQuantityUpdated = new Subject();\n eventDonationTotalsUpdated = new Subject();\n newRecentAppealDonors = new Subject();\n newDonor = new Subject();\n purchasedItemRescinded = new Subject();\n\n // virtual table events\n virtualChairCreated = new Subject();\n virtualChairDeleted = new Subject();\n virtualChairUpdated = new Subject();\n virtualChairCreatedChannel = new Subject();\n virtualChairDeletedChannel = new Subject();\n\n constructor(\n private virtualEventClient: VirtualEventClientService,\n private websocketClient: WebSocketClientService,\n ) {\n this.raiseWebsocketEvents();\n }\n\n openEventNotificationWebsocket(organizationID: string, eventID: string): void {\n this.virtualEventClient.getEventNotificationToken({ organizationID, eventID })\n .subscribe((websocketInfo) => {\n this.websocketClient.connect('EventNotifications', websocketInfo.token, websocketInfo.notificationWebsocketURL);\n });\n }\n\n private raiseWebsocketEvents(): void {\n this.websocketClient.listen([\n // chat events\n LivestreamChatMessageType.Enabled,\n LivestreamChatMessageType.Disabled,\n LivestreamChatMessageType.MessageDeleted,\n\n // show control events\n EventChangedMessageType.EventConfigChanged,\n ShowControlMessageType.SceneChanged,\n SceneOverlayType.ActiveOverlayChanged,\n AppealMessageType.AppealLevelChanged,\n DonationMomentMessageType.TieredMomentChanged,\n\n // silent auction events\n AuctionMessageType.BidReceived,\n AuctionMessageType.LotBought,\n AuctionMessageType.CartLotUpdated,\n AuctionMessageType.BidRescinded,\n AuctionMessageType.BidsCleared,\n\n // live auction events\n AuctionMessageType.ActiveLotChanged,\n AuctionMessageType.BiddingOpen,\n AuctionMessageType.BidReceived,\n AuctionMessageType.BiddingClosed,\n AuctionMessageType.BiddingPaused,\n AuctionMessageType.BidRescinded,\n AuctionMessageType.BidsCleared,\n AuctionMessageType.BidLimitCreated,\n\n // general auction events\n AuctionMessageType.LotUpdated,\n\n // proxy guest events\n ProxyGuestType.ProxyBidderAdded,\n ProxyGuestType.ProxyBidderRemoved,\n\n // purchased item events\n PurchasedItemsMessageType.ImpactTotalsUpdated,\n PurchasedItemsMessageType.EventDonationTotalsUpdated,\n PurchasedItemsMessageType.NewRecentAppealDonors,\n PurchasedItemsMessageType.NewDonor,\n PurchasedItemsMessageType.PurchasedItemRescinded,\n PurchasedItemsMessageType.FixedPriceQuantityUpdated,\n\n // virtual table events\n VirtualTableMessageType.VirtualChairCreated,\n VirtualTableMessageType.VirtualChairDeleted,\n VirtualTableMessageType.VirtualChairUpdated,\n VirtualTableMessageType.VirtualChairCreatedChannel,\n VirtualTableMessageType.VirtualChairDeletedChannel,\n ]).subscribe((message: WebSocketMessage) => {\n switch (message.type) {\n // shared events\n case AuctionMessageType.BidReceived:\n this.silentAuctionBidReceived.next(message.payload);\n this.liveAuctionBidReceived.next(message.payload);\n break;\n\n // chat events\n case LivestreamChatMessageType.Enabled:\n this.livestreamChatEnabled.next(message.payload);\n break;\n case LivestreamChatMessageType.Disabled:\n this.livestreamChatDisabled.next(message.payload);\n break;\n case LivestreamChatMessageType.MessageDeleted:\n this.livestreamChatMessageDeleted.next(message.payload);\n break;\n\n // show control events\n case EventChangedMessageType.EventConfigChanged:\n this.eventConfigChanged.next(message.payload);\n break;\n case ShowControlMessageType.SceneChanged:\n this.sceneChanged.next(message.payload);\n break;\n case SceneOverlayType.ActiveOverlayChanged:\n this.activeOverlayChanged.next(message.payload);\n break;\n case AppealMessageType.AppealLevelChanged:\n this.appealLevelChanged.next(message.payload);\n break;\n case DonationMomentMessageType.TieredMomentChanged:\n this.tieredMomentChanged.next(message.payload);\n break;\n\n // silent auction events\n // bid received needs raised above\n case AuctionMessageType.LotBought:\n this.silentAuctionLotBought.next(message.payload);\n break;\n case AuctionMessageType.CartLotUpdated:\n this.silentAuctionCartLotUpdated.next(message.payload);\n break;\n case AuctionMessageType.BidRescinded:\n this.silentAuctionBidRescinded.next(message.payload);\n break;\n case AuctionMessageType.BidsCleared:\n this.silentAuctionBidsCleared.next(message.payload);\n break;\n case AuctionMessageType.BidLimitCreated:\n this.silentAuctionBidLimitCreated.next(message.payload);\n break;\n\n // live auction events\n // bid received needs raised above\n case AuctionMessageType.ActiveLotChanged:\n this.liveAuctionLotUpdated.next(message.payload);\n break;\n case AuctionMessageType.BiddingOpen:\n this.liveAuctionBiddingOpened.next(message.payload);\n break;\n case AuctionMessageType.BidReceived:\n this.liveAuctionBidReceived.next(message.payload);\n break;\n case AuctionMessageType.BiddingClosed:\n this.liveAuctionBiddingClosed.next(message.payload);\n break;\n case AuctionMessageType.BiddingPaused:\n this.liveAuctionBiddingPaused.next(message.payload);\n break;\n\n // general auction events\n case AuctionMessageType.LotUpdated:\n this.generalAuctionLotUpdated.next(message.payload);\n break;\n\n // proxy guest events\n case ProxyGuestType.ProxyBidderAdded:\n this.proxyBidderAdded.next(message.payload);\n break;\n case ProxyGuestType.ProxyBidderRemoved:\n this.proxyBidderRemoved.next(message.payload);\n break;\n\n // purchased item events\n case PurchasedItemsMessageType.ImpactTotalsUpdated:\n this.impactTotalsUpdated.next(message.payload);\n break;\n case PurchasedItemsMessageType.EventDonationTotalsUpdated:\n this.eventDonationTotalsUpdated.next(message.payload);\n break;\n case PurchasedItemsMessageType.NewRecentAppealDonors:\n this.newRecentAppealDonors.next(message.payload);\n break;\n case PurchasedItemsMessageType.NewDonor:\n this.newDonor.next(message.payload);\n break;\n case PurchasedItemsMessageType.PurchasedItemRescinded:\n this.purchasedItemRescinded.next(message.payload);\n break;\n case PurchasedItemsMessageType.FixedPriceQuantityUpdated:\n this.fixedPriceQuantityUpdated.next(message.payload);\n break;\n\n // virtual table events\n case VirtualTableMessageType.VirtualChairCreated:\n this.virtualChairCreated.next(message.payload);\n break;\n case VirtualTableMessageType.VirtualChairDeleted:\n this.virtualChairDeleted.next(message.payload);\n break;\n case VirtualTableMessageType.VirtualChairUpdated:\n this.virtualChairUpdated.next(message.payload);\n break;\n case VirtualTableMessageType.VirtualChairCreatedChannel:\n this.virtualChairCreatedChannel.next(message.payload);\n break;\n case VirtualTableMessageType.VirtualChairDeletedChannel:\n this.virtualChairDeletedChannel.next(message.payload);\n break;\n\n default:\n console.log('unknown message type', message);\n break;\n }\n });\n }\n\n /*\n returns true when the websocket connection is in trouble or has died\n */\n listenForWebsocketErrors(): Observable {\n return merge(\n this.websocketClient.isInTrouble().pipe(filter(inTrouble => inTrouble === true)),\n this.websocketClient.isDead().pipe(filter(isDead => isDead === true)),\n );\n }\n\n /*\n checks if the connection has died and reanimates if necessary\n */\n checkWebsocketHealth(): Observable {\n return this.websocketClient.isDead().pipe(\n map((isDead: boolean) => {\n if (isDead) {\n this.websocketClient.reanimate();\n }\n return;\n }));\n }\n}\n\nexport enum LivestreamChatMessageType {\n Enabled = 'livestream-chat-enabled',\n Disabled = 'livestream-chat-disabled',\n MessageDeleted = 'livestream-chat-message-deleted',\n}\n\nexport class LivestreamChatEnabledPayload {\n organizationID: string;\n eventID: string;\n}\n\nexport class LivestreamChatDisabledPayload {\n organizationID: string;\n eventID: string;\n}\n\nexport class LivestreamChatMessageDeletedPayload {\n organizationID: string;\n eventID: string;\n livestreamChatChannelID: string;\n messageTimestamp: string;\n}\n\nexport enum ShowControlMessageType {\n SceneChanged = 'scene-changed',\n}\n\nexport class SceneChangedPayload {\n eventID: string;\n organizationID: string;\n activeSceneID: string;\n activeSceneType: string;\n activeSceneURL: string;\n activeShowID: string;\n secondsSinceSceneChange: number;\n}\n\nexport class ActiveOverlayChangedPayload {\n scene: ReadSceneOutput;\n}\n\nexport enum AuctionMessageType {\n ActiveLotChanged = 'active-lot-changed',\n BiddingOpen = 'open-bidding',\n BidReceived = 'bid-received',\n BiddingClosed = 'close-bidding',\n LotBought = 'lot-bought',\n BidRescinded = 'bid-rescinded',\n BidsCleared = 'bids-cleared',\n CartLotUpdated = 'cart-lot-updated',\n BiddingPaused = 'pause-bidding',\n LotUpdated = 'lot-updated',\n BidLimitCreated = 'bid-limit-created',\n}\n\nexport enum ProxyGuestType {\n ProxyBidderAdded = 'proxy-bidder-added',\n ProxyBidderRemoved = 'proxy-bidder-removed',\n}\n\nexport class ActiveLotChangedPayload {\n organizationID: string;\n auctionID: string;\n activeLotID: string;\n}\n\nexport class BiddingOpenPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n openTime: Date;\n}\n\nexport class BidReceivedPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n bidID: string;\n bidAmountCents: number;\n guestID: string;\n userID: string;\n floorBid: boolean;\n}\n\nexport class BiddingClosedPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n closeTime: Date;\n winningBidID: string;\n winningGuestID: string;\n winningUserID: string;\n dollarAmountCents: number;\n isAssignLater: boolean;\n}\n\nexport class BiddingPausedPayload {\n organizationID: string;\n eventID: string;\n auctionID: string;\n lotID: string;\n isBiddingPaused: boolean;\n}\n\nexport class LotBoughtPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n bidID: string;\n userID: string;\n}\n\nexport class BidRescindedPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n bidID: string;\n bidAmountCents: number;\n userID: string;\n}\n\nexport class BidsClearedPayload {\n organizationID: string;\n auctionID: string;\n lotID: string;\n}\n\nexport class BidLimitCreatedPayload {\n organizationID: string;\n eventID: string;\n auctionID: string;\n lotID: string;\n bidLimitID: string;\n bidLimitAmountCents: number;\n userID: string;\n}\n\nexport class ProxyBidderAddedPayload {\n organizationID: string;\n eventID: string;\n guestID: string;\n userID: string;\n proxyGuestID: string;\n proxyUserID: string;\n}\n\nexport class ProxyBidderRemovedPayload extends ProxyBidderAddedPayload { }\n\nexport class PurchasedItemsPayload {\n eventID: string;\n organizationID: string;\n impactIDs: string[];\n raffelIDs: string[];\n auctionLotsIDs: AuctionLots[];\n}\n\nexport class ImpactTotalsUpdatedPayload {\n organizationID: string;\n eventID: string;\n impactID: string;\n totalAmountCents: number;\n totalCount: number;\n}\n\nexport class FixedPriceQuantityUpdatedPayload {\n organizationID: string;\n eventID: string;\n fixedPriceID: string;\n numPurchased: number;\n maxNumAvailable: number;\n numUnlimited: boolean;\n}\n\nexport class EventDonationTotalsUpdatedPayload {\n organizationID: string;\n eventID: string;\n totalAmountCents: number;\n totalCount: number;\n thermometerProceeds: number;\n}\n\nexport class NewDonorPayload {\n organizationID: string;\n eventID: string;\n name: string;\n}\n\nexport class EventChangedPayload {\n organizationID: string;\n eventID: string;\n}\n\nexport class AppealLevelChangedPayload {\n organizationID: string;\n eventID: string;\n overlayID: string;\n config: string;\n}\n\nexport class TieredMomentChangedPayload {\n organizationID: string;\n eventID: string;\n donationMomentID: string;\n donationLevelsAmountCents: number[];\n currentDonationTierAmountCents: number;\n giveAtAnyLevelActive: boolean;\n}\n\nexport class AuctionLots {\n auctionID: string;\n lotID: string;\n}\n\nexport class NewRecentAppealDonorsPayload {\n organizationID: string;\n eventID: string;\n recentDonors: AppealDonors[];\n}\n\nexport class PurchasedItemRescindedPayload {\n organizationID: string;\n eventID: string;\n userID: string;\n}\n\nexport class CartLotUpdatedPayload {\n organizationID: string;\n eventID: string;\n userID: string;\n}\n\nexport class GeneralAuctionLotUpdated {\n organizationID: string;\n eventID: string;\n auctionID: string;\n lotID: string;\n}\n\nexport enum PurchasedItemsMessageType {\n ImpactTotalsUpdated = 'impact-totals-updated',\n EventDonationTotalsUpdated = 'event-donation-totals-updated',\n NewRecentAppealDonors = 'new-recent-appeal-donors',\n NewDonor = 'new-donor',\n PurchasedItemRescinded = 'purchased-item-rescinded',\n FixedPriceQuantityUpdated = 'fixed-price-quantity-updated'\n}\n\nexport enum EventChangedMessageType {\n EventConfigChanged = 'virtualevent-config-changed'\n}\n\nexport enum AppealMessageType {\n AppealLevelChanged = 'appeal-level-changed'\n}\n\nexport enum DonationMomentMessageType {\n TieredMomentChanged = 'tiered-moment-changed'\n}\n\nexport enum SceneOverlayType {\n ActiveOverlayChanged = 'active-overlay-changed'\n}\n\nexport enum VirtualTableMessageType {\n VirtualChairCreated = 'virtual-chair-created',\n VirtualChairUpdated = 'virtual-chair-updated',\n VirtualChairDeleted = 'virtual-chair-deleted',\n VirtualChairCreatedChannel = 'virtual-chair-created-channel',\n VirtualChairDeletedChannel = 'virtual-chair-deleted-channel'\n}\n\nexport class VirtualTablePayload {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n virtualChairID: string;\n userID: string;\n}\n\nexport class VirtualChairChangedPayload {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n virtualChairID: string;\n userID: string;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarComponent, SnackBarConfig } from '@onecause/core';\nimport { take } from 'rxjs/operators';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\n\nimport {\n ReadEventInput,\n ReadEventOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from '../../../services/virtual-event-client.service';\n\nimport { StateService } from '../services/state.service';\nimport { VECRoutingService } from '../services/vec-routing.service';\n\n@Component({\n selector: 'app-thank-you-page',\n templateUrl: './thank-you-page.component.html',\n styleUrls: ['./thank-you-page.component.scss']\n})\nexport class ThankYouPageComponent implements OnInit {\n event: VirtualEvent;\n\n redirectTimerMillis = 5000;\n\n constructor(\n private vecRouting: VECRoutingService,\n private snackbar: MatSnackBar,\n private veClient: VirtualEventClientService,\n private state: StateService,\n private featureFlagService: FeatureFlagService,\n ) { }\n\n ngOnInit() {\n this.showSnackbar();\n this.state.event.pipe(take(1)).subscribe((event) => {\n this.event = event;\n if (!this.event) {\n this.goToEventCenter();\n return;\n }\n\n this.updateEvent();\n\n setTimeout(() => {\n this.goToEventCenter();\n }, this.redirectTimerMillis);\n });\n }\n\n private showSnackbar(): void {\n const config = new SnackBarConfig('You will be redirected shortly.', null, false, 'Go Now');\n config.duration = this.redirectTimerMillis;\n this.snackbar.openFromComponent(SnackBarComponent, config).onAction().subscribe(() => {\n this.goToEventCenter();\n });\n }\n\n private goToEventCenter(): void {\n this.vecRouting.goToHome();\n }\n\n private updateEvent() {\n this.veClient.readEvent({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n } as ReadEventInput).subscribe((event: ReadEventOutput) => {\n this.state.setEvent(event);\n this.setShowPurchaseTickets(event);\n });\n }\n\n private setShowPurchaseTickets(event: ReadEventOutput) {\n this.featureFlagService.featureFlags.subscribe(ff => {\n if (ff.some(flag => flag.featureName === 'new-create-event-experience')) {\n if (new Date().setHours(0, 0, 0, 0) >= new Date(event.primaryEndDate).setHours(0, 0, 0, 0)) {\n this.state.setShowPurchaseTickets(false);\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n });\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n FilterComparator,\n FilterParameterV3,\n PagingInputV3,\n SnackBarComponent,\n SnackBarConfig,\n SnackBarIcon,\n UserFriendlyError,\n} from '@onecause/core';\nimport { Ticket, TicketClientService, TicketOptionAnswer, TicketType } from 'src/app/services/ticket-client.service';\nimport {\n EventSessionSummary,\n Guest,\n ListGuestSessionSummariesInput,\n ListGuestSessionSummariesOutput,\n ListGuestSessionSummary,\n ListMyGuestSessionSummariesInput,\n ReadGuestInput,\n ReadGuestOutput,\n ResetTicketInput,\n UpdateMyTicketInput,\n UpdateTicketInput,\n VirtualEventClientService,\n} from 'src/app/services/virtual-event-client.service';\n\nimport {\n ConfirmationDialogComponent,\n ConfirmationDialogInput,\n ConfirmationDialogOutput,\n} from '../../components/confirmation-dialog/confirmation-dialog.component';\nimport { StateService } from '../../services/state.service';\nimport { TicketManagerService, TicketStatus } from '../ticket-manager.service';\n\n@Component({\n selector: 'app-ticket-details',\n templateUrl: './ticket-details.component.html',\n styleUrls: ['./ticket-details.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TicketDetailsComponent implements OnInit {\n\n form: FormGroup;\n ticket: Ticket;\n ticketType: TicketType;\n ticketOptionAnswers: TicketOptionAnswer[] = [];\n\n guest: Guest;\n\n attendeeName: string;\n ticketStatus: TicketStatus;\n ticketStatusColor: string;\n showSendButton = false;\n showResendButton = false;\n showResetButton = false;\n\n submitting = false;\n\n hideTransfer = false;\n\n private orgID: string;\n private eventID: string;\n private eventSessionID: string;\n private ticketID: string;\n private guestID: string;\n private guestDisplayName: string;\n private guestSession: ListGuestSessionSummary;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private veClient: VirtualEventClientService,\n private ticketClient: TicketClientService,\n private ticketManagerService: TicketManagerService,\n private dialog: MatDialog,\n private snackbar: MatSnackBar,\n private state: StateService,\n ) { }\n\n ngOnInit(): void {\n this.state.eventSession.subscribe((eventSession: EventSessionSummary) => {\n this.eventSessionID = eventSession.id;\n\n this.createForm();\n this.grabRouteIDs();\n });\n }\n\n resetTicket() {\n this.dialog.open(ConfirmationDialogComponent, {\n data: new ConfirmationDialogInput(\n 'Transfer Ticket',\n 'By transferring this ticket you will be revoking access to the current ticketholder'\n + ' as determined by their email address as listed. Are you sure you want to transfer?',\n 'YES',\n ),\n }).afterClosed().subscribe((confirmation: ConfirmationDialogOutput) => {\n if (confirmation.isConfirmed) {\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n ticketID: this.ticketID,\n editKey: '',\n } as ResetTicketInput;\n const callback = {\n next: () => {\n this.loadGuestSession();\n },\n error: (err: HttpErrorResponse) => {\n this.showError(err, 'There was a problem transferring the ticket.');\n },\n };\n if (this.isViewingAsAdmin) {\n this.veClient.resetTicket(input).subscribe(callback);\n } else {\n this.veClient.resetMyTicket(input).subscribe(callback);\n }\n }\n });\n }\n\n updateTicket() {\n this.updateTicketInternal(() => {\n // trigger a ticket option component refresh if we're creating new answers to get the newly created answer IDs\n const newAnswers = this.ticketOptionAnswers.filter(answer => !answer.ticketOptionAnswerID);\n if (newAnswers.length) {\n this.loadTicketType();\n }\n });\n }\n\n sendTicketEmail() {\n this.submitting = true;\n\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n ticketID: this.ticketID,\n };\n const callback = {\n next: () => {\n this.showSuccess('Ticket sent!');\n this.submitting = false;\n },\n error: (err: HttpErrorResponse) => {\n this.showError(err, 'There was a problem sending the ticket.');\n this.submitting = false;\n },\n };\n\n if (this.isViewingAsAdmin) {\n this.veClient.sendTicket(input).subscribe(callback);\n } else {\n this.veClient.sendMyTicket(input).subscribe(callback);\n }\n }\n\n sendTicket() {\n if (this.form.get('email').value === '') {\n this.updateTicket();\n } else {\n this.updateTicketInternal(() => {\n this.loadGuestSession();\n this.sendTicketEmail();\n });\n }\n }\n\n hasTicketOptions() {\n return this.ticketType?.ticketOptions?.length > 0;\n }\n\n onTicketOptionAnswersUpdated(ticketOptionAnswers: TicketOptionAnswer[]) {\n this.ticketOptionAnswers = ticketOptionAnswers;\n }\n\n isValid(): boolean {\n if (this.form.invalid || !this.form.dirty) {\n if (this.ticketType?.ticketOptions.length && this.ticketOptionAnswers.length === 0) {\n return false;\n }\n return false;\n }\n return true;\n }\n\n getSendButtonText(): string {\n return this.form.get('email').value ? 'Save & Send Ticket' : 'Save Ticket';\n }\n\n private updateTicketInternal(successCallback?: () => void) {\n if (!this.isValid()) {\n return;\n }\n this.submitting = true;\n\n const input = {\n organizationID: this.orgID,\n eventID: this.eventID,\n ticketID: this.ticketID,\n ticketTypeID: this.ticketType.id,\n attendeeEmail: this.form.get('email').value,\n attendeeFirstName: this.form.get('firstName').value,\n attendeeLastName: this.form.get('lastName').value,\n ticketOptionAnswers: this.filterAnswers(this.ticketOptionAnswers),\n };\n\n const subscribeCallback = {\n next: () => {\n this.showSuccess('Changes saved.');\n if (successCallback) {\n successCallback();\n }\n this.submitting = false;\n },\n error: (err: HttpErrorResponse) => {\n let errorMessage = 'There was a problem saving the ticket.';\n if (err.error.payload === 'Unable to update guest record.') {\n if (this.isViewingAsAdmin) {\n errorMessage = 'This guest\\'s email already has a ticket. You cannot send another ticket to this email.';\n } else {\n errorMessage = 'You cannot send a ticket to this email.';\n }\n err.error.payload = errorMessage;\n }\n this.showError(err, errorMessage);\n this.submitting = false;\n },\n };\n\n if (this.isViewingAsAdmin) {\n this.veClient.updateTicket(input as UpdateTicketInput).subscribe(subscribeCallback);\n } else {\n this.veClient.updateMyTicket(input as UpdateMyTicketInput).subscribe(subscribeCallback);\n }\n }\n\n private filterAnswers(answers: TicketOptionAnswer[]) {\n // filter so we don't create empty answers\n return answers.filter(answer => answer.ticketOptionAnswer || (answer.ticketOptionAnswerID && answer.ticketOptionAnswer === ''));\n }\n\n private get isViewingAsAdmin(): boolean {\n return this.router.url.includes('/admin');\n }\n\n private showSuccess(message: string) {\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(message, SnackBarIcon.Success, false));\n }\n\n private showError(err: HttpErrorResponse, backupMsg: string) {\n let msg = backupMsg;\n if (UserFriendlyError.isFriendlyError(err)) {\n msg = new UserFriendlyError(err).message;\n }\n this.snackbar.openFromComponent(SnackBarComponent, new SnackBarConfig(msg, SnackBarIcon.Error, true));\n }\n\n private setTicketStatuses() {\n this.ticketStatus = this.ticketManagerService.getTicketStatus(this.guestSession);\n this.ticketStatusColor = this.ticketManagerService.getTicketStatusColor(this.guestSession);\n this.attendeeName = this.guestDisplayName;\n\n switch (this.ticketStatus) {\n case TicketStatus.Unassigned:\n this.showSendButton = true;\n this.showResetButton = false;\n this.showResendButton = false;\n break;\n case TicketStatus.Sent:\n case TicketStatus.Claimed:\n this.showSendButton = false;\n this.showResetButton = true;\n this.showResendButton = true;\n break;\n }\n\n if (!this.guestSession.ticketClaimedTime) {\n this.hideTransfer = true;\n }\n }\n\n private setFormState(ticketStatus: TicketStatus) {\n this.form.get('email').setValue(this.guest.email);\n this.form.get('firstName').setValue(this.guest.firstName);\n this.form.get('lastName').setValue(this.guest.lastName);\n\n const email = this.form.get('email');\n if (ticketStatus === TicketStatus.Claimed) {\n email.disable();\n email.setValidators([]);\n } else {\n email.enable();\n email.setValidators([Validators.email]);\n }\n }\n\n private createForm() {\n this.form = new FormGroup({\n email: new FormControl('', [Validators.email]),\n firstName: new FormControl('', [Validators.required]),\n lastName: new FormControl('', [Validators.required]),\n });\n }\n\n private loadGuestSession() {\n const callback = {\n next: (guestSessions: ListGuestSessionSummariesOutput) => {\n this.guestID = guestSessions.items[0].guestID;\n this.guestDisplayName = guestSessions.items[0].guestDisplayName;\n this.guestSession = guestSessions.items[0];\n this.loadTicket();\n },\n };\n if (this.isViewingAsAdmin) {\n this.veClient.listGuestSessionSummaries({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n paging: new PagingInputV3().Filter(new FilterParameterV3('ticket_id', FilterComparator.Equal, this.ticketID)),\n } as ListGuestSessionSummariesInput).subscribe(callback);\n } else {\n this.veClient.listMyGuestSessionSummaries({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n paging: new PagingInputV3().Filter(new FilterParameterV3('ticket_id', FilterComparator.Equal, this.ticketID)),\n } as ListMyGuestSessionSummariesInput).subscribe(callback);\n }\n }\n\n private loadTicket() {\n const callback = {\n next: (ticket) => {\n this.ticket = ticket;\n this.loadGuest();\n },\n };\n if (this.isViewingAsAdmin) {\n this.ticketClient.readTicket({\n organizationID: this.orgID,\n ticketID: this.ticketID,\n }).subscribe(callback);\n } else {\n this.veClient.readMyTicket({\n organizationID: this.orgID,\n eventID: this.eventID,\n ticketID: this.ticketID,\n }).subscribe(callback);\n }\n }\n\n private loadGuest() {\n this.veClient.readGuest({\n guestID: this.guestID,\n organizationID: this.orgID,\n eventID: this.eventID,\n } as ReadGuestInput).subscribe({\n next: (guest: ReadGuestOutput) => {\n this.guest = guest;\n this.loadTicketType();\n this.setTicketStatuses();\n this.setFormState(this.ticketStatus);\n },\n });\n }\n\n private loadTicketType() {\n this.ticketClient.readTicketType({\n organizationID: this.orgID,\n source: this.eventID,\n ticketTypeID: this.ticket.ticketTypeID,\n }).subscribe((type) => {\n this.ticketType = type;\n });\n }\n\n private grabRouteIDs() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n this.ticketID = this.activatedRoute.snapshot.paramMap.get('ticketID');\n this.loadGuestSession();\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PagingInputV3, PagingOutputV3 } from '@onecause/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, pluck, publishReplay, refCount, switchMap, tap } from 'rxjs/operators';\nimport { CountTicketsOutput, TicketClientService } from 'src/app/services/ticket-client.service';\nimport {\n EventSessionSummary,\n ListGuestSessionSummariesInput,\n ListGuestSessionSummariesOutput,\n ListGuestSessionSummary,\n ListMyGuestSessionSummariesInput,\n VirtualEventClientService\n} from '../../../../services/virtual-event-client.service';\nimport { StateService } from '../../services/state.service';\nimport { VECRoutingService } from '../../services/vec-routing.service';\n\nimport { TicketManagerService, TicketStatus } from '../ticket-manager.service';\n\nclass GuestSessionDetails {\n guestSessionSummary: ListGuestSessionSummary;\n ticketTypeName: string;\n attendeeName: string;\n ticketStatus: TicketStatus;\n ticketStatusColor: string;\n}\n\n@Component({\n selector: 'app-ticket-list',\n templateUrl: './ticket-list.component.html',\n styleUrls: ['./ticket-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class TicketListComponent implements OnInit {\n\n orgID: string;\n eventID: string;\n eventSessionID: string;\n\n ticketsCount: number;\n\n guestSessionSummariesLoading = true;\n getGuestSessionSummariesTrigger$ = new BehaviorSubject(null);\n guestSessionSummariesListPaging$ = new BehaviorSubject(null);\n guestSessionSummaries$ = new BehaviorSubject(null);\n\n constructor(\n private ticketClientService: TicketClientService,\n private veClient: VirtualEventClientService,\n private ticketManagerService: TicketManagerService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private vecRouting: VECRoutingService,\n private state: StateService,\n ) { }\n\n ngOnInit() {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.state.eventSession.subscribe((eventSession: EventSessionSummary) => {\n this.eventSessionID = eventSession.id;\n this.initTicketsList();\n });\n }\n\n goToHome() {\n this.vecRouting.goToHome();\n }\n\n private get isViewingAsAdmin(): boolean {\n return this.router.url.includes('/admin');\n }\n\n private initTicketsList(): void {\n this.getGuestSessionSummariesTrigger$ = new BehaviorSubject(new PagingInputV3());\n this.getGuestSessionSummariesTrigger$.pipe(\n // get the tickets list\n switchMap((paging: PagingInputV3) => this.getGuestSessionSummariesList(paging)),\n // update paginator\n tap((out: ListGuestSessionSummariesOutput) => {\n this.guestSessionSummariesListPaging$.next(out.paging);\n this.ticketsCount = out.items.length;\n }),\n // get the tickets[]\n pluck('items'),\n // loaded!\n map((summaries: ListGuestSessionSummary[]) => summaries.map(summary => this.mapGuestSessionSummary(summary))),\n tap(() => this.guestSessionSummariesLoading = false),\n publishReplay(),\n refCount(),\n ).subscribe(this.guestSessionSummaries$);\n }\n\n private getGuestSessionSummariesList(paging: PagingInputV3): Observable {\n if (this.isViewingAsAdmin) {\n return this.veClient.listGuestSessionSummaries({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n paging: paging,\n } as ListGuestSessionSummariesInput);\n } else {\n return this.veClient.listMyGuestSessionSummaries({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSessionID,\n paging: paging,\n } as ListMyGuestSessionSummariesInput);\n }\n }\n\n private mapGuestSessionSummary(guestSessionSummary: ListGuestSessionSummary): GuestSessionDetails {\n return {\n guestSessionSummary: guestSessionSummary,\n ticketTypeName: guestSessionSummary.ticketTypeName,\n attendeeName: guestSessionSummary.guestDisplayName,\n ticketStatus: this.ticketManagerService.getTicketStatus(guestSessionSummary),\n ticketStatusColor: this.ticketManagerService.getTicketStatusColor(guestSessionSummary),\n } as GuestSessionDetails;\n }\n\n onPageGuestSessionSummaries(paging: PagingInputV3): void {\n this.getGuestSessionSummariesTrigger$.next(paging);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-ticket-manager',\n templateUrl: './ticket-manager.component.html',\n styleUrls: ['./ticket-manager.component.scss']\n})\nexport class TicketManagerComponent {\n}\n","import { Routes } from '@angular/router';\nimport { RoleGuard, RoleToCheck } from '@onecause/core';\n\nimport { TicketManagerRedirectGuard } from '../../../services/ticket-manager-redirect-guard.service';\nimport { VirtualEventPageComponent } from '../virtual-event-page/virtual-event-page.component';\nimport { TicketDetailsComponent } from './ticket-details/ticket-details.component';\nimport { TicketListComponent } from './ticket-list/ticket-list.component';\nimport { TicketManagerComponent } from './ticket-manager.component';\n\nconst adminAndSupportRoles = [{\n role: 'admin',\n contextValuesFromPath: []\n} as RoleToCheck,\n{\n role: 'org-admin',\n contextValuesFromPath: ['organizationID']\n} as RoleToCheck,\n{\n role: 'support',\n contextValuesFromPath: []\n} as RoleToCheck,\n{\n role: 'onecause-tso',\n contextValuesFromPath: []\n} as RoleToCheck,\n{\n role: 'org-manage-tickets',\n contextValuesFromPath: ['organizationID']\n} as RoleToCheck\n];\n\nexport const ticketManagerRoutes = [\n {\n path: 'ticket-manager',\n children: [\n {\n path: '',\n component: VirtualEventPageComponent,\n children: [\n {\n path: 'purchase',\n component: null\n }\n ]\n },\n {\n path: 'admin',\n component: TicketManagerComponent,\n canActivate: [TicketManagerRedirectGuard],\n data: {\n allowedRoles: adminAndSupportRoles,\n loginPageLocation: {\n domain: 'eventsupporter',\n path: 'organizations/{organizationID}/events/{eventID}/ticket-manager-auth'\n }\n },\n canActivateChild: [RoleGuard],\n children: [\n {\n path: '',\n component: TicketListComponent,\n },\n {\n path: 'tickets/:ticketID',\n component: TicketDetailsComponent,\n }\n ],\n },\n ]\n },\n {\n // leaving this to prevent breaking existing links. Can be removed once links have been removed in MON-2738\n path: 'ticket-manager-v2',\n component: VirtualEventPageComponent,\n children: [\n {\n path: 'purchase',\n component: null\n }\n ]\n },\n] as Routes;\n","import { Injectable } from '@angular/core';\n\nexport enum TicketStatus {\n Unassigned = 'Unassigned',\n Assigned = 'Assigned',\n Sent = 'Sent',\n Claimed = 'Claimed',\n CheckedIn = 'Checked In',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TicketManagerService {\n\n getTicketStatus(guestSessionSummary: any): TicketStatus {\n let status: TicketStatus;\n if (!guestSessionSummary.firstName || !guestSessionSummary.lastName) {\n status = TicketStatus.Unassigned;\n }\n if (!guestSessionSummary.email && !!guestSessionSummary.firstName && !!guestSessionSummary.lastName) {\n status = TicketStatus.Assigned;\n }\n if (!!guestSessionSummary.email && !guestSessionSummary.ticketClaimedTime) {\n status = TicketStatus.Sent;\n }\n if (!!guestSessionSummary.ticketClaimedTime && !guestSessionSummary.checkedInTime) {\n status = TicketStatus.Claimed;\n }\n if (!!guestSessionSummary.checkedInTime) {\n status = TicketStatus.CheckedIn;\n }\n if (!status) {\n // bad time\n }\n return status;\n }\n\n getTicketStatusColor(guestSessionSummary: any): string {\n switch (this.getTicketStatus(guestSessionSummary)) {\n case TicketStatus.Unassigned:\n return 'red';\n case TicketStatus.Assigned:\n return 'yellow';\n case TicketStatus.Sent:\n return 'yellow';\n case TicketStatus.Claimed:\n return 'blue';\n case TicketStatus.CheckedIn:\n return 'green';\n default:\n return 'red';\n }\n }\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService, EnvironmentService, FilterComparator, FilterParameterV3, PagingInputV3, PhaasStyling } from '@onecause/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, take } from 'rxjs/operators';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport {\n GeneratedVirtualEventRestService,\n GetMyExperienceTypeInput,\n} from 'src/app/services/zz-generatedvirtualevent-rest.service';\n\nimport { RaffleClientService } from '../../../services/raffle-client.service';\nimport { GetSponsorAttachmentListOutput, SponsorClientService } from '../../../services/sponsor-client.service';\nimport {\n EventSessionSummary,\n EventType,\n ListImpactsInput,\n ListImpactsOutput,\n ReadMyRegistrationOutput,\n VirtualEvent,\n VirtualEventClientService,\n} from '../../../services/virtual-event-client.service';\nimport { Raffle } from '../components/raffle/raffle.component';\nimport { RightDrawerContentService } from '../components/right-drawer-content/right-drawer-content.service';\nimport { EventsService } from '../services/events.service';\nimport { StateService } from '../services/state.service';\nimport { VECRoutingService } from '../services/vec-routing.service';\nimport { VirtualEventService } from '../services/virtual-event.service';\n\n\n@Component({\n selector: 'app-virtual-event-page',\n templateUrl: './virtual-event-page.component.html',\n styleUrls: ['./virtual-event-page.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class VirtualEventPageComponent implements OnInit {\n\n private checkedExperience = false;\n\n orgID: string;\n eventID: string;\n lotID: string;\n allocationList: any;\n selectedIndex: number;\n\n registeredUser: ReadMyRegistrationOutput;\n event: VirtualEvent;\n eventSession: EventSessionSummary;\n primaryContrastColor: string;\n\n loadingShow = true;\n raffle: Raffle;\n\n sponsorImages: string[];\n\n year: string;\n onecauseLogo: Observable;\n\n storyTitle: string;\n liveAuctionPreviewTitle: string;\n silentAuctionTitle: string;\n raffleTitle: string;\n gameTitle: string;\n leaderboardTitle: string;\n fixedPriceTitle: string;\n hasNewTicketsAndAuthFlag = false;\n hasVirtualTablesFlag = false;\n authenticated: boolean;\n isComingFromMagicLink = false;\n hasDonationImpacts = false;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private vecRoutingService: VECRoutingService,\n private virtualEventClient: VirtualEventClientService,\n private raffleClient: RaffleClientService,\n private sponsorClient: SponsorClientService,\n private env: EnvironmentService,\n private state: StateService,\n private events: EventsService,\n private virtualEventService: VirtualEventService,\n private featureFlagService: FeatureFlagService,\n private currentUserService: CurrentUserService,\n private rightDrawerContentService: RightDrawerContentService,\n private veClient: GeneratedVirtualEventRestService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n const lotQueryParam = this.activatedRoute.snapshot.queryParamMap.get('lotID');\n this.lotID = lotQueryParam || '';\n\n this.year = new Date().getFullYear().toFixed();\n this.onecauseLogo = this.env.getURL('assets', 'onecause/one-cause-no-tagline.svg');\n\n forkJoin({\n event: this.state.event.pipe(take(1)),\n eventSession: this.state.eventSession.pipe(take(1)),\n ff: this.featureFlagService.featureFlags.pipe(take(1)),\n profile: this.currentUserService.getProfile('flow/vePage').pipe(take(1), catchError(_ => this.handleUnauthenticated()))\n }).subscribe(out => {\n // event\n this.loadEvent(out.event);\n\n // event session\n this.eventSession = out.eventSession;\n\n // feature flags\n this.hasVirtualTablesFlag = out.ff.some((flag) => flag.featureName === 'virtual-tables');\n\n // profile\n if (out.profile) {\n this.authenticated = true;\n }\n\n // auth events\n this.events.userLoggedIn.subscribe(_ => {\n this.authenticated = true;\n });\n this.events.userLoggedOut.subscribe(_ => {\n this.authenticated = false;\n this.registeredUser = null;\n });\n\n // registration\n this.state.registration.subscribe((registration: ReadMyRegistrationOutput) => {\n if (registration && registration.found) {\n this.registeredUser = registration;\n this.checkForExperience();\n this.authenticated = true;\n this.events.raiseHeaderContentsChangeRequested({ progress: true, cart: true });\n } else {\n this.authenticated = false;\n this.loadImpacts();\n }\n });\n\n this.loadingShow = false;\n });\n }\n\n isMobile(): boolean {\n return this.virtualEventService.isMobile();\n }\n\n private handleUnauthenticated() {\n // ERR_UNAUTHENTICATED\n this.authenticated = false;\n return of(null);\n }\n\n private loadEvent(event: VirtualEvent): void {\n this.event = event;\n this.primaryContrastColor = PhaasStyling.getContrastingTextColor(this.event.themePrimaryColor);\n this.handleSidenavRoutesOnLoad();\n this.loadSponsors();\n if (this.event.enableRaffles) {\n this.loadRaffle();\n }\n this.checkForExperience();\n }\n\n private loadRaffle(): void {\n const raffleID = this.event.activeRaffleID;\n if (!raffleID) {\n return;\n }\n\n forkJoin({\n raffle: this.raffleClient.readRaffle({ organizationID: this.orgID, raffleID: raffleID }),\n purchaseLevels: this.raffleClient.listPurchaseLevels({ organizationID: this.orgID, raffleID: raffleID })\n }).subscribe(out => {\n const raffle = out.raffle;\n this.raffle = {\n eventID: this.eventID,\n raffleID: raffle.id,\n name: raffle.name,\n descriptionMarkdown: raffle.descriptionMarkdown,\n bannerImageURL: raffle.bannerImageURL,\n startDate: raffle.startDate?.toString(),\n endDate: raffle.endDate?.toString(),\n maxTicketsCount: raffle.maxTicketsCount,\n totalTicketsCount: raffle.totalTicketsCount,\n displayPurchasedCount: raffle.displayProgressInFlow,\n ticketPurchaseLevels: out.purchaseLevels.items,\n rulesMarkdown: raffle.rulesMarkdown,\n } as Raffle;\n });\n }\n\n private loadSponsors(): void {\n const paging = new PagingInputV3();\n paging.Filters([\n new FilterParameterV3('external_id', FilterComparator.Equal, this.eventID)\n ]);\n\n this.loadSponsorsPage(paging, []);\n }\n\n private loadSponsorsPage(pagingInput: PagingInputV3, currentList: string[]) {\n this.sponsorClient.getSponsorAttachmentList(this.orgID, pagingInput)\n .subscribe((sponsors: GetSponsorAttachmentListOutput) => {\n currentList.push(...sponsors.items\n .map(sponsor => sponsor.logoURL)\n .filter(image => image !== ''));\n if (sponsors.paging && sponsors.paging.nextPage) {\n this.loadSponsorsPage(new PagingInputV3().FromPageObject(sponsors.paging.nextPage), currentList);\n } else {\n this.sponsorImages = currentList;\n }\n });\n }\n\n private loadImpacts(): void {\n this.virtualEventClient.listImpacts({\n organizationID: this.event.organizationID,\n eventID: this.event.id,\n pagingInput: new PagingInputV3().Filters([\n new FilterParameterV3('hide_from_flow', FilterComparator.Equal, false),\n new FilterParameterV3('fixed_price_item_id', FilterComparator.Equal, '')\n ])\n } as ListImpactsInput)\n .subscribe((out: ListImpactsOutput) => {\n this.hasDonationImpacts = out.items.length > 0;\n });\n\n }\n\n private handleSidenavRoutesOnLoad() {\n if (this.vecRoutingService.isRouteActive('ticket-manager')) {\n this.rightDrawerContentService.openTicketManager();\n }\n\n if (this.vecRoutingService.isRouteActive('purchase-tickets')) {\n this.rightDrawerContentService.openTicketSelect();\n }\n }\n\n private checkForExperience() {\n if (this.checkedExperience) {\n return;\n }\n\n if (this.registeredUser && this.event\n && (this.event.eventType === EventType.Hybrid || this.event.eventType === EventType.VirtualPlusWatchParty)\n ) {\n // if we don't know the guest experience, ask them once\n this.checkedExperience = true;\n this.veClient.getMyExperienceType(new GetMyExperienceTypeInput({\n organizationID: this.event.organizationID,\n eventID: this.event.id\n })).subscribe({\n next: (et) => {\n if (!et.experienceType) {\n this.rightDrawerContentService.openAttendeeExperience();\n }\n }\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RoleGuard as CommonRoleGuard } from '@onecause/core';\n\nimport { CheckoutPageComponent } from './checkout-page/checkout-page.component';\nimport { IpoUserProfileComponent } from './components/ipo-user-profile/ipo-user-profile.component';\nimport { embedRoutes } from './embed/embed.routes';\nimport { RegistrationFreeCartPageComponent } from './registration-free-cart-page/registration-free-cart-page.component';\nimport { IpoLogInComponent } from './ipo-virtual-event-page/ipo-auth/ipo-log-in/ipo-log-in.component';\nimport { IpoRegisterComponent } from './ipo-virtual-event-page/ipo-auth/ipo-register/ipo-register.component';\nimport { IpoSignUpComponent } from './ipo-virtual-event-page/ipo-auth/ipo-sign-up/ipo-sign-up.component';\nimport { IpoChatComponent } from './ipo-virtual-event-page/ipo-chat/ipo-chat.component';\nimport { IpoDonationPageComponent } from './ipo-virtual-event-page/ipo-donation-page/ipo-donation-page.component';\nimport { IpoFixedPricePageComponent } from './ipo-virtual-event-page/ipo-fixed-price-page/ipo-fixed-price-page.component';\nimport { IpoGameComponent } from './ipo-virtual-event-page/ipo-game/ipo-game.component';\nimport { IpoLandingPageComponent } from './ipo-virtual-event-page/ipo-landing-page/ipo-landing-page.component';\nimport { IpoLiveAppealPageComponent } from './ipo-virtual-event-page/ipo-live-appeal-page/ipo-live-appeal-page.component';\nimport { IpoLiveAuctionPageComponent } from './ipo-virtual-event-page/ipo-live-auction-page/ipo-live-auction-page.component';\nimport {\n IpoLiveAuctionPreviewPageComponent,\n} from './ipo-virtual-event-page/ipo-live-auction-preview-page/ipo-live-auction-preview-page.component';\nimport { IpoRafflePageComponent } from './ipo-virtual-event-page/ipo-raffle-page/ipo-raffle-page.component';\nimport { IpoRootPageComponent } from './ipo-virtual-event-page/ipo-root-page/ipo-root-page.component';\nimport {\n IpoSilentAuctionPageComponent,\n} from './ipo-virtual-event-page/ipo-silent-auction-page/ipo-silent-auction-page.component';\nimport { IpoStoryComponent } from './ipo-virtual-event-page/ipo-story/ipo-story.component';\nimport {\n IpoSupportOurCausePageComponent,\n} from './ipo-virtual-event-page/ipo-support-our-cause-page/ipo-support-our-cause-page.component';\nimport { IpoVirtualEventPageComponent } from './ipo-virtual-event-page/ipo-virtual-event-page.component';\nimport { NormalVecComponent } from './normal-vec/normal-vec.component';\nimport { PaymentPageComponent } from './payment-page/payment-page.component';\nimport { PickupPageComponent } from './pickup-page/pickup-page.component';\nimport { ThankYouPageComponent } from './thank-you-page/thank-you-page.component';\nimport { ticketManagerRoutes } from './ticket-manager/ticket-manager.routes';\nimport { VirtualEventPageComponent } from './virtual-event-page/virtual-event-page.component';\nimport { VirtualEventComponent } from './virtual-event.component';\n\nconst routes: Routes = [\n {\n path: ':eventID',\n component: VirtualEventComponent,\n children: [\n {\n path: '',\n component: NormalVecComponent,\n children: [\n { path: '', component: VirtualEventPageComponent },\n { path: 'home', redirectTo: '' },\n { path: 'chat', redirectTo: '' },\n { path: 'story', redirectTo: '' },\n { path: 'pay', component: PaymentPageComponent },\n { path: 'thank-you', component: ThankYouPageComponent },\n {\n path: 'checkout',\n canActivate: [CommonRoleGuard],\n component: CheckoutPageComponent,\n data: { inWidget: false }\n },\n {\n path: 'pickup',\n component: PickupPageComponent,\n data: { inWidget: false }\n },\n { path: 'purchase-tickets', component: VirtualEventPageComponent },\n ...ticketManagerRoutes,\n ],\n },\n {\n path: 'in-person',\n component: IpoVirtualEventPageComponent,\n children: [\n { path: '', component: IpoRootPageComponent },\n { path: 'home', component: IpoLandingPageComponent },\n { path: 'donate', component: IpoDonationPageComponent },\n { path: 'pay', component: PaymentPageComponent },\n { path: 'thank-you', component: ThankYouPageComponent },\n { path: 'silent-auction', component: IpoSilentAuctionPageComponent },\n { path: 'raffle', component: IpoRafflePageComponent },\n { path: 'support-our-cause', component: IpoSupportOurCausePageComponent },\n { path: 'fixed-price', component: IpoFixedPricePageComponent },\n { path: 'live-auction-preview', component: IpoLiveAuctionPreviewPageComponent },\n { path: 'chat', component: IpoChatComponent },\n { path: 'story', component: IpoStoryComponent },\n {\n path: 'checkout',\n canActivate: [CommonRoleGuard],\n component: CheckoutPageComponent\n },\n { path: 'profile', component: IpoUserProfileComponent, data: { inWidget: false } },\n { path: 'live-auction', component: IpoLiveAuctionPageComponent },\n { path: 'live-appeal', component: IpoLiveAppealPageComponent },\n { path: 'game', component: IpoGameComponent },\n { path: 'log-in', component: IpoLogInComponent },\n { path: 'sign-up', component: IpoSignUpComponent },\n { path: 'register', component: IpoRegisterComponent },\n { path: 'pickup', component: PickupPageComponent },\n { path: 'purchase-tickets', component: IpoLandingPageComponent },\n ...ticketManagerRoutes,\n ],\n },\n { path: 'guest-payment', component: RegistrationFreeCartPageComponent },\n ...embedRoutes,\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class VirtualEventRoutingModule { }\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CurrentUserService, GainsightService, LoggerService, PagingInputV3, SortDirection, SortParameter } from '@onecause/core';\nimport { PrimaryColorService } from 'lib';\nimport { combineLatest } from 'rxjs';\nimport { filter, take, tap } from 'rxjs/operators';\nimport { RightDrawerContentComponent } from 'src/app/lazy-modules/virtual-event/components/right-drawer-content/right-drawer-content.component';\nimport { FeatureFlagService } from 'src/app/services/feature-flag.service';\nimport { ListTicketTypesInput, TicketClientService } from 'src/app/services/ticket-client.service';\nimport { GivingmanagementClientService } from '../../services/givingmanagement-client.service';\nimport { SecondaryColorService } from '../../services/secondary-color.service';\nimport {\n EventSessionSummary,\n GetMyGuestSessionSummaryOutput,\n ListEventSessionsOutput,\n ListMyTicketsInput,\n ReadEventInput,\n ReadEventOutput,\n ReadMyRegistrationOutput,\n VirtualEventClientService,\n} from '../../services/virtual-event-client.service';\nimport { UserProfileService } from './components/user-profile/user-profile.service';\nimport { EventsService } from './services/events.service';\nimport { StateService } from './services/state.service';\nimport { VECRoutingService } from './services/vec-routing.service';\nimport { WebSocketService } from './services/websocket.service';\n\n// We need to know the difference between \"registration not read\" and \"not found\"\nconst NO_REGISTRATION_FOUND = { found: false } as ReadMyRegistrationOutput;\n\n@Component({\n selector: 'app-virtual-event',\n templateUrl: './virtual-event.component.html',\n styleUrls: ['./virtual-event.component.scss']\n})\nexport class VirtualEventComponent implements OnInit {\n\n private orgID: string;\n private eventID: string;\n private eventSession: EventSessionSummary;\n\n @ViewChild(RightDrawerContentComponent) private rightDrawerContentComponent: RightDrawerContentComponent;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private virtualEventClient: VirtualEventClientService,\n private givingManagementClient: GivingmanagementClientService,\n private ticketClient: TicketClientService,\n private state: StateService,\n private events: EventsService,\n private currentUser: CurrentUserService,\n private featureFlagService: FeatureFlagService,\n private primaryColorService: PrimaryColorService,\n private secondaryColorService: SecondaryColorService,\n private gainsightService: GainsightService,\n private websocketService: WebSocketService,\n // TODO: keep this for now -- see note in service\n private vecRoutingService: VECRoutingService,\n private userProfileService: UserProfileService,\n private loggerService: LoggerService,\n ) { }\n\n ngOnInit(): void {\n this.orgID = this.activatedRoute.snapshot.paramMap.get('organizationID');\n this.eventID = this.activatedRoute.snapshot.paramMap.get('eventID');\n\n this.loggerService.error('Access to flow-ui from URL', window.location.href);\n\n this.loadRegistration();\n this.loadTickets();\n this.loadEvent();\n this.loadEventSession();\n this.loadUserCard();\n this.loadWebsocket();\n\n this.events.userLoggedOut.subscribe(_ => {\n this.state.setRegistration(NO_REGISTRATION_FOUND);\n this.state.setTickets([]);\n this.state.setUserCard(null);\n this.state.setShoppingCart([]);\n });\n }\n\n onBackdropClick() {\n if (this.rightDrawerContentComponent) {\n this.rightDrawerContentComponent.close();\n }\n }\n\n onSidebarOpenChange(opened: boolean) {\n // when closing ticket manager, remove /ticket-manager from route with replaceState strategy\n if (!opened && this.vecRoutingService.isRouteActive('ticket-manager')) {\n this.vecRoutingService.goToHome(true);\n }\n }\n\n private loadWebsocket() {\n this.state.registration.pipe(\n filter((reg) => reg && reg.found),\n take(1),\n ).subscribe(() => {\n this.websocketService.openEventNotificationWebsocket(this.orgID, this.eventID);\n });\n }\n\n private loadRegistration() {\n this.currentUser.isLoggedIn().subscribe(isLoggedIn => {\n if (!isLoggedIn) {\n this.state.setRegistration(NO_REGISTRATION_FOUND);\n return;\n }\n this.currentUser.getProfile('flow/ve/userProfile::loadRegistration').subscribe(() => {\n this.gainsightService.bootPublic();\n this.virtualEventClient.readMyRegistration({\n organizationID: this.orgID,\n eventID: this.eventID,\n }).subscribe((registration) => {\n this.state.setRegistration(registration);\n this.state.eventSession.pipe(take(1)).subscribe((eventSession) => {\n this.eventSession = eventSession;\n this.loadGuestInfo();\n });\n }, (e) => {\n console.warn('error reading registration:', e);\n this.state.setRegistration(NO_REGISTRATION_FOUND);\n });\n }, (e) => {\n console.warn('error reading profile:', e);\n this.state.setRegistration(NO_REGISTRATION_FOUND);\n });\n });\n }\n\n private loadGuestInfo(): void {\n this.virtualEventClient.getMyGuestSessionSummary({\n organizationID: this.orgID,\n eventID: this.eventID,\n eventSessionID: this.eventSession.id,\n }).subscribe((guestSession: GetMyGuestSessionSummaryOutput) => {\n this.userProfileService.setMyGuestSessionSummary(guestSession);\n });\n }\n\n private loadTickets() {\n this.currentUser.isLoggedIn().subscribe((isLoggedIn) => {\n if (!isLoggedIn) {\n this.state.setTickets([]);\n this.state.setTicketTypes([]);\n return;\n }\n this.ticketClient.listTicketTypes({\n organizationID: this.orgID,\n source: this.eventID,\n } as ListTicketTypesInput).subscribe({\n next: (types) => {\n this.state.setTicketTypes(types.items || []);\n },\n });\n this.virtualEventClient.listMyTickets({\n organizationID: this.orgID,\n eventID: this.eventID,\n } as ListMyTicketsInput).subscribe({\n next: (tickets) => {\n this.state.setTickets(tickets.items);\n }, error: () => {\n this.state.setTickets([]);\n }\n });\n });\n }\n\n private loadEvent() {\n this.virtualEventClient.readEvent({\n organizationID: this.orgID,\n eventID: this.eventID,\n } as ReadEventInput).subscribe((event: ReadEventOutput) => {\n this.state.setEvent(event);\n\n this.setShowPurchaseTickets(event);\n\n this.primaryColorService.loadPrimaryColorStylesheet(event.themePrimaryColor);\n this.secondaryColorService.loadSecondaryColorStylesheet(event.themeSecondaryColor);\n });\n }\n\n private setShowPurchaseTickets(event: ReadEventOutput) {\n this.featureFlagService.featureFlags.subscribe(ff => {\n if (ff.some(flag => flag.featureName === 'new-create-event-experience')) {\n if (new Date().setHours(0, 0, 0, 0) >= new Date(event.primaryEndDate).setHours(0, 0, 0, 0)) {\n this.state.setShowPurchaseTickets(false);\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n } else {\n this.state.setShowPurchaseTickets(true);\n }\n });\n }\n\n private loadEventSession() {\n this.virtualEventClient.listEventSessions({\n organizationID: this.orgID,\n eventID: this.eventID,\n paging: new PagingInputV3().Sort(new SortParameter('created', SortDirection.Ascending)).Take(1),\n }).subscribe((sessions: ListEventSessionsOutput) => {\n if (sessions && sessions.items && sessions.items[0]) {\n this.state.setEventSession(sessions.items[0]);\n }\n });\n }\n\n private loadUserCard() {\n let event: ReadEventOutput;\n let registration: ReadMyRegistrationOutput;\n combineLatest([\n this.state.event.pipe(take(1), tap((evt) => event = evt)),\n this.state.registration.pipe(filter((reg) => reg && reg.found), tap((reg) => registration = reg)),\n ]).subscribe(() => {\n this.givingManagementClient.getUserCardForSourceByUserID({ organizationID: this.orgID, sourceID: this.eventID })\n .subscribe((card) => {\n this.state.setUserCard(card.userCard);\n });\n });\n }\n}\n","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport {\n BannerModule,\n ButtonModule,\n CardModule,\n CoreCurrencyPipe,\n CountrySelectModule,\n CreditCardDisplayModule,\n FacebookButtonModule,\n GoogleButtonModule,\n KeyValueModule,\n ObjectListModule,\n PaginatorV3Module,\n PillModule,\n PipesModule,\n SanitizeModule,\n SnackBarModule,\n StateSelectModule,\n} from '@onecause/core';\nimport { RegisteredGuestCartModule } from '@onecause/ngcart';\nimport { PagesModule } from '@onecause/ngflow';\nimport { CreditCardFormModule, ModulesModule } from 'lib';\nimport { GeneratedVirtualEventRestService } from 'src/app/services/zz-generatedvirtualevent-rest.service';\nimport { GreatfeatsRestService } from 'src/app/services/zz-greatfeats-rest.service';\nimport { CheckoutPageComponent } from './checkout-page/checkout-page.component';\nimport { AgendaComponent } from './components/agenda/agenda.component';\nimport { AmbassadorSearchComponent } from './components/ambassador-search/ambassador-search.component';\nimport {\n AuctionLotBidLimitManagerComponent,\n} from './components/auction-lot/auction-lot-bid-limit-manager/auction-lot-bid-limit-manager.component';\nimport {\n AuctionLotImageSliderComponent,\n} from './components/auction-lot/auction-lot-image-slider/auction-lot-image-slider.component';\nimport { AuctionLotOverlayComponent } from './components/auction-lot/auction-lot-overlay/auction-lot-overlay.component';\nimport { AuctionLotComponent } from './components/auction-lot/auction-lot.component';\nimport { AuthDialogComponent } from './components/auth/auth-dialog/auth-dialog.component';\nimport { AuthComponent } from './components/auth/auth.component';\nimport { DonateAndRegisterComponent } from './components/auth/donate-and-register/donate-and-register.component';\nimport { LogInComponent } from './components/auth/log-in/log-in.component';\nimport { RedeemTicketOptionsComponent } from './components/auth/redeem-ticket-options/redeem-ticket-options.component';\nimport { RegisterComponent } from './components/auth/register/register.component';\nimport { SignUpComponent } from './components/auth/sign-up/sign-up.component';\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\nimport { CoverCostComponent } from './components/cover-cost/cover-cost.component';\nimport { CreditCardDialogComponent } from './components/credit-card-dialog/credit-card-dialog.component';\nimport { EditProfileDialogComponent } from './components/edit-profile-dialog/edit-profile-dialog.component';\nimport { EventBrandingComponent } from './components/event-branding/event-branding.component';\nimport { FixedPriceDialogComponent } from './components/fixed-price/fixed-price-dialog/fixed-price-dialog.component';\nimport { FixedPriceItemComponent } from './components/fixed-price/fixed-price-item/fixed-price-item.component';\nimport { FixedPriceComponent } from './components/fixed-price/fixed-price.component';\nimport { GameComponent } from './components/game/game.component';\nimport { ImpactItemComponent } from './components/impact/impact-item/impact-item.component';\nimport { ImpactComponent } from './components/impact/impact.component';\nimport { IpoHeaderComponent } from './components/ipo-header/ipo-header.component';\nimport { IpoLiveAppealComponent } from './components/ipo-live-appeal/ipo-live-appeal.component';\nimport { IpoLiveAuctionComponent } from './components/ipo-live-auction/ipo-live-auction.component';\nimport { IpoLiveBannerComponent } from './components/ipo-live-banner/ipo-live-banner.component';\nimport { IpoMenuComponent } from './components/ipo-menu/ipo-menu.component';\nimport { IpoUserProfileComponent } from './components/ipo-user-profile/ipo-user-profile.component';\nimport { AccountDialogComponent } from './components/join-event/account-dialog/account-dialog.component';\nimport { JoinEventComponent } from './components/join-event/join-event.component';\nimport { LeaderboardComponent } from './components/leaderboard/leaderboard.component';\nimport { LiveAppealEmojisComponent } from './components/live-appeal-emojis/live-appeal-emojis.component';\nimport { LivestreamChatModule } from './components/livestream-chat/livestream-chat.module';\nimport { LogInDialogComponent } from './components/log-in-dialog/log-in-dialog.component';\nimport { LogInFormComponent } from './components/log-in-form/log-in-form.component';\nimport {\n OrderSummaryBottomSheetContentComponent,\n} from './components/order-summary-bottom-sheet-content/order-summary-bottom-sheet-content.component';\nimport { OrderSummaryCheckoutComponent } from './components/order-summary-checkout/order-summary-checkout.component';\nimport { OrderSummaryFooterComponent } from './components/order-summary-footer/order-summary-footer.component';\nimport { PageHeaderComponent } from './components/page-header/page-header.component';\nimport { AuctionComponent } from './components/panel/auction/auction.component';\nimport { PanelComponent } from './components/panel/panel.component';\nimport { PickupItemComponent } from './components/pickup-item/pickup-item.component';\nimport { PickupWindowSelectorComponent } from './components/pickup-window-selector/pickup-window-selector.component';\nimport { ProgressBarComponent } from './components/progress-bar/progress-bar.component';\nimport { PurchaseNotificationComponent } from './components/purchase-notification/purchase-notification.component';\nimport { RaffleComponent } from './components/raffle/raffle.component';\nimport { RecentDonorsComponent } from './components/recent-donors/recent-donors.component';\nimport {\n RecurringDonationDialogComponent,\n} from './components/recurring-donation-dialog/recurring-donation-dialog.component';\nimport { RightDrawerContentComponent } from './components/right-drawer-content/right-drawer-content.component';\nimport { ShoppingCartComponent } from './components/shopping-cart/shopping-cart.component';\nimport { AppealButtonComponent } from './components/show/overlay/appeal-overlay/appeal-button/appeal-button.component';\nimport {\n AppealConfirmationComponent,\n} from './components/show/overlay/appeal-overlay/appeal-confirmation/appeal-confirmation.component';\nimport {\n AppealFloatingNamesComponent,\n} from './components/show/overlay/appeal-overlay/appeal-floating-names/appeal-floating-names.component';\nimport { AppealOverlayComponent } from './components/show/overlay/appeal-overlay/appeal-overlay.component';\nimport {\n AuctionCollapsedComponent,\n} from './components/show/overlay/auction-overlay/auction-collapsed/auction-collapsed.component';\nimport {\n AuctionExpandedComponent,\n} from './components/show/overlay/auction-overlay/auction-expanded/auction-expanded.component';\nimport { AuctionOverlayComponent } from './components/show/overlay/auction-overlay/auction-overlay.component';\nimport { DonateButtonComponent } from './components/show/overlay/donate-overlay/donate-button/donate-button.component';\nimport { DonateOverlayComponent } from './components/show/overlay/donate-overlay/donate-overlay.component';\nimport { DonationPanelComponent } from './components/show/overlay/donate-overlay/donation-panel/donation-panel.component';\nimport { OverlayComponent } from './components/show/overlay/overlay.component';\nimport { RotateOverlayComponent } from './components/show/overlay/rotate-overlay/rotate-overlay.component';\nimport { ShowComponent } from './components/show/show.component';\nimport { SignUpFormComponent } from './components/sign-up-form/sign-up-form.component';\nimport { TabbedEventContextComponent } from './components/tabbed-event-context/tabbed-event-context.component';\nimport { TicketOptionsComponent } from './components/ticket-options/ticket-options.component';\nimport {\n AttendeeFormComponent,\n} from './components/ticket-purchase-dialog/attendee-info/attendee-form/attendee-form.component';\nimport { AttendeeInfoComponent } from './components/ticket-purchase-dialog/attendee-info/attendee-info.component';\nimport { ClaimTicketComponent } from './components/ticket-purchase-dialog/claim-ticket/claim-ticket.component';\nimport { CreateAccountComponent } from './components/ticket-purchase-dialog/create-account/create-account.component';\nimport { OrderSummaryComponent } from './components/ticket-purchase-dialog/order-summary/order-summary.component';\nimport { PurchaseInfoComponent } from './components/ticket-purchase-dialog/purchase-info/purchase-info.component';\nimport { SelectTicketsComponent } from './components/ticket-purchase-dialog/select-tickets/select-tickets.component';\nimport { TicketPurchaseDialogComponent } from './components/ticket-purchase-dialog/ticket-purchase-dialog.component';\nimport { TicketPurchaseHeaderComponent } from './components/ticket-purchase-header/ticket-purchase-header.component';\nimport { TicketPurchaseV2Component } from './components/ticket-purchase-v2/ticket-purchase-v2.component';\nimport { UserProfileModule } from './components/user-profile/user-profile.module';\nimport { USER_PROFILE_DEFAULT_OPTIONS } from './components/user-profile/user-profile.service';\nimport { VirtualTableComponent } from './components/virtual-table/virtual-table.component';\nimport { EmbedAuthComponent } from './embed/embed-auth/embed-auth.component';\nimport { EmbedCreditCardComponent } from './embed/embed-auth/embed-credit-card/embed-credit-card.component';\nimport { EmbedLoginComponent } from './embed/embed-auth/embed-login/embed-login.component';\nimport { EmbedRegisterComponent } from './embed/embed-auth/embed-register/embed-register.component';\nimport { EmbedSignUpComponent } from './embed/embed-auth/embed-signup/embed-signup.component';\nimport { EmbedHeaderComponent } from './embed/embed-header/embed-header.component';\nimport { EmbedShowComponent } from './embed/show/embed-show.component';\nimport { WidgetComponent } from './embed/widget/widget.component';\nimport { IpoLogInComponent } from './ipo-virtual-event-page/ipo-auth/ipo-log-in/ipo-log-in.component';\nimport { IpoRegisterComponent } from './ipo-virtual-event-page/ipo-auth/ipo-register/ipo-register.component';\nimport { IpoSignUpComponent } from './ipo-virtual-event-page/ipo-auth/ipo-sign-up/ipo-sign-up.component';\nimport { IpoChatComponent } from './ipo-virtual-event-page/ipo-chat/ipo-chat.component';\nimport { IpoDonationPageComponent } from './ipo-virtual-event-page/ipo-donation-page/ipo-donation-page.component';\nimport { IpoFixedPricePageComponent } from './ipo-virtual-event-page/ipo-fixed-price-page/ipo-fixed-price-page.component';\nimport { IpoGameComponent } from './ipo-virtual-event-page/ipo-game/ipo-game.component';\nimport { IpoLandingPageComponent } from './ipo-virtual-event-page/ipo-landing-page/ipo-landing-page.component';\nimport { IpoLiveAppealPageComponent } from './ipo-virtual-event-page/ipo-live-appeal-page/ipo-live-appeal-page.component';\nimport { IpoLiveAuctionPageComponent } from './ipo-virtual-event-page/ipo-live-auction-page/ipo-live-auction-page.component';\nimport {\n IpoLiveAuctionPreviewPageComponent,\n} from './ipo-virtual-event-page/ipo-live-auction-preview-page/ipo-live-auction-preview-page.component';\nimport { IpoRafflePageComponent } from './ipo-virtual-event-page/ipo-raffle-page/ipo-raffle-page.component';\nimport { IpoRootPageComponent } from './ipo-virtual-event-page/ipo-root-page/ipo-root-page.component';\nimport {\n IpoSilentAuctionPageComponent,\n} from './ipo-virtual-event-page/ipo-silent-auction-page/ipo-silent-auction-page.component';\nimport { IpoStoryComponent } from './ipo-virtual-event-page/ipo-story/ipo-story.component';\nimport {\n IpoSupportOurCausePageComponent,\n} from './ipo-virtual-event-page/ipo-support-our-cause-page/ipo-support-our-cause-page.component';\nimport { IpoVirtualEventPageComponent } from './ipo-virtual-event-page/ipo-virtual-event-page.component';\nimport { IpoWelcomeCurtainComponent } from './ipo-virtual-event-page/ipo-welcome-curtain/ipo-welcome-curtain.component';\nimport { LoadingModule } from './loading/loading.module';\nimport { NormalVecComponent } from './normal-vec/normal-vec.component';\nimport { PaymentPageComponent } from './payment-page/payment-page.component';\nimport { PickupPageComponent } from './pickup-page/pickup-page.component';\nimport { ThankYouPageComponent } from './thank-you-page/thank-you-page.component';\nimport { TicketDetailsComponent } from './ticket-manager/ticket-details/ticket-details.component';\nimport { TicketListComponent } from './ticket-manager/ticket-list/ticket-list.component';\nimport { TicketManagerComponent } from './ticket-manager/ticket-manager.component';\nimport { VirtualEventPageComponent } from './virtual-event-page/virtual-event-page.component';\nimport { VirtualEventRoutingModule } from './virtual-event-routing.module';\nimport { VirtualEventComponent } from './virtual-event.component';\nimport { NavigationTabComponent } from './components/navigation-tab/navigation-tab.component';\nimport { HowAreYouAttendingComponent } from './components/how-are-you-attending/how-are-you-attending.component';\nimport { RightDrawerHowAttendingComponent } from './components/right-drawer-content/right-drawer-how-attending/right-drawer-how-attending.component';\nimport { RegistrationFreeCartPageComponent } from './registration-free-cart-page/registration-free-cart-page.component';\nimport { BuyTicketsCtaComponent } from './components/buy-tickets-cta/buy-tickets-cta.component';\nimport { RegistrationFreeCartModule } from '@onecause/ngcart';\n\n\n@NgModule({\n declarations: [\n VirtualEventComponent,\n VirtualEventPageComponent,\n PaymentPageComponent,\n ShowComponent,\n AuthComponent,\n AuthDialogComponent,\n SignUpComponent,\n DonateAndRegisterComponent,\n LogInComponent,\n RegisterComponent,\n OverlayComponent,\n DonateOverlayComponent,\n DonateButtonComponent,\n DonationPanelComponent,\n AuctionOverlayComponent,\n AuctionCollapsedComponent,\n AuctionExpandedComponent,\n PageHeaderComponent,\n ProgressBarComponent,\n ThankYouPageComponent,\n PanelComponent,\n AuctionComponent,\n CreditCardDialogComponent,\n ShoppingCartComponent,\n AppealOverlayComponent,\n AppealButtonComponent,\n AppealConfirmationComponent,\n AuctionLotComponent,\n CheckoutPageComponent,\n RaffleComponent,\n GameComponent,\n ImpactComponent,\n RecentDonorsComponent,\n AppealFloatingNamesComponent,\n TabbedEventContextComponent,\n VirtualTableComponent,\n RotateOverlayComponent,\n AuctionLotImageSliderComponent,\n LogInDialogComponent,\n TicketPurchaseDialogComponent,\n SelectTicketsComponent,\n OrderSummaryComponent,\n ClaimTicketComponent,\n SignUpFormComponent,\n CreateAccountComponent,\n AttendeeInfoComponent,\n AttendeeFormComponent,\n PurchaseInfoComponent,\n OrderSummaryFooterComponent,\n TicketPurchaseHeaderComponent,\n OrderSummaryBottomSheetContentComponent,\n IpoVirtualEventPageComponent,\n IpoHeaderComponent,\n IpoDonationPageComponent,\n IpoMenuComponent,\n AgendaComponent,\n AuctionLotBidLimitManagerComponent,\n IpoUserProfileComponent,\n IpoLandingPageComponent,\n ConfirmationDialogComponent,\n NormalVecComponent,\n EventBrandingComponent,\n IpoSilentAuctionPageComponent,\n IpoRafflePageComponent,\n IpoSupportOurCausePageComponent,\n LogInFormComponent,\n IpoLiveAuctionPreviewPageComponent,\n IpoLiveAuctionPageComponent,\n IpoLiveBannerComponent,\n IpoLiveAuctionComponent,\n EmbedShowComponent,\n AuctionLotOverlayComponent,\n AmbassadorSearchComponent,\n CoverCostComponent,\n LeaderboardComponent,\n IpoLiveAppealComponent,\n IpoLiveAppealPageComponent,\n LiveAppealEmojisComponent,\n TicketListComponent,\n TicketDetailsComponent,\n TicketManagerComponent,\n EditProfileDialogComponent,\n RecurringDonationDialogComponent,\n TicketOptionsComponent,\n RedeemTicketOptionsComponent,\n EmbedHeaderComponent,\n WidgetComponent,\n ImpactItemComponent,\n IpoGameComponent,\n EmbedAuthComponent,\n EmbedSignUpComponent,\n EmbedLoginComponent,\n EmbedRegisterComponent,\n EmbedCreditCardComponent,\n IpoSignUpComponent,\n IpoRegisterComponent,\n IpoLogInComponent,\n PickupPageComponent,\n PickupItemComponent,\n PickupWindowSelectorComponent,\n OrderSummaryCheckoutComponent,\n PurchaseNotificationComponent,\n IpoChatComponent,\n IpoStoryComponent,\n TicketPurchaseV2Component,\n IpoRootPageComponent,\n JoinEventComponent,\n IpoWelcomeCurtainComponent,\n RightDrawerContentComponent,\n AccountDialogComponent,\n NavigationTabComponent,\n HowAreYouAttendingComponent,\n RightDrawerHowAttendingComponent,\n RegistrationFreeCartPageComponent,\n FixedPriceComponent,\n FixedPriceItemComponent,\n FixedPriceDialogComponent,\n IpoFixedPricePageComponent,\n BuyTicketsCtaComponent\n ],\n imports: [\n CommonModule,\n VirtualEventRoutingModule,\n ReactiveFormsModule,\n FormsModule,\n FacebookButtonModule,\n GoogleButtonModule,\n ScrollingModule,\n PipesModule,\n CreditCardFormModule,\n CreditCardDisplayModule,\n MatAutocompleteModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatCardModule,\n MatIconModule,\n MatTabsModule,\n MatDialogModule,\n MatMenuModule,\n MatExpansionModule,\n MatProgressBarModule,\n MatCheckboxModule,\n MatSliderModule,\n MatSlideToggleModule,\n KeyValueModule,\n ModulesModule,\n SnackBarModule,\n ButtonModule,\n LivestreamChatModule,\n PaginatorV3Module,\n MatFormFieldModule,\n MatSelectModule,\n MatRadioModule,\n MatBottomSheetModule,\n MatBadgeModule,\n MatSidenavModule,\n MatDividerModule,\n StateSelectModule,\n CountrySelectModule,\n CardModule,\n MatTableModule,\n BannerModule,\n PillModule,\n ObjectListModule,\n UserProfileModule,\n MatButtonToggleModule,\n LoadingModule,\n SanitizeModule,\n FlexLayoutModule,\n RegistrationFreeCartModule,\n RegisteredGuestCartModule,\n PagesModule,\n ],\n providers: [\n CoreCurrencyPipe,\n {\n provide: USER_PROFILE_DEFAULT_OPTIONS,\n useValue: {}\n },\n GeneratedVirtualEventRestService,\n GreatfeatsRestService\n ]\n})\nexport class VirtualEventModule { }\n","\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PhaasResponse } from '@onecause/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthClientService {\n\n private readonly authEnvironment = 'env:phaas-auth-api';\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n registerAndLogin(user: RegisterUserDTO): Observable {\n const url = `${this.authEnvironment}/registerAndLogin`;\n return this.httpClient.post(url, user).pipe(map(res => {\n return res.payload;\n }));\n }\n\n login(input: LoginInput): Observable {\n const url = `${this.authEnvironment}/login`;\n return this.httpClient.post(url, input).pipe(map(res => {\n return res.payload;\n }));\n }\n\n googleLogin(input: GoogleLoginInput): Observable {\n const url = `${this.authEnvironment}/google-login`;\n return this.httpClient.post(url, input).pipe(map(res => {\n return res.payload;\n }));\n }\n\n facebookLogin(input: FacebookLoginInput): Observable {\n const url = `${this.authEnvironment}/facebook-login`;\n return this.httpClient.post(url, input).pipe(map(res => {\n return res.payload;\n }));\n }\n}\n\nexport class RegisterUserDTO {\n email: string;\n password: string;\n firstName: string;\n lastName: string;\n phone: string;\n addressLine1: string;\n addressCity: string;\n addressState: string;\n addressZip: string;\n addressCountry: string;\n greatfeatsParticipantID: string;\n greatfeatsParticipantName: string;\n}\n\nexport class AuthenticationResult {\n accessToken: string;\n refreshToken: string;\n mustChangePassword: boolean;\n profile: any;\n}\n\nexport class LoginInput {\n username: string;\n password: string;\n}\n\nexport class GoogleLoginInput {\n idToken: string;\n}\n\nexport class FacebookLoginInput {\n accessToken: string;\n}\n","import { Injectable } from '@angular/core';\n\nexport class CacheItem {\n timestamp: number;\n ttl: number;\n payload: T;\n\n constructor(payload: T, ttl: number) {\n this.payload = payload;\n this.ttl = ttl;\n this.timestamp = new Date().getTime();\n }\n\n stringify(): string {\n return JSON.stringify(this);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CacheService {\n\n static days(n: number): number {\n return n * 86400000; // 24 * 60 * 60 * 1000\n }\n\n getItem(key: string): T | null {\n const rawItem = window.localStorage.getItem(key);\n if (!rawItem) {\n return null;\n }\n const cacheItem = JSON.parse(rawItem) as CacheItem;\n if (this.isExpired(cacheItem)) {\n window.localStorage.removeItem(key);\n return null;\n }\n return cacheItem.payload;\n }\n\n storeItem(key: string, item: any, ttl: number = 86400000) {\n window.localStorage.setItem(key, new CacheItem(item, ttl).stringify());\n }\n\n private isExpired(item: CacheItem): boolean {\n const now = new Date().getTime();\n return (item.timestamp + item.ttl) < now;\n }\n}\n","import { HttpParams, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { PhaasResponse, PagingInputV3, PagingOutputV3 } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChromeClientService {\n\n private readonly chromeEnvironment = 'env:phaas-chrome-api';\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n getFeatureFlagListForOrganization(organizationID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.chromeEnvironment}/organizations/${organizationID}/feature-flags`;\n return this.httpClient.get(url, { params }).pipe(map(res => {\n return res.payload;\n }));\n }\n}\n\nexport class FeatureFlag {\n featureFlagID: string;\n featureName: string;\n entityID: string;\n flag: string;\n}\n\nexport class GetFeatureFlagListForEntityOutput {\n featureFlags: FeatureFlag[];\n paging: PagingOutputV3;\n}\n","import { Injectable } from '@angular/core';\nimport { PagingInputV3 } from '@onecause/core';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { ChromeClientService, FeatureFlag } from './chrome-client.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureFlagService {\n\n featureFlags: Observable;\n private flagSubject = new ReplaySubject(1);\n\n constructor(\n private chromeClient: ChromeClientService,\n ) {\n this.featureFlags = this.flagSubject.asObservable();\n }\n\n init(orgID: string) {\n this.getFlags(orgID).subscribe((flags) => {\n this.flagSubject.next(flags);\n });\n }\n\n private getFlags(orgID: string, paging?: PagingInputV3, loadedFlags?: FeatureFlag[]): Observable {\n if (!paging) {\n paging = new PagingInputV3().Take(100);\n }\n if (!loadedFlags) {\n loadedFlags = [];\n }\n return this.chromeClient.getFeatureFlagListForOrganization(orgID, paging).pipe(switchMap((flags) => {\n loadedFlags.push(...flags.featureFlags);\n if (flags.paging.nextPage) {\n return this.getFlags(orgID, flags.paging.nextPage, loadedFlags);\n }\n return of(loadedFlags);\n }));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AuthHttpClient, PhaasResponse } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GivingmanagementClientService {\n\n private readonly urlHost = 'env:phaas-givingmanagement-api';\n\n constructor(\n private authHttpClient: AuthHttpClient,\n ) { }\n\n createUserCard(input: CreateUserCardInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/user-cards`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getUserCardForSourceByUserID(input: GetUserCardForSourceByUserIDInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/sources/${input.sourceID}/user-cards/find-by-user-id`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n hasBillingAddress(creditCard: UserCard): boolean {\n return creditCard &&\n creditCard.BillingStreet !== '' &&\n creditCard.BillingCity !== '' &&\n creditCard.BillingState !== '' &&\n creditCard.BillingCountry !== '' &&\n creditCard.BillingZip !== '';\n }\n}\n\nexport class CreateUserCardInput {\n organizationID: string;\n sourceType: string;\n sourceID: string;\n token: string;\n cardType: string;\n cardLastFour: string;\n cardExpiration: string;\n cardName: string;\n billingStreet: string;\n billingCity: string;\n billingState: string;\n billingZip: string;\n billingCountry: string;\n}\n\nexport class CreateUserCardOutput {\n userCardID: string;\n}\n\nexport class UserCard {\n UserCardID: string;\n OrganizationID: string;\n SourceType: string;\n SourceID: string;\n UserID: string;\n Token: string;\n CardType: string;\n CardLastFour: string;\n CardExpiration: string;\n CardName: string;\n BillingStreet: string;\n BillingCity: string;\n BillingState: string;\n BillingZip: string;\n BillingCountry: string;\n Created: Date;\n Updated: Date;\n}\n\nexport class GetUserCardForSourceByUserIDInput {\n organizationID: string;\n sourceID: string;\n}\n\nexport class GetUserCardForSourceByUserIDOutput {\n userCard: UserCard;\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthHttpClient,\n CurrentUserService,\n PagingInputV2,\n PagingInputV3,\n PagingOutput,\n PagingOutputV3,\n PhaasResponse,\n} from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InventoryClientService {\n\n private readonly inventoryEnvironment = 'env:phaas-inventory-api';\n\n constructor(\n private httpClient: HttpClient,\n private authHttpClient: AuthHttpClient,\n private currentUserService: CurrentUserService,\n ) { }\n\n // getLotList - Get List of Lots\n getLotList(organizationID: string, auctionID: string, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions/${auctionID}/lots`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // viewLotPhotos - View Lot Photos\n viewLotPhotos(organizationID: string, auctionID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions/${auctionID}/lots/view/lotphotos`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getAuctionList - Get auction list for org\n getAuctionList(organizationID: string, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readAuction - Get auction information\n readAuction(organizationID: string, auctionID: string): Observable {\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions/${auctionID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getAllocationViewList - Get allocation view list\n getAllocationViewList(organizationID: string, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/allocations/view/allocations`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getItemCategory - Get category for item\n getItemCategory(organizationID: string, categoryID: string): Observable {\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/categories/${categoryID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readItem - Read Item\n getItem(organizationID: string, itemID: string): Observable {\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/items/${itemID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getCategoryList - List categories for org\n getCategoryList(organizationID: string, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/categories`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readBid - Read Bid\n readBid(input: ReadBidInput): Observable {\n const url = `${this.inventoryEnvironment}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bids/${input.bidID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getUserLotsViewList - Get lots user has placed a bid on\n getUserLotsViewList(organizationID: string, auctionID: string, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions/${auctionID}/lots/view/userlots`;\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readLot - Read Lot\n readLot(input: ReadLotInput): Observable {\n const url = `${this.inventoryEnvironment}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // listLotsOverview - List Lots with Lot Details Associated\n listLotsOverview(organizationID: string, onlyPreviewLots: boolean, pagingInput: PagingInputV2): Observable {\n const params = new HttpParams()\n .set('onlyPreviewLots', onlyPreviewLots ? '1' : '0')\n .set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/auctions/ui/lots-overview`;\n return this.currentUserService.getProfile().pipe(switchMap(() => {\n // if they're logged in\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }), catchError(() => {\n // if they're NOT logged in\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }));\n }\n\n // readAllLotViewList\n readAllLotViewList(organizationID: string, sourceID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams()\n .set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/sources/${sourceID}/lots/view/alllot`;\n return this.currentUserService.getProfile().pipe(switchMap(() => {\n // if they're logged in\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }), catchError(() => {\n // if they're NOT logged in\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }));\n }\n\n // readCategoryListByEvent\n readCategoryListByEvent(organizationID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams()\n .set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/items/view/itemcategoriesbyevent`;\n return this.currentUserService.getProfile().pipe(switchMap(() => {\n // if they're logged in\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }), catchError(() => {\n // if they're NOT logged in\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }));\n }\n\n // readCategoryListByAuction\n readCategoryListByAuction(organizationID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams()\n .set('paging', pagingInput.stringify());\n const url = `${this.inventoryEnvironment}/organizations/${organizationID}/items/view/itemcategoriesbyauction`;\n return this.currentUserService.getProfile().pipe(switchMap(() => {\n // if they're logged in\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }), catchError(() => {\n // if they're NOT logged in\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }));\n }\n\n // createBidLimit\n createBidLimit(input: CreateBidLimitInput): Observable {\n // tslint:disable-next-line:max-line-length\n const url = `${this.inventoryEnvironment}/organizations/${input.organizationID}/auctions/${input.auctionID}/lots/${input.lotID}/bid-limits`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n}\n\nexport class CreateBidLimitInput {\n organizationID: string;\n auctionID: string;\n lotID: string;\n amountCents: number;\n}\n\nexport class CreateBidLimitOutput {\n bidLimitID: string;\n}\nexport class LotSummary {\n organizationID: string;\n auctionID: string;\n id: string;\n lotOrder: number;\n bidMinimumCents: number;\n bidIncrementCents: number;\n buyNowPriceCents: number;\n isBuyNowActive: boolean;\n isAssignLater: boolean;\n isBought: boolean;\n openTime: Date;\n closeTime: Date;\n winningBidID: string;\n paidByPurchaseID: string;\n primaryPhotoURL: string;\n name: string;\n description: string;\n showInPreview: boolean;\n topBidID: string;\n topBidAmountCents: number;\n topBidderUserID: string;\n isBiddingPaused: boolean;\n}\n\nexport class Lot extends LotSummary { }\n\nexport class GetLotListOutput {\n items: LotSummary[];\n paging: PagingOutput;\n}\n\nexport class ItemSummary {\n organizationID: string;\n id: string;\n categoryID: string;\n name: string;\n description: string;\n valueCents: number;\n numAvailable: number;\n numAllocated: number;\n}\n\nexport class GetItemOutput extends ItemSummary { }\n\nexport class ViewAllocationsSummary {\n allocationID: string;\n organizationID: string;\n itemID: string;\n itemName: string;\n itemValueCents: number;\n lotID: string;\n lotOrder: number;\n quantity: number;\n auctionID: string;\n auctionName: string;\n isPickUpLater: boolean;\n isPickUpTonight: boolean;\n isPickUpEventLevel: boolean;\n}\n\nexport class ViewAllocationsOutput {\n items: ViewAllocationsSummary[];\n paging: PagingOutput;\n}\n\nexport class AuctionSummary {\n organizationID: string;\n id: string;\n name: string;\n description: string;\n openTime: Date;\n closeTime: Date;\n type: string;\n numLots: number;\n activeLotID: string;\n}\n\nexport class Auction extends AuctionSummary { }\n\nexport class GetAuctionListOutput {\n items: AuctionSummary[];\n paging: PagingOutput;\n}\n\nexport class ReadAuctionOutput extends Auction { }\n\nexport class ViewLotPhotosSummary {\n organizationID: string;\n auctionID: string;\n lotID: string;\n itemID: string;\n itemPhotoID: string;\n url: string;\n created: Date;\n deleted: boolean;\n}\n\nexport class ViewLotPhotos extends ViewLotPhotosSummary { }\n\nexport class ViewLotPhotosOutput {\n items: ViewLotPhotosSummary[];\n paging: PagingOutput;\n}\n\nexport class CategorySummary {\n organizationID: string;\n id: string;\n name: string;\n description: string;\n type: string;\n}\n\nexport class Category extends CategorySummary { }\n\nexport class GetCategoryListOutput {\n items: CategorySummary[];\n paging: PagingOutput;\n}\n\nexport class GetItemCategoryOutput extends CategorySummary { }\n\nexport class Bid {\n organizationID: string;\n auctionID: string;\n lotID: string;\n id: string;\n bidderID: string;\n bidTime: Date;\n bidAmountCents: number;\n guestID: string;\n userID: string;\n}\n\nexport class ReadBidInput {\n bidID: string;\n organizationID: string;\n auctionID: string;\n lotID: string;\n}\n\nexport class ReadBidOutput extends Bid { }\n\nexport class ViewUserLotsOutput {\n items: ViewUserLotsSummary[];\n paging: PagingOutput;\n}\n\nexport class ViewUserLotsSummary {\n organizationID: string;\n auctionID: string;\n id: string;\n userID: string;\n lotOrder: number;\n bidMinimumCents: number;\n bidIncrementCents: number;\n openTime: Date;\n closeTime: Date;\n winningBidID: string;\n paidByPurchaseID: string;\n primaryPhotoURL: string;\n name: string;\n description: string;\n showInPreview: boolean;\n topBidID: string;\n topBidAmountCents: number;\n userLastBidAmountCents: number;\n}\n\nexport class ReadLotInput {\n lotID: string;\n organizationID: string;\n auctionID: string;\n}\n\nexport class ReadLotOutput extends LotSummary { }\n\nexport class ReadAllLotViewListOutput {\n items: AllLotView[];\n paging: PagingOutputV3;\n}\n\nexport class AllLotView {\n id: string;\n organizationID: string;\n auctionID: string;\n auctionType: string;\n created: number;\n updated: number;\n lotOrder: number;\n name: string;\n description: string;\n showInPreview: boolean;\n primaryPhotoURL: string;\n bidMinimumCents: number;\n bidIncrementCents: number;\n bidCount: number;\n topBidAmountCents: number;\n topBidderUserID: string;\n estimatedValueCents: number;\n bidValuePercentage: number;\n itemCategories: string;\n itemDonors: string;\n itemPhotoCount: number;\n myLastBidAmountCents: number;\n myActiveBidLimitAmountCents: number;\n isBuyNowActive: boolean;\n buyNowPriceCents: number;\n isBought: boolean;\n}\n\nexport class ReadItemCategoryListByEventOutput {\n items: ItemCategory[];\n paging: PagingOutputV3;\n}\n\nexport class ReadItemCategoryListByAuctionOutput {\n items: ItemCategory[];\n paging: PagingOutputV3;\n}\n\nexport class ItemCategory {\n organizationID: string;\n sourceID: string;\n auctionID: string;\n auctionType: string;\n created: number;\n categoryName: string;\n}\n\nexport class ListLotsOverviewOutput {\n lots: LotOverview[];\n paging: PagingOutput;\n}\n\nexport class LotOverview {\n id: string;\n auctionID: string;\n name: string;\n lotOrder: number;\n lotDescription: string;\n bidMinimumCents: number;\n bidIncrementCents: number;\n topBidAmountCents: number;\n myLastBidAmountCents: number;\n primaryPhotoURL: string;\n items: LotOverviewItem[];\n}\n\nexport class LotOverviewItem {\n id: string;\n valueCents: number;\n categoryName: string;\n photos: LotOverviewItemPhoto[];\n}\n\nexport class LotOverviewItemPhoto {\n url: string;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { PhaasResponse } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrganizationRestService {\n\n private readonly orgApiBase = 'env:phaas-org-api';\n\n constructor(\n private httpClient: HttpClient,\n ) { }\n\n getOrganizationSummaryById(organizationId: string): Observable {\n const url = `${this.orgApiBase}/organizations/${organizationId}/summary`;\n return this.httpClient.get(url).pipe(map((response) => {\n return response.payload;\n }));\n }\n}\n\nexport class OrganizationSummary {\n organizationId: string;\n name: string;\n}\n","import { Injectable } from '@angular/core';\nimport { PhaasResponse, PagingOutput } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RaffleClientService {\n\n private urlHost = 'env:phaas-raffle-api';\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n // readRaffle - Read an raffle\n readRaffle(input: ReadRaffleInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // listPurchaseLevels - List purchase levels\n listPurchaseLevels(input: ListPurchaseLevelsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/raffles/${input.raffleID}/purchase-levels`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n}\n\nexport class ReadRaffleInput {\n organizationID: string;\n raffleID: string;\n}\n\nexport class ReadRaffleOutput {\n organizationID: string;\n id: string;\n name: string;\n description: string;\n startDate: Date;\n endDate: Date;\n hasSoldOut: boolean;\n descriptionMarkdown: string;\n rulesMarkdown: string;\n bannerImageURL: string;\n bannerImageUploadToken: string;\n currencyCode: string;\n tags: string[];\n thankYouMessageMarkdown: string;\n shortURL: string;\n maxTicketsCount: number;\n totalTicketsCount: number;\n totalTicketsAmountCents: number;\n displayProgressInFlow: boolean;\n purchaseLevelOrder: string[];\n merchantAccountID: string;\n}\n\nexport class Raffle extends ReadRaffleOutput { }\n\nexport class ReadPurchaseLevelOutput {\n organizationID: string;\n raffleID: string;\n id: string;\n name: string;\n description: string;\n descriptionMarkdown: string;\n quantityTickets: number;\n priceCents: number;\n totalPurchasesCount: number;\n totalPurchasesAmountCents: number;\n}\n\nexport class ListPurchaseLevelsInput {\n organizationID: string;\n raffleID: string;\n}\n\nexport class ListPurchaseLevelsOutput {\n items: PurchaseLevelSummary[];\n paging: PagingOutput;\n}\n\nexport class PurchaseLevelSummary {\n organizationID: string;\n raffleID: string;\n id: string;\n name: string;\n description: string;\n descriptionMarkdown: string;\n quantityTickets: number;\n priceCents: number;\n totalPurchasesCount: number;\n totalPurchasesAmountCents: number;\n}\n","import { Injectable } from '@angular/core';\nimport { PhaasStyling } from '@onecause/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecondaryColorService {\n\n constructor() { }\n\n loadSecondaryColorStylesheet(secondaryColor: string): void {\n const style = document.createElement('style');\n // tslint:disable-next-line: deprecation\n style.type = 'text/css';\n\n const setSecondaryColor = `.secondary-color {color: ${secondaryColor};}`;\n style.appendChild(document.createTextNode(setSecondaryColor));\n\n const setSecondaryColorBackground = `.secondary-color-background {background: ${secondaryColor};}`;\n style.appendChild(document.createTextNode(setSecondaryColorBackground));\n\n const setSecondaryColorBorder = `.secondary-color-border {border-color: ${secondaryColor};}`;\n style.appendChild(document.createTextNode(setSecondaryColorBorder));\n\n const setSecondaryColorSlider = `\n .mat-accent .mat-slider-track-fill { background-color: ${secondaryColor}; }\n .mat-accent .mat-slider-thumb { background-color: ${secondaryColor}; }\n .mat-accent .mat-slider-thumb-label { background-color: ${secondaryColor}; }\n `;\n style.appendChild(document.createTextNode(setSecondaryColorSlider));\n\n const contrastColor = PhaasStyling.getContrastingTextColor(secondaryColor);\n const setContrastingTextColor = `.contrasting-secondary-text-color {color: ${contrastColor};}`;\n style.appendChild(document.createTextNode(setContrastingTextColor));\n\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(style);\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { PagingInputV3, PagingOutputV3, PhaasResponse } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SponsorClientService {\n\n private readonly sponsorEnvironment = 'env:phaas-sponsor-api';\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n // getSponsorAttachmentList - List Sponsor Attachments\n getSponsorAttachmentList(organizationID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.sponsorEnvironment}/organizations/${organizationID}/sponsor-attachments`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n}\n\nexport class SponsorAttachmentSummary {\n organizationID: string;\n id: string;\n sponsorID: string;\n externalID: string;\n externalName: string;\n externalType: string;\n externalConfigUrl: string;\n workingNotesMarkdown: string;\n sponsorName: string;\n contactName: string;\n contactEmail: string;\n logoURL: string;\n}\n\nexport class GetSponsorAttachmentListOutput {\n items: SponsorAttachmentSummary[];\n paging: PagingOutputV3;\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthHttpClient, PagingInputV3, PagingOutputV3, PhaasResponse } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TicketClientService {\n\n private baseURL = 'env:phaas-ticket-api';\n\n constructor(\n private httpClient: HttpClient,\n private authHttpClient: AuthHttpClient,\n ) { }\n\n listTicketTypes(input: ListTicketTypesInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/source/${input.source}/ticket-types`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n viewTicketTypePurchasedQuantity(input: ViewTicketTypePurchasedQuantityInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/source/${input.source}/`\n + `ticket-types/view/tickettypepurchasedquantity`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listTickets(input: ListTicketsInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n countTickets(input: CountTicketsInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/count`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readAssignedTicket(input: ReadAssignedTicketInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/${input.ticketID}/assignment`;\n const params = new HttpParams().set('assignmentToken', input.assignmentToken);\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readTicket(input: ReadTicketInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/${input.ticketID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n updateTicket(input: UpdateTicketInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/${input.ticketID}`;\n return this.authHttpClient.put(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n claimTicket(input: ClaimTicketInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/${input.ticketID}/claim-ticket`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readTicketType(input: ReadTicketTypeInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/source/${input.source}/ticket-types/${input.ticketTypeID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listTicketOptions(input: ListTicketOptionsInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/source/${input.source}/ticket-options`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n viewTicketOptionAnswersForTicket(input: ViewTicketOptionAnswersForTicketInput): Observable {\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/view/ticketoptionanswersforticket`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n viewUserInPerson(input: ViewUserInPersonInput): Observable{\n const url = `${this.baseURL}/organizations/${input.organizationID}/tickets/view/userinperson`;\n let params = new HttpParams();\n if (input.paging) {\n params = params.set('paging', input.paging.stringify());\n }\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n}\n\nexport class ListTicketTypesInput {\n organizationID: string;\n source: string;\n paging: PagingInputV3;\n}\n\nexport enum AttendanceType {\n InPerson = 'in-person',\n Virtual = 'virtual',\n}\n\nexport class TicketType {\n id: string;\n organizationID: string;\n source: string;\n name: string;\n description: string;\n maxTickets: number;\n quantityPerGroup: number;\n priceCents: number;\n valueCents: number;\n active: boolean;\n attendanceType: AttendanceType;\n ticketOptions: string[];\n}\n\nexport class TicketTypeSummary extends TicketType { }\n\nexport class ListTicketTypesOutput {\n items: TicketTypeSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewTicketTypePurchasedQuantityInput {\n organizationID: string;\n source: string;\n paging: PagingInputV3;\n}\n\nexport class TicketTypePurchasedQuantity {\n organizationID: string;\n source: string;\n ticketTypeID: string;\n quantityPurchased: number;\n}\n\nexport class ViewTicketTypePurchasedQuantityOutput {\n items: TicketTypePurchasedQuantity[];\n paging: PagingOutputV3;\n}\n\nexport class Ticket {\n organizationID: string;\n id: string;\n source: string;\n ticketTypeID: string;\n groupID: string;\n status: string;\n purchaserUserID: string;\n purchaserFirstName: string;\n purchaserLastName: string;\n purchaserEmail: string;\n attendeeUserID: string;\n attendeeFirstName: string;\n attendeeLastName: string;\n attendeeEmail: string;\n attendeeMobilePhone: string;\n priceCents: number;\n valueCents: number;\n comped: boolean;\n checkInStatus: boolean;\n checkInTime: Date;\n claimedTime: Date;\n}\n\nexport class ListTicketsInput {\n organizationID: string;\n paging: PagingInputV3;\n}\n\nexport class ListTicketsOutput {\n items: Ticket[];\n paging: PagingOutputV3;\n}\n\nexport class CountTicketsInput extends ListTicketsInput { }\n\nexport class CountTicketsOutput {\n count: number;\n}\n\nexport class ReadAssignedTicketInput {\n organizationID: string;\n ticketID: string;\n assignmentToken: string;\n}\n\nexport class ReadAssignedTicketOutput extends Ticket { }\n\nexport class ReadTicketInput {\n organizationID: string;\n ticketID: string;\n}\n\nexport class ReadTicketOutput extends Ticket { }\n\nexport class UpdateTicketInput {\n organizationID: string;\n ticketID: string;\n source: string;\n attendeeFirstName: string;\n attendeeLastName: string;\n attendeeEmail: string;\n attendeeMobilePhone: string;\n}\n\nexport class UpdateTicketOutput { }\n\nexport class ClaimTicketInput {\n organizationID: string;\n ticketID: string;\n ticketAssignmentToken: string;\n userID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n ticketOptions?: TicketOptionAnswer[];\n source?: string;\n}\n\nexport class ClaimTicketOutput { }\n\nexport class ReadTicketTypeInput {\n organizationID: string;\n source: string;\n ticketTypeID: string;\n}\n\nexport class ReadTicketTypeOutput extends TicketType { }\n\nexport class TicketOptionAnswer {\n ticketOptionID: string;\n ticketOptionAnswerID: string;\n ticketOptionPromptChoiceID: string;\n ticketOptionAnswer: string;\n}\n\nexport class TicketOptionPromptChoice {\n organizationID: string;\n ticketOptionID: string;\n id: string;\n promptChoice: string;\n}\n\nexport class TicketOptionSummary {\n organizationID: string;\n source: string;\n id: string;\n type: string;\n prompt: string;\n promptAnswers: string[];\n promptChoices: TicketOptionPromptChoice[];\n required: boolean;\n}\n\nexport class ListTicketOptionsInput {\n organizationID: string;\n source: string;\n paging: PagingInputV3;\n}\n\nexport class ListTicketOptionsOutput {\n items: TicketOptionSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewTicketOptionAnswersForTicketInput {\n organizationID: string;\n paging: PagingInputV3;\n}\n\nexport class ViewTicketOptionAnswersForTicketOutput {\n items: ViewTicketOptionAnswersForTicketSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewTicketOptionAnswersForTicketSummary {\n organizationID: string;\n source: string;\n ticketID: string;\n ticketOptionID: string;\n ticketOptionPromptChoiceID: string;\n ticketOptionAnswerID: string;\n answer: string;\n}\n\nexport class ViewUserInPersonInput {\n organizationID: string;\n paging: PagingInputV3;\n}\n\nexport class ViewUserInPersonOutput {\n items: ViewUserInPersonSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewUserInPersonSummary {\n organizationID: string;\n source: string;\n attendeeUserID: string;\n isInPerson: boolean;\n created: Date;\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { CurrentUserService, EnvironmentService, FilterComparator, FilterParameterV3, PagingInputV3 } from '@onecause/core';\nimport { Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { GeneratedVirtualEventRestService, ListGuestsInput, ListGuestsOutput } from './zz-generatedvirtualevent-rest.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TicketManagerRedirectGuard implements CanActivate {\n\n constructor(\n private env: EnvironmentService,\n private currentUserService: CurrentUserService,\n private virtualEventService: GeneratedVirtualEventRestService,\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n const orgID = route.paramMap.get('organizationID');\n const eventID = route.paramMap.get('eventID');\n\n if (state.url.indexOf('admin') === -1) {\n return of(false);\n }\n\n return this.env.getServiceURL('manage').pipe(switchMap((url) => {\n let redirectURL = `${url}/events/${orgID}?_=${eventID}/tickets`;\n return this.currentUserService.isLoggedIn().pipe(switchMap((isLoggedIn => {\n if (!isLoggedIn) {\n // don't try to get fancy, just send them and prompt auth there\n this.assignLocation(redirectURL);\n return of(false);\n }\n\n return this.currentUserService.getProfile('flow/ticket-manager-redirect').pipe(switchMap(profile => {\n return this.virtualEventService.listGuests(new ListGuestsInput({\n organizationID: orgID,\n eventID: eventID,\n paging: new PagingInputV3().Filters([new FilterParameterV3('user_id', FilterComparator.Equal, profile.id)])\n })).pipe(switchMap((out: ListGuestsOutput) => {\n if (out.items.length) {\n redirectURL += `?eventSupporter=${out.items[0].firstName} ${out.items[0].lastName}`;\n }\n this.assignLocation(redirectURL);\n return of(false);\n }));\n }));\n })));\n }));\n }\n\n assignLocation(url: string): void {\n window.location.assign(url);\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthHttpClient,\n CurrentUserService,\n PagingInputV2,\n PagingInputV3,\n PagingOutput,\n PagingOutputV3,\n PhaasResponse,\n} from '@onecause/core';\nimport { AsyncSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ViewAllocationsSummary } from './inventory-client.service';\nimport { Ticket, TicketOptionAnswer, ViewTicketOptionAnswersForTicketSummary } from './ticket-client.service';\nimport { GetParticipantResult } from './zz-greatfeats-rest.service';\n\nexport enum EventType {\n Virtual = 'virtual',\n Hybrid = 'hybrid',\n InPerson = 'in-person',\n VirtualPlusWatchParty = 'virtual+watchparty',\n}\n\nexport enum AttendeeExperience {\n Unknown = '',\n Virtual = 'virtual',\n WatchParty = 'watchparty',\n InPerson = 'in-person',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VirtualEventClientService {\n\n private urlHost = 'env:phaas-virtualevent-api';\n\n constructor(\n private authHttpClient: AuthHttpClient,\n private httpClient: HttpClient,\n private currentUserService: CurrentUserService,\n ) { }\n\n // readEvent - Read Event\n readEvent(input: ReadEventInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listEventSessions(input: ListEventSessionsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // listImpacts - List Impacts\n listImpacts(input: ListImpactsInput): Observable {\n const params = new HttpParams()\n .set('paging', input.pagingInput.stringify());\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readImpact - List Impacts\n readImpact(input: ReadImpactInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/impacts/${input.impactID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getImpactPhotoList - Get Impact Photo List\n getImpactPhotoList(\n organizationID: string,\n virtualEventId: string,\n impaactID: string,\n pagingInput: PagingInputV3\n ): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventId}/impacts/${impaactID}/photos`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // createRegistration - Create Registration\n createRegistration(input: CreateRegistrationInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // selfRegisterForEvent - Registration for an event by a user\n selfRegisterForEvent(input: SelfRegisterForEventInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // donateAndSelfRegister - Donate and register for an event by a user\n donateAndSelfRegister(input: DonateAndSelfRegisterInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/donate-and-self-register`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readMyRegistration - Find a registration for the authenticated user\n readMyRegistration(input: ReadMyRegistrationInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // updateMyRegistration - Update a registration for the authenticated user\n updateMyRegistration(input: UpdateMyRegistrationInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my`;\n return this.authHttpClient.put(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // updateMyProfile - Update a profile for the authenticated user\n updateMyProfile(input: UpdateMyProfileInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/update-profile`;\n return this.authHttpClient.put(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // isRegistrationComped - Check if a user should be comped for a required donation\n isRegistrationComped(input: IsRegistrationCompedInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/is-comped`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // buyItems - Buy items\n buyItems(input: BuyItemsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items`;\n const subject = new AsyncSubject();\n\n const completeSubject = (payload) => {\n subject.next(payload);\n subject.complete();\n };\n\n const errorSubject = (err) => {\n subject.error(err);\n subject.complete();\n };\n\n this.currentUserService.getProfile().subscribe(\n () => {\n // if they're logged in\n this.authHttpClient.post(url, input).subscribe(\n (res: PhaasResponse) => completeSubject(res.payload),\n (err) => errorSubject(err),\n );\n },\n () => {\n // if they're not logged in\n this.httpClient.post(url, input).subscribe(\n (res: PhaasResponse) => completeSubject(res.payload),\n (err) => errorSubject(err),\n );\n },\n );\n\n return subject;\n }\n\n // payForItems - PayFor items\n payForItems(input: PayForItemsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/pay`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // calculatePurchaseTotals\n calculatePurchaseTotals(input: CalculatePurchaseTotalsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/totals`;\n return this.httpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readShow - Read Show\n listShows(input: ListShowsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readShow - Read Show\n readShow(input: ReadShowInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readScene - Read Scene\n readScene(input: ReadSceneInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listScenes(input: ListScenesInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes`;\n const paging = input.paging.stringify();\n const params = new HttpParams().set('paging', paging);\n return this.authHttpClient.get(url, { params: params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readOverlay - List Overlays\n readOverlay(input: ReadOverlayInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/shows/${input.showID}/scenes/${input.sceneID}/overlays/${input.overlayID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readEventShowControl - List EventShowControls\n readEventShowControl(input: ReadEventShowControlInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getNotificationToken(input: GetNotificationTokenInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/control/token`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getAuctionNotificationToken(input: GetAuctionNotificationTokenInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/auctions/${input.auctionID}/token`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getPurchasedItemsNotificationToken(input: GetPurchasedItemsNotificationTokenInput):\n Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/notification-token`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listItemsForUser(input: ListItemsForUserInput): Observable {\n const paging = input.paging.stringify();\n const params = new HttpParams().set('paging', paging);\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items`;\n return this.authHttpClient.get(url, { params: params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n placeBid(input: PlaceBidInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/place-bid`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n buyNow(input: BuyNowInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/auctions/${input.auctionID}/buy-now`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readPeerUserInfo(input: ReadPeerUserInfoInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/registrations/my/peer-user/${input.peerUserID}`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getPurchasedItemsList(input: GetPurchasedItemsListInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items`;\n const params = new HttpParams().set('paging', input.paging.stringify());\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n viewRecentDonors(input: ViewRecentDonorsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchased-items/view/recentdonors`;\n const params = new HttpParams().set('paging', input.paging.stringify());\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readRecentAppealDonors(input: ReadRecentAppealItemsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/appeal-items`;\n const params = new HttpParams().set('useAnonymous', input.useAnonymous.toString());\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n claimTicketAndRegister(input: ClaimTicketAndRegisterInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/claim-ticket-and-register`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getChatUser(organizationID: string, virtualEventID: string): Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/chat-users/by-user-token`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getLivestreamChatNotificationToken(\n input: GetLivestreamChatNotificationTokenInput\n ): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/livestream-chat/notifications/token`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readMyVirtualChair(organizationID: string, virtualEventID: string): Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/virtual-tables/my-chair`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getVirtualTableNotificationToken(input: GetVirtualTableNotificationTokenInput):\n Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/token`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n updateVirtualChair(input: UpdateVirtualChairInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.ID}`;\n return this.authHttpClient.put(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getConnectionResourcesForChannel(organizationID: string, virtualEventID: string, input: GetConnectionResourcesForChannelInput):\n Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/virtual-tables/connection-resources-for-channel`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // tslint:disable-next-line:max-line-length\n signSignalingClientConnection(organizationID: string, virtualEventID: string, input: SignSignalingClientConnectionInput):\n Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/virtual-tables/sign-signaling-client-connection`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // tslint:disable-next-line:max-line-length\n createChannel(input: CreateChannelInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.virtualChairID}/channel`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // tslint:disable-next-line:max-line-length\n deleteChannel(input: DeleteChannelInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.virtualEventID}/virtual-tables/${input.virtualTableID}/virtual-chairs/${input.virtualChairID}/channel`;\n return this.authHttpClient.delete(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readMyVirtualTable(organizationID: string, virtualEventID: string): Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/virtual-tables/my-table`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // tslint:disable-next-line:max-line-length\n calculateCoverCost(organizationID: string, virtualEventID: string, input: CalculateCoverCostInput): Observable {\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventID}/cover-costs/calculate`;\n return this.httpClient.post>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n sendTicket(input: SendTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}/send`;\n return this.authHttpClient.post>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n resetTicket(input: ResetTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}/reset`;\n return this.authHttpClient.post>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n updateMyTicket(input: UpdateMyTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}`;\n return this.authHttpClient.put>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n updateTicket(input: UpdateTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/${input.ticketID}`;\n return this.authHttpClient.put>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n sendMyTicket(input: SendMyTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/send`;\n return this.authHttpClient.post>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n resetMyTicket(input: ResetMyTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/reset`;\n return this.authHttpClient.post>(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readMyTicket(input: ReadMyTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getMyExperienceType(input: GetMyExperienceTypeInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/my/experience-type`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listGuestSessionSummaries(input: ListGuestSessionSummariesInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/guest-session-summaries`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listMyGuestSessionSummaries(input: ListMyGuestSessionSummariesInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/guest-session-summaries`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readGuest(input: ReadGuestInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/guests/${input.guestID}`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listGuestSessions(input: ListGuestSessionsInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readGuestSession(input: ReadGuestSessionInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/${input.guestSessionID}`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listMyTickets(input: ListMyTicketsInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n countMyTickets(input: CountMyTicketsInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/count`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readMyTicketOptionAnswers(input: ReadMyTicketOptionAnswersInput): Observable {\n let params: HttpParams;\n if (input.paging) {\n params = new HttpParams().set('paging', input.paging.stringify());\n }\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/tickets/my/${input.ticketID}/ticket-option-answers`;\n return this.authHttpClient.get>(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // initiateRecurringDonation - initiate a recurring donation\n initiateRecurringDonation(input: InitiateRecurringDonationInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/recurring-donation`;\n\n // Create a async subject to return\n // (due to using either the auth http client or just the http client depending of if the user is logged in)\n const subject = new AsyncSubject();\n const completeSubject = (payload) => {\n subject.next(payload);\n subject.complete();\n };\n const errorSubject = (err) => {\n subject.error(err);\n subject.complete();\n };\n\n // Check if the user is logged in\n this.currentUserService.getProfile().subscribe(\n () => {\n // If they're logged in, use the auth http client\n this.authHttpClient.post(url, input).subscribe(\n (res: PhaasResponse) => completeSubject(res.payload),\n (err) => errorSubject(err),\n );\n },\n () => {\n // If they're not logged in, use the http client\n this.httpClient.post(url, input).subscribe(\n (res: PhaasResponse) => completeSubject(res.payload),\n (err) => errorSubject(err),\n );\n },\n );\n\n return subject;\n }\n\n getEventNotificationToken(input: GetEventNotificationTokenInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/notifications/token`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n readFixedPriceItem(input: ReadFixedPriceItemInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/${input.fixedPriceItemID}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n viewFixedPriceDetails(input: ViewFixedPriceDetailsInput): Observable {\n const params = new HttpParams().set('paging', input.paging.stringify());\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/fixedpriceitems/view/fixedpricedetails`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // tslint:disable-next-line: max-line-length\n getFixedPriceItemPhotoList(organizationID: string, virtualEventId: string, itemID: string, pagingInput: PagingInputV3): Observable {\n const params = new HttpParams().set('paging', pagingInput.stringify());\n const url = `${this.urlHost}/organizations/${organizationID}/events/${virtualEventId}/fixedpriceitems/${itemID}/photos`;\n return this.httpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getSupporterPurchasedItemDetailViewList(\n input: ViewSupporterPurchasedItemDetailInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/items/purchased-summary`;\n const params = new HttpParams().set('paging', input.paging.stringify());\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n checkInMyTickets(input: CheckInMyTicketsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.source}/tickets/my/check-in-tickets`;\n return this.authHttpClient.put(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n checkInMyGuestSessions(input: CheckInMyGuestSessionsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/check-in-my-sessions`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getMyCheckInStatus(input: GetMyCheckInStatusInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/check-in-status`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getGuestSummary(input: GetGuestSummaryInput): Observable {\n const url =\n `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.ticketTicketID}/summary`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n getMyGuestSessionSummary(input: GetMyGuestSessionSummaryInput): Observable {\n const url =\n `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/guest-session-summary`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getOrgPickupItemOptions -\n getOrgPickupItemOptions(input: GetOrgPickupItemOptionsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/orgpickupitemoptions`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getPickupItemList -\n getPickupItemList(input: GetPickupItemListInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/pickupitems`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // updatePickupPreference -\n updatePickupPreference(input: UpdatePickupPreferenceInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/pickupPreference`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // getSelectedPickupTimeSlots\n getSelectedPickupTimeSlots(input: GetSelectedPickupTimeSlotsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/checkout/selected-pickup-time-slots`;\n return this.authHttpClient.get>(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // readDonationMoment\n readDonationMoment(input: ReadDonationMomentInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/donationmoments/${input.id}`;\n return this.httpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n // checkGuestForClaimedTicket\n checkGuestForClaimedTicket(input: CheckGuestForClaimedTicketInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/event-guests/${input.eventSessionID}/my/check-for-claimed-ticket`;\n return this.authHttpClient.post(url, input).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listEventSessionTicketConfigs(input: ListEventSessionTicketConfigsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/ticketconfigs`;\n const params = new HttpParams().set('paging', input.paging.stringify());\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listMyIncompleteGuestSessionIDs(input: ListMyIncompleteGuestSessionIDsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/sessions/${input.eventSessionID}/guests/my/incomplete-guest-session-ids`;\n return this.authHttpClient.get(url).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n\n listMyAvailableCreditCards(input: ListMyAvailableCreditCardsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/giving/my/credit-cards`;\n return this.authHttpClient.get(url).pipe(map((response: PhaasResponse) => {\n return response.payload;\n }));\n }\n\n mySupporterPurchasedItemsDetails(input: MySupporterPurchasedItemsDetailsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/purchases/guests/my/item-detail`;\n const params = new HttpParams().set('paging', input.paging.stringify());\n return this.authHttpClient.get(url, { params }).pipe(map((res: PhaasResponse) => {\n return res.payload;\n }));\n }\n}\n\nexport class ListMyIncompleteGuestSessionIDsInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class ListMyIncompleteGuestSessionIDsOutput {\n incompleteGuestSessionIDs: string[];\n}\n\nexport class ListEventSessionTicketConfigsInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n paging: PagingInputV3;\n}\n\nexport class ListEventSessionTicketConfigsOutput {\n items: EventSessionTicketConfigSummary[];\n paging: PagingOutputV3;\n}\n\nexport class EventSessionTicketConfigSummary {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n id: string;\n ticketTypeID: string;\n attendeeExperience: string;\n}\n\nexport class GetEventNotificationTokenInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class GetEventNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class ReadMyTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n}\n\nexport class ReadMyTicketOutput extends Ticket { }\n\nexport class CountMyTicketsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class CountMyTicketsOutput {\n count: number;\n}\n\nexport class ListMyTicketsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class ListMyTicketsOutput {\n items: Ticket[];\n paging: PagingOutputV3;\n}\n\nexport class ResetMyTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n editKey: string;\n}\n\nexport class ReadDonationMomentInput {\n organizationID: string;\n eventID: string;\n id: string;\n}\n\nexport class ReadDonationMomentOutput {\n organizationID: string;\n eventID: string;\n id: string;\n name: string;\n type: string;\n donationLevelsAmountCents: number[];\n currentDonationTierAmountCents: number;\n giveAtAnyLevelActive: boolean;\n disableOnlineDonations: boolean;\n}\n\nexport class ResetMyTicketOutput { }\n\nexport class SendMyTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n}\n\nexport class SendMyTicketOutput { }\n\nexport class UpdateTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n ticketTypeID: string;\n attendeeEmail: string;\n attendeeFirstName: string;\n attendeeLastName: string;\n ticketOptionAnswers: TicketOptionAnswer[];\n}\n\nexport class UpdateTicketOutput { }\n\nexport class UpdateMyTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n ticketTypeID: string;\n attendeeEmail: string;\n attendeeFirstName: string;\n attendeeLastName: string;\n ticketOptionAnswers: TicketOptionAnswer[];\n}\n\nexport class UpdateMyTicketOutput { }\n\nexport class ReadMyTicketOptionAnswersInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n paging: PagingInputV3;\n}\n\nexport class ReadMyTicketOptionAnswersOutput {\n items: ViewTicketOptionAnswersForTicketSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ResetTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n editKey: string;\n}\n\nexport class ResetTicketOutput { }\n\nexport class SendTicketInput {\n organizationID: string;\n eventID: string;\n ticketID: string;\n}\n\nexport class SendTicketOutput { }\n\nexport class CalculateCoverCostInput {\n cardType: string;\n amountCents: number;\n}\n\nexport class CalculateCoverCostOutput {\n coverCostCents: number;\n subTotalCents: number;\n totalCents: number;\n}\n\nexport class GetLivestreamChatNotificationTokenInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class GetLivestreamChatNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class ReadEventInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class ReadEventOutput {\n organizationID: string;\n id: string;\n name: string;\n eventType: string;\n descriptionMarkdown: string;\n impactBlurb: string;\n registrationBlurb: string;\n primaryDate: string;\n primaryEndDate: string;\n timezone: string;\n storyMarkdown: string;\n shortURL: string;\n currencyCode: string;\n totalDonationsCount: number;\n totalDonationsAmountCents: number;\n totalRegistrationsCount: number;\n goalTotalDonationsAmountCents: number;\n goalTotalDonationsAmountCentsMetOn: string;\n goalTotalDonationsSeedAmountCents: number;\n goalTrackerImageURL: string;\n goalTrackerImageUploadToken: string;\n donationSuggestedAmountsCents: number[];\n recurringDonationSuggestedAmountsCents: number[];\n donationSuggestedAmountsShow: boolean;\n themePrimaryColor: string;\n themeSecondaryColor: string;\n bannerImageURL: string;\n bannerImageUploadToken: string;\n logoImageURL: string;\n logoImageUploadToken: string;\n registrationThankYouMessageMarkdown: string;\n donationThankYouMessageMarkdown: string;\n contactName: string;\n contactPhone: string;\n contactEmail: string;\n merchantAccountID: string;\n showBillingAddress: boolean;\n requireBillingAddress: boolean;\n tags: string[];\n impactOrderIDs: string[];\n activeRaffleID: string;\n enableRaffles: boolean;\n messageTemplateMarkdown: string;\n showThermometer: boolean;\n showSilentAuction: boolean;\n showSilentAuctionCountdown: boolean;\n activeSilentAuctionID: string;\n showStory: boolean;\n showLiveAuctionPreview: boolean;\n showRaffle: boolean;\n showGreatfeatsParticipantsLeaderboard: boolean;\n greatfeatsParticipantsLeaderboardTabTitle: string;\n greatfeatsParticipantsLeaderboardMessageMarkdown: string;\n storyTabTitle: string;\n liveAuctionPreviewTabTitle: string;\n silentAuctionTabTitle: string;\n raffleTabTitle: string;\n checkoutMessageMarkdown: string;\n isVirtualTableActive: boolean;\n isChatOn: boolean;\n isCoverCostActive: boolean;\n coverCostCustomMessage: string;\n coverCostDefault: boolean;\n requireDonationDuringRegistration: boolean;\n showSocialAuth: boolean;\n showPhoneNumber: boolean;\n requirePhoneNumber: boolean;\n showAddress: boolean;\n requireAddress: boolean;\n enableTicketing: boolean;\n ticketTypeOrderIDs: string[];\n ticketOptionOrderIDs: string[];\n showGame: boolean;\n gameTabTitle: string;\n greatfeatsChallengeAccessKey: string;\n showRecurringDonationManagement: boolean;\n recurringDonationPeriod: string;\n supportSectionHeaderTitle: string;\n donationTabTitle: string;\n fixedPriceItemTabTitle: string;\n isCheckoutOpen: boolean;\n thermometerConfig: ThermometerSetupConfig;\n thermometerProceeds: number;\n pickupOpenTime: Date;\n pickupCloseTime: Date;\n allowPickupTonight: boolean;\n allowPickupLater: boolean;\n isPickupWindowScheduled: boolean;\n pickupLaterNotificationMessageMarkdown: string;\n enableSelfCheckin: boolean;\n enableFixedPrice: boolean;\n}\n\nexport class VirtualEvent extends ReadEventOutput { }\n\nexport class ThermometerSetupConfig {\n donations: ThermometerConfigDetails;\n offline: ThermometerConfigDetails;\n liveAuction: ThermometerConfigDetails;\n silentAuction: ThermometerConfigDetails;\n fixedPrice: ThermometerConfigDetails;\n tickets: ThermometerConfigDetails;\n}\n\nexport class ThermometerConfigDetails {\n includeTotals: boolean;\n}\n\nexport class ListImpactsInput {\n organizationID: string;\n eventID: string;\n pagingInput: PagingInputV3;\n}\n\nexport class ListImpactsOutput {\n items: ImpactSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ImpactSummary {\n organizationID: string;\n eventID: string;\n id: string;\n name: string;\n amountCents: number;\n descriptionMarkdown: string;\n totalPurchasesLimit: number;\n totalPurchasesCountDisplayThreshold: number;\n totalPurchasesAmountCentsDisplayThreshold: number;\n totalPurchasesCount: number;\n totalPurchasesAmountCents: number;\n goalType: string;\n goalPurchasesCount: number;\n goalPurchasesCountDisplayThreshold: number;\n goalPurchasesCountMetOn: string;\n goalPurchasesAmountCents: number;\n goalPurchasesAmountCentsDisplayThreshold: number;\n goalPurchasesAmountCentsMetOn: string;\n goalMetMessageSentOn: string;\n goalMetEmailSubject: string;\n goalMetEmailBodyMarkdown: string;\n goalMetSMSBody: string;\n hideFromFlow: boolean;\n fixedPriceItemID: string;\n fixedPriceItem: FixedPriceItem;\n photos: ImpactPhoto[];\n}\n\nexport class ReadImpactInput {\n organizationID: string;\n eventID: string;\n impactID: string;\n}\n\nexport class ReadImpactOutput extends ImpactSummary { }\n\nexport class GetImpactPhotoListOutput {\n items: ImpactPhoto[];\n paging: PagingOutput;\n}\n\nexport class ImpactPhoto {\n orgnaizationID: string;\n eventID: string;\n impactID: string;\n id: string;\n url: string;\n uploadToken: string;\n}\n\nexport class CreateRegistrationInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n accessCode: string;\n wantEmailUpdates: boolean;\n wantSMSUpdates: boolean;\n passthroughInvitationID: string;\n}\n\nexport class CreateRegistrationOutput {\n id: string;\n}\n\nexport class SelfRegisterForEventInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n mobilePhone: string;\n street: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n passthroughInvitationID: string;\n attendeeExperience: AttendeeExperience;\n}\n\nexport class SelfRegisterForEventOutput { }\n\nexport class DonateAndSelfRegisterInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n mobilePhone: string;\n passthroughInvitationID: string;\n amountCents: number;\n cardName: string;\n expiration: string;\n cardType: string;\n cardLastFour: string;\n token: string;\n payerName: string;\n payerStreet: string;\n payerCity: string;\n payerState: string;\n payerZip: string;\n payerCountry: string;\n}\n\nexport class DonateAndSelfRegisterOutput { }\n\nexport class ReadMyRegistrationInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class ReadMyRegistrationOutput {\n found: boolean;\n organizationID: string;\n eventID: string;\n registrationID: string;\n userID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n wantEmailUpdates: boolean;\n wantSMSUpdates: boolean;\n biddingAsUserID: string;\n biddingAsFirstName: string;\n biddingAsLastName: string;\n}\n\nexport class UpdateMyRegistrationInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n wantEmailUpdates: boolean;\n wantSMSUpdates: boolean;\n}\n\nexport class UpdateMyRegistrationOutput { }\n\nexport class UpdateMyProfileInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n updateAllEvent: boolean;\n street: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n}\n\nexport class UpdateMyProfileOutput { }\nexport class BuyItemDonation {\n amountCents: number;\n isAnonymous: boolean;\n greatfeatsParticipantID: string;\n greatfeatsParticipantName: string;\n}\n\nexport class BuyItemAppealDonation {\n amountCents: number;\n emojiSelected: string;\n isAnonymous: boolean;\n greatfeatsParticipantID: string;\n greatfeatsParticipantName: string;\n}\n\nexport class BuyItemImpact {\n amountCents: number;\n impactID: string;\n name: string;\n isAnonymous: boolean;\n}\n\nexport class BuyItemRaffleTickets {\n amountCents: number;\n raffleID: string;\n purchaseLevelID: string;\n quantity: number;\n}\n\nexport class BuyItemTickets {\n amountCents: number;\n ticketTypeID: string;\n attendeeFirstName: string;\n attendeeLastName: string;\n attendeeEmail: string;\n priceCents: number;\n valueCents: number;\n ticketOptionAnswers: TicketOptionAnswer[];\n isClaiming: boolean;\n}\n\nexport class BuyItemsInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n donations: BuyItemDonation[];\n appealDonations: BuyItemAppealDonation[];\n impacts: BuyItemImpact[];\n raffleTickets: BuyItemRaffleTickets[];\n fixedPrices: BuyFixedPrices[];\n tickets: BuyItemTickets[];\n payAfterEvent: boolean;\n cardName: string;\n expiration: string;\n cardType: string;\n cardLastFour: string;\n token: string;\n coverFee: boolean;\n payerName: string;\n payerStreet: string;\n payerCity: string;\n payerState: string;\n payerZip: string;\n payerCountry: string;\n fakeTransactionResult: string;\n isExternalPayment: boolean;\n isAnonymous: boolean;\n itemDetails: ItemDetails;\n}\n\nexport class BuyFixedPrices {\n fixedPriceItemID: string;\n name: string;\n quantity: number;\n amountCents: number;\n}\n\nexport class ItemDetails {\n emojiSelected: string;\n quantity: number;\n}\n\nexport class BuyItemsOutput {\n}\n\nexport class PayForItemsInput {\n organizationID: string;\n eventID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n itemIDs: string[];\n cardName: string;\n expiration: string;\n cardType: string;\n cardLastFour: string;\n token: string;\n coverFee: boolean;\n payerName: string;\n payerStreet: string;\n payerCity: string;\n payerState: string;\n payerZip: string;\n payerCountry: string;\n}\n\nexport class PayForItemsOutput {\n transactionID: string;\n}\n\nexport class CalculatePurchaseTotalsInput {\n organizationID: string;\n eventID: string;\n tickets: BuyItemTickets[];\n}\n\nexport class CalculatePurchaseTotalsOutput {\n ticketsTotalCents: number;\n ticketFeesTotalCents: number;\n subtotalCents: number;\n feesTotalCents: number;\n totalCents: number;\n}\n\nexport class ReadOverlayInput {\n organizationID: string;\n eventID: string;\n showID: string;\n sceneID: string;\n overlayID: string;\n}\n\nexport class ReadOverlayOutput {\n organizationID: string;\n eventID: string;\n showID: string;\n sceneID: string;\n overlayID: string;\n name: string;\n type: string;\n config: string;\n}\n\nexport class ListShowsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV2;\n}\n\nexport class ListShowsOutput {\n items: ShowSummary[];\n paging: PagingOutput;\n}\n\nexport class ShowSummary {\n organizationID: string;\n eventID: string;\n id: string;\n name: string;\n descriptionMarkdown: string;\n totalDurationMinutes: number;\n defaultOverlayConfig: OverlayConfiguration;\n overrideOverlayConfig: OverlayConfiguration;\n activeOverlayConfig: OverlayConfiguration;\n defaultStreamID: string;\n}\n\nexport class ReadShowInput {\n organizationID: string;\n eventID: string;\n showID: string;\n}\n\nexport class ReadShowOutput {\n organizationID: string;\n eventID: string;\n id: string;\n name: string;\n descriptionMarkdown: string;\n sceneOrderIDs: string[];\n totalDurationMinutes: number;\n activeSceneID: string;\n primaryFlowID: string;\n defaultOverlayConfig: OverlayConfiguration;\n overrideOverlayConfig: OverlayConfiguration;\n activeOverlayConfig: OverlayConfiguration;\n}\n\nexport class ReadSceneInput {\n organizationID: string;\n eventID: string;\n showID: string;\n sceneID: string;\n}\n\nexport class ReadSceneOutput {\n organizationID: string;\n eventID: string;\n showID: string;\n id: string;\n streamID: string;\n name: string;\n descriptionMarkdown: string;\n plannedDurationMinutes: number;\n estimatedDurationSeconds: number;\n type: string;\n url: string;\n thumbnailURL: string;\n defaultOverlayConfig: OverlayConfiguration;\n activeOverlayConfig: OverlayConfiguration;\n isCurtain: boolean;\n inheritDefaultStream: boolean;\n}\n\nexport class ListScenesInput {\n organizationID: string;\n eventID: string;\n showID: string;\n paging: PagingInputV3;\n}\n\nexport class ListScenesOutput {\n items: SceneSummary[];\n paging: PagingOutput;\n}\n\nexport class SceneSummary {\n organizationID: string;\n eventID: string;\n showID: string;\n id: string;\n streamID: string;\n name: string;\n descriptionMarkdown: string;\n plannedDurationMinutes: number;\n estimatedDurationSeconds: number;\n type: string;\n url: string;\n thumbnailURL: string;\n defaultOverlayConfig: OverlayConfiguration;\n activeOverlayConfig: OverlayConfiguration;\n isCurtain: boolean;\n inheritDefaultStream: boolean;\n}\n\nexport class OverlayConfiguration {\n showNone: boolean;\n overlayIDs: string[];\n}\n\nexport class ReadEventShowControlInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class ReadEventShowControlOutput {\n organizationID: string;\n eventID: string;\n activeShowID: string;\n activeSceneID: string;\n activeSceneChanged: string;\n secondsSinceSceneChange: number;\n activeSceneType: string;\n activeSceneURL: string;\n}\n\nexport class GetNotificationTokenInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class GetNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class GetPurchasedItemsNotificationTokenInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class GetPurchasedItemsNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class GetAuctionNotificationTokenInput {\n organizationID: string;\n auctionID: string;\n}\n\nexport class GetAuctionNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class ListItemsForUserInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class ListItemsForUserOutput {\n items: PurchasedItemSummary[];\n paging: PagingOutputV3;\n}\n\nexport class PurchasedItemSummary {\n organizationID: string;\n eventID: string;\n id: string;\n firstName: string;\n lastName: string;\n email: string;\n userID: string;\n mobilePhone: string;\n amountCents: number;\n type: string;\n impactID: string;\n auctionID: string;\n lotID: string;\n fixedPriceItemID: string;\n raffleDetails: RafflePurchaseDetails;\n paidOn: string;\n purchaseID: string;\n transactionSuccess: boolean;\n transactionID: string;\n}\n\nexport class RafflePurchaseDetails {\n raffleID: string;\n purchaseLevelID: string;\n quantityTickets: number;\n raffleName: string;\n}\n\nexport class PlaceBidInput {\n organizationID: string;\n eventID: string;\n auctionID: string;\n lotID: string;\n bidderID: string;\n auctionType: string;\n bidTime: Date;\n bidAmountCents: number;\n guestID: string;\n userID: string;\n}\n\nexport class PlaceBidOutput {\n bidID: string;\n bidderUserID: string;\n topBidID: string;\n topBidderGuestID: string;\n topBidderUserID: string;\n topBidAmountCents: number;\n}\n\nexport class BuyNowInput {\n organizationID: string;\n eventID: string;\n auctionID: string;\n lotID: string;\n bidderID: string;\n auctionType: string;\n bidTime: Date;\n}\n\nexport class BuyNowOutput {\n bidID: string;\n}\n\nexport class ReadPeerUserInfoInput {\n organizationID: string;\n eventID: string;\n peerUserID: string;\n}\n\nexport class ReadPeerUserInfoOutput {\n firstName: string;\n lastName: string;\n}\n\nexport class GetPurchasedItemsListInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class GetPurchasedItemsListOutput {\n items: PurchasedItemSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewRecentDonorsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class ViewRecentDonorsOutput {\n items: ViewRecentDonorsSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewRecentDonorsSummary {\n organizationID: string;\n eventID: string;\n donatedAmountCents: string;\n created: Date;\n firstName: string;\n lastName: string;\n}\n\nexport class ReadRecentAppealItemsInput {\n organizationID: string;\n eventID: string;\n useAnonymous: boolean;\n}\n\nexport class ReadRecentAppealItemsOutput {\n organizationID: string;\n eventID: string;\n recentDonors: AppealDonors[];\n}\n\nexport class ClaimTicketAndRegisterInput {\n organizationID: string;\n eventID: string;\n userID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n ticketID: string;\n ticketOptionAnswers: TicketOptionAnswer[];\n payerName: string;\n payerStreet: string;\n payerCity: string;\n payerState: string;\n payerZip: string;\n payerCountry: string;\n}\n\nexport class ClaimTicketAndRegisterOutput { }\n\nexport class AppealDonors {\n firstName: string;\n lastName: string;\n isAnonymous: boolean;\n emojiSelected: string;\n}\n\nexport class GetChatUserOutput {\n organizationID: string;\n eventID: string;\n userID: string;\n pubnubAuthKey: string;\n livestreamChatChannelID: string;\n}\n\nexport class ReadMyVirtualChairOutput {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n id: string;\n userEmail: string;\n userFirstName: string;\n userLastName: string;\n userID: string;\n channelName: string;\n channelARN: string;\n created: Date;\n updated: Date;\n}\nexport class GetVirtualTableNotificationTokenInput {\n organizationID: string;\n virtualEventID: string;\n}\n\nexport class GetVirtualTableNotificationTokenOutput {\n token: string;\n notificationWebsocketURL: string;\n}\n\nexport class VirtualChairSummary {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n ID: string;\n userEmail: string;\n userFirstName: string;\n userLastName: string;\n userID: string;\n channelName: string;\n channelARN: string;\n created: Date;\n Updated: Date;\n}\n\nexport class UpdateVirtualChairInput {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n ID: string;\n userEmail: string;\n userFirstName: string;\n userLastName: string;\n channelName: string;\n channelARN: string;\n}\n\nexport class UpdateVirtualChairOutput { }\n\nexport class ICEServer {\n username: string;\n password: string;\n timeToLive: number;\n uris: string[];\n}\nexport class GetConnectionResourcesForChannelInput {\n channelARN: string;\n channelRole: string;\n}\n\nexport class GetConnectionResourcesForChannelOutput {\n awsRegion: string;\n wssEndpointURL: string;\n httpsEndpointURL: string;\n iceServerList: ICEServer[];\n}\n\nexport class SignSignalingClientConnectionInput {\n wssEndpointURL: string;\n}\n\nexport class SignSignalingClientConnectionOutput {\n signedURL: string;\n header: { [key: string]: string; };\n}\n\nexport class CreateChannelInput {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n virtualChairID: string;\n userID: string;\n}\n\nexport class CreateChannelOutput {\n channelARN: string;\n channelName: string;\n}\n\nexport class DeleteChannelInput {\n organizationID: string;\n virtualEventID: string;\n virtualTableID: string;\n virtualChairID: string;\n userID: string;\n}\n\nexport class DeleteChannelOutput { }\n\nexport class Table {\n tableNumber: string;\n name: string;\n chairs: Chair[];\n}\n\nexport class Chair {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n channelName: string;\n channelARN: string;\n}\n\nexport class ReadMyVirtualTableOutput {\n virtualTable: Table;\n}\n\nexport class IsRegistrationCompedInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class IsRegistrationCompedOutput {\n comped: boolean;\n}\n\nexport class InitiateRecurringDonationInput {\n organizationID: string;\n eventID: string;\n\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n\n cardName: string;\n expiration: string;\n cardType: string;\n cardLastFour: string;\n token: string;\n\n amountCents: number;\n coverFee: boolean;\n\n payerName: string;\n payerStreet: string;\n payerCity: string;\n payerState: string;\n payerZip: string;\n payerCountry: string;\n\n fakeTransactionResult: string;\n\n isAnonymous: boolean;\n}\n\nexport class InitiateRecurringDonationOutput {\n}\n\nexport class FixedPriceItem {\n organizationID: string;\n id: string;\n eventID: string;\n name: string;\n description: string;\n priceCents: number;\n valueCents: number;\n numPurchased: number;\n maxNumAvailable: number;\n numUnlimited: boolean;\n inPersonOnly: boolean;\n sortOrder: number;\n photos: FixedPriceItemPhoto[];\n}\n\nexport class ReadFixedPriceItemInput {\n organizationID: string;\n eventID: string;\n fixedPriceItemID: string;\n}\n\nexport class ReadFixedPriceItemOutput extends FixedPriceItem { }\n\nexport class ViewFixedPriceDetailsOutput {\n items: FixedPriceItemDetail[];\n paging: PagingOutputV3;\n}\n\nexport class FixedPriceItemDetail extends FixedPriceItem {\n impactID: string;\n hideFromFlow: boolean;\n photoID: string;\n url: string;\n\n}\n\nexport class ViewFixedPriceDetailsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class FixedPriceItemPhoto {\n orgnaizationID: string;\n eventID: string;\n fixedPriceItemID: string;\n id: string;\n url: string;\n uploadToken: string;\n}\n\nexport class GetFixedPriceItemPhotoListOutput {\n items: FixedPriceItemPhoto[];\n paging: PagingOutput;\n}\n\nexport class ConfirmDonationOutput {\n emojiAlias: string;\n isAnonymous: boolean;\n customAmountCents: number;\n ambassador: GetParticipantResult;\n\n}\n\nexport class ViewSupporterPurchasedItemDetailInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class LotItem {\n itemID: string;\n organizationID: string;\n itemName: string;\n itemValueCents: number;\n lotID: string;\n lotOrder: number;\n quantity: number;\n auctionID: string;\n auctionName: string;\n}\n\nexport class ViewSupporterPurchasedItemDetailOutput {\n items: ViewSupporterPurchasedItemDetailSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ViewSupporterPurchasedItemDetailSummary {\n organizationID: string;\n eventID: string;\n userID: string;\n guestID: string;\n purchasedItemPrimaryGuestID: string;\n email: string;\n amountCents: number;\n purchaseItemType: string;\n auctionID: string;\n lotID: string;\n transactionID: string;\n transactionStatus: string;\n itemDetails: string;\n isPickedUp: boolean;\n fixedPriceItemID: string;\n fixedPriceItemName: string;\n fixedPriceItemPhotoURL: string;\n fixedPriceItemTotalCents: number;\n fixedPriceItemDescription: string;\n inventoryAllocationID: string;\n itemID: string;\n quantity: number;\n}\n\nexport class SupporterPurchasedItemSummary extends ViewSupporterPurchasedItemDetailSummary {\n auctionLotName: string;\n auctionLotNumber: string;\n auctionLotOrder: number;\n auctionLotPhotoURL: string;\n lotItems: ViewAllocationsSummary[];\n pickupPreference: string;\n isLoaded: boolean;\n isPickupTonight: boolean;\n isPickupLater: boolean;\n isPickUpEventLevel: boolean;\n}\n\nexport class CheckInMyGuestSessionsInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class CheckInMyGuestSessionsOutput { }\n\nexport class CheckInMyTicketsInput {\n organizationID: string;\n source: string;\n attendeeUserID: string;\n}\n\nexport class CheckInMyTicketsOutput { }\n\nexport class GetMyCheckInStatusInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class GetMyCheckInStatusOutput {\n checkInStatus: string;\n}\n\nexport class GetGuestSummaryInput {\n organizationID: string;\n eventID: string;\n ticketTicketID: string;\n}\n\nexport class GetGuestSummaryOutput {\n tableName: string;\n tableNumber: string;\n bidderNumber: string;\n ticketTypeName: string;\n checkedInTime: string;\n}\n\nexport class GetMyGuestSessionSummaryInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class GetMyGuestSessionSummaryOutput {\n firstName: string;\n lastName: string;\n email: string;\n guestID: string;\n guestUserID: string;\n managingGuestID: string;\n isCheckinWithManagingGuest: boolean;\n tableName: string;\n tableNumber: string;\n bidderNumber: string;\n attendeeNumber: string;\n ticketID: string;\n ticketTypeID: string;\n ticketTypeName: string;\n ticketClaimedTime: Date;\n ticketPurchaserFirstName: string;\n ticketPurchaserLastName: string;\n ticketPurchaserEmail: string;\n ticketManagerEmail: string;\n checkedInTime: Date;\n guestSessionID: string;\n}\n\nexport class ListGuestsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class ListGuestsOutput {\n guests: GuestSummary[];\n paging: PagingOutputV3;\n}\n\nexport class GuestSummary {\n organizationID: string;\n eventID: string;\n guestID: string;\n userID: string;\n registrationID: string;\n tableAttendeeID: string;\n ticketTicketID: string;\n initialTableName: string;\n initialTableNumber: string;\n bidderNumber: number;\n}\n\nexport class ListEventSessionsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class ListEventSessionsOutput {\n items: EventSessionSummary[];\n paging: PagingOutputV3;\n}\n\nexport class EventSessionSummary {\n id: string;\n organizationID: string;\n eventID: string;\n}\n\nexport class ListGuestSessionsInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n paging: PagingInputV3;\n}\n\nexport class ListGuestSessionsOutput {\n items: GuestSessionSummary[];\n paging: PagingOutputV3;\n}\n\nexport class GuestSessionSummary {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n guestSessionID: string;\n guestID: string;\n isPreCheckedIn: boolean;\n isCheckInWithManagingGuest: boolean;\n checkedInTime: Date;\n tableAttendeeID: string;\n ticketID: string;\n InitialTableName: string;\n InitialTableNumber: string;\n}\nexport class GetOrgPickupItemOptionsInput {\n organizationID: string;\n eventID: string;\n fixedPricedItemIDs: string[];\n}\n\nexport class OrgPickupOptions {\n itemID: string;\n isPickupTonight: boolean;\n isPickupLater: boolean;\n}\n\nexport class GetOrgPickupItemOptionsOutput {\n itemOptions: OrgPickupOptions[];\n}\n\nexport class PickupItemSummary {\n organizationID: string;\n eventID: string;\n id: string; // pickup item id\n userID: string;\n transactionID: string;\n pickupTimeSlot: Date;\n isPickedUp: boolean;\n isReadyPickUp: boolean;\n pickupPreference: string;\n purchasedItemID: string;\n itemID: string;\n inventoryLotID: string;\n inventoryAllocationID: string;\n fixedPriceItemID: string;\n}\n\nexport class GetPickupItemListInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n}\n\nexport class GetPickupItemListOutput {\n pickupItems: PickupItemSummary[];\n paging: PagingOutputV3;\n}\n\nexport class UpdatePickupPreferenceInput {\n organizationID: string;\n eventID: string;\n transactionID: string;\n pickupItems: UpdatePickupItem[];\n}\n\nexport class UpdatePickupItem {\n fixedPriceItemID: string;\n pickupPreference: string;\n pickupTimeSlot: Date;\n itemID: string;\n lotID: string;\n allocationID: string;\n}\n\nexport class UpdatePickupPreferenceOutput { }\n\nexport class PickupTimeSlot {\n pickupTimeSlot: string;\n selectedPickupTimeSlotCount: number;\n}\nexport class GetSelectedPickupTimeSlotsInput {\n organizationID: string;\n eventID: string;\n}\n\nexport class GetSelectedPickupTimeSlotsOutput {\n selectedPickupTimeSlots: PickupTimeSlot[];\n}\n\nexport class ListGuestSessionSummariesInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n paging: PagingInputV3;\n}\n\nexport class ListGuestSessionSummariesOutput {\n items: ListGuestSessionSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ListMyGuestSessionSummariesInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n paging: PagingInputV3;\n}\n\nexport class ListMyGuestSessionSummariesOutput {\n items: ListGuestSessionSummary[];\n paging: PagingOutputV3;\n}\n\nexport class ListGuestSessionSummary {\n firstName: string;\n lastName: string;\n email: string;\n guestDisplayName: string;\n guestSessionID: string;\n guestID: string;\n guestUserID: string;\n managingGuestID: string;\n isCheckinWithManagingGuest: boolean;\n bidderNumber: number;\n ticketPurchasedTime: Date;\n ticketID: string;\n ticketTypeName: string;\n ticketClaimedTime: Date;\n ticketCreatedTime: Date;\n ticketPurchaserFirstName: string;\n ticketPurchaserLastName: string;\n ticketPurchaserEmail: string;\n ticketManagerEmail: string;\n checkedInTime: Date;\n}\n\nexport class ReadGuestInput {\n guestID: string;\n eventID: string;\n organizationID: string;\n}\n\nexport class Guest {\n organizationID: string;\n eventID: string;\n guestID: string;\n userID: string;\n registrationID: string;\n bidderNumber: number;\n managingGuestID: string;\n firstName: string;\n lastName: string;\n email: string;\n mobilePhone: string;\n preEventQuestionOneAnswer: boolean;\n preEventQuestionTwoAnswer: boolean;\n preEventQuestionThreeAnswer: boolean;\n purchasedItemPrimaryUserID: string;\n purchasedItemPrimaryGuestID: string;\n}\n\nexport class ReadGuestOutput extends Guest { }\n\nexport class ReadGuestSessionInput {\n guestSessionID: string;\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class ReadGuestSessionOutput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n id: string;\n guestID: string;\n isPreCheckedIn: boolean;\n isCheckInWithManagingGuest: boolean;\n checkedInTime: (Date | null);\n tableAttendeeID: string;\n ticketID: string;\n initialTableName: string;\n initialTableNumber: string;\n}\n\nexport class CheckGuestForClaimedTicketInput {\n organizationID: string;\n eventID: string;\n eventSessionID: string;\n}\n\nexport class CheckGuestForClaimedTicketOutput {\n action: string;\n}\n\nexport class GetMyExperienceTypeInput {\n organizationID?: string;\n eventID?: string;\n\n constructor(\n organizationID?: string,\n eventID?: string,\n ) {\n this.organizationID = organizationID;\n this.eventID = eventID;\n }\n\n fromObject(obj: any): GetMyExperienceTypeInput {\n if (obj === null || obj === undefined) {\n return this;\n }\n\n this.organizationID = obj.organizationID;\n this.eventID = obj.eventID;\n\n return this;\n }\n}\n\nexport class GetMyExperienceTypeOutput {\n experienceType?: string;\n\n constructor(\n experienceType?: string,\n ) {\n this.experienceType = experienceType;\n }\n\n fromObject(obj: any): GetMyExperienceTypeOutput {\n if (obj === null || obj === undefined) {\n return this;\n }\n\n this.experienceType = obj.experienceType;\n\n return this;\n }\n}\n\nexport class ListMyAvailableCreditCardsInput {\n\n constructor(\n organizationID?: string,\n eventID?: string,\n ) {\n this.organizationID = organizationID ?? '';\n this.eventID = eventID ?? '';\n }\n organizationID: string;\n eventID: string;\n\n static fromObject(input: any): ListMyAvailableCreditCardsInput {\n return new ListMyAvailableCreditCardsInput(\n input?.organizationID,\n input?.eventID,\n );\n }\n\n fixClasses(): ListMyAvailableCreditCardsInput {\n return this;\n }\n}\n\nexport class ListMyAvailableCreditCardsOutput {\n\n constructor(\n items?: GuestCreditCardSummary[],\n ) {\n this.items = items ?? [];\n }\n items: GuestCreditCardSummary[];\n\n static fromObject(input: any): ListMyAvailableCreditCardsOutput {\n return new ListMyAvailableCreditCardsOutput(\n input?.items,\n );\n }\n\n convertUnexpectedNulls(): ListMyAvailableCreditCardsOutput {\n if (!this.items) {\n this.items = [];\n }\n return this;\n }\n\n fixClasses(): ListMyAvailableCreditCardsOutput {\n for (let i0 = 0; i0 < this.items.length; i0 += 1) {\n this.items[i0] = GuestCreditCardSummary.fromObject(this.items[i0]).fixClasses();\n }\n return this;\n }\n}\n\nexport class GuestCreditCardSummary {\n\n constructor(\n userCardID?: string,\n guestID?: string,\n firstName?: string,\n lastName?: string,\n cardLastFour?: string,\n ) {\n this.userCardID = userCardID ?? '';\n this.guestID = guestID ?? '';\n this.firstName = firstName ?? '';\n this.lastName = lastName ?? '';\n this.cardLastFour = cardLastFour ?? '';\n }\n userCardID: string;\n guestID: string;\n firstName: string;\n lastName: string;\n cardLastFour: string;\n\n static fromObject(input: any): GuestCreditCardSummary {\n return new GuestCreditCardSummary(\n input?.userCardID,\n input?.guestID,\n input?.firstName,\n input?.lastName,\n input?.cardLastFour,\n );\n }\n\n fixClasses(): GuestCreditCardSummary {\n return this;\n }\n}\n\nexport class MySupporterPurchasedItemsDetailsInput {\n organizationID: string;\n eventID: string;\n paging: PagingInputV3;\n\n constructor(\n organizationID?: string,\n eventID?: string,\n paging?: PagingInputV3,\n ) {\n this.organizationID = organizationID ?? '';\n this.eventID = eventID ?? '';\n this.paging = paging ?? new PagingInputV3();\n }\n\n static fromObject(input: any ): MySupporterPurchasedItemsDetailsInput {\n return new MySupporterPurchasedItemsDetailsInput(\n input?.organizationID,\n input?.eventID,\n input?.guestID,\n );\n }\n\n fixClasses(): MySupporterPurchasedItemsDetailsInput {\n return this;\n }\n}\n\nexport class MySupporterPurchasedItemsDetailsOutput {\n items: ViewSupporterPurchasedItemDetailSummary[];\n paging: PagingOutputV3;\n\n constructor(\n items?: ViewSupporterPurchasedItemDetailSummary[],\n paging?: PagingOutputV3,\n ) {\n this.items = items ?? [];\n this.paging = paging ?? new PagingOutputV3();\n }\n\n static fromObject(input: any ): MySupporterPurchasedItemsDetailsOutput {\n return new MySupporterPurchasedItemsDetailsOutput(\n input?.items,\n input?.paging,\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RequestSigner, Role, SignalingClient } from 'amazon-kinesis-video-streams-webrtc';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\nimport { VirtualEventClientService } from './virtual-event-client.service';\n\nexport class MasterConnection {\n signalingClient: SignalingClient;\n peerConnectionByClientId: { [clientID: string]: RTCPeerConnection };\n localStream: MediaStream;\n peerConnectionStatsInterval: NodeJS.Timeout;\n\n constructor() {\n this.peerConnectionByClientId = {};\n }\n}\n\nexport class ReqSigner implements RequestSigner {\n\n constructor(\n private organizationID,\n private virtualEventID,\n private veClient: VirtualEventClientService\n ) { }\n\n getSignedURL(endpoint: string, queryParams: { [key: string]: string }): Promise {\n let url = endpoint;\n if (queryParams !== {}) {\n const paramsString = Object.entries(queryParams).map((param) => `${param[0]}=${param[1]}`).join('&');\n url = `${url}?${paramsString}`;\n }\n return this.veClient.signSignalingClientConnection(\n this.organizationID,\n this.virtualEventID,\n { wssEndpointURL: url }\n ).pipe(map((signed) => {\n return signed.signedURL;\n })).toPromise();\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VirtualTableMasterService {\n\n private requestSigner: ReqSigner;\n\n private connectionRequested$ = new BehaviorSubject('');\n private connectionFailed$ = new BehaviorSubject('');\n\n constructor(\n private veClient: VirtualEventClientService,\n ) { }\n\n startMaster(organizationID: string, virtualEventID: string, channelARN: string): Observable {\n this.requestSigner = new ReqSigner(organizationID, virtualEventID, this.veClient);\n\n return this.veClient.getConnectionResourcesForChannel(organizationID, virtualEventID, {\n channelARN: channelARN,\n channelRole: Role.MASTER,\n }).pipe(switchMap(async (channelData) => {\n const master = new MasterConnection();\n\n master.signalingClient = new SignalingClient({\n channelARN: channelARN,\n channelEndpoint: channelData.wssEndpointURL,\n role: Role.MASTER,\n region: channelData.awsRegion,\n requestSigner: this.requestSigner,\n });\n\n const iceServers = [];\n iceServers.push({ urls: `stun:stun.kinesisvideo.${channelData.awsRegion}.amazonaws.com:443` });\n if (channelData.iceServerList) {\n channelData.iceServerList.forEach((server) => {\n iceServers.push(server);\n });\n }\n\n const configuration = {\n iceServers: iceServers,\n iceTransportPolicy: 'all',\n };\n\n const constraints = {\n video: { width: { ideal: 640 }, height: { ideal: 400 } },\n audio: true,\n } as MediaStreamConstraints;\n\n // Get a stream from the webcam and display it in the local view.\n // If no video/audio needed, no need to request for the sources.\n // Otherwise, the browser will throw an error saying that either video or audio has to be enabled.\n try {\n master.localStream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (e) {\n console.error('[MASTER] Could not find webcam');\n }\n\n master.signalingClient.on('sdpOffer', async (offer, remoteClientId) => {\n this.connectionRequested$.next(remoteClientId);\n\n // Create a new peer connection using the offer from the given client\n const peerConnection = new RTCPeerConnection(configuration as any);\n master.peerConnectionByClientId[remoteClientId] = peerConnection;\n\n peerConnection.addEventListener('connectionstatechange', (ev) => {\n const connectionState = (ev.currentTarget as RTCPeerConnection).connectionState.toString();\n if (connectionState === 'failed') {\n this.connectionFailed$.next(remoteClientId);\n }\n });\n\n // Send any ICE candidates to the other peer\n peerConnection.addEventListener('icecandidate', ({ candidate }) => {\n if (candidate) {\n // When trickle ICE is enabled, send the ICE candidates as they are generated.\n master.signalingClient.sendIceCandidate(candidate, remoteClientId);\n } else {\n // When trickle ICE is disabled, send the answer now that all the ICE candidates have ben generated.\n master.signalingClient.sendSdpAnswer(peerConnection.localDescription, remoteClientId);\n }\n });\n\n\n // If there's no video/audio, master.localStream will be null. So, we should skip adding the tracks from it.\n if (master.localStream) {\n master.localStream.getTracks().forEach(track => peerConnection.addTrack(track, master.localStream));\n }\n await peerConnection.setRemoteDescription(offer);\n\n // Create an SDP answer to send back to the client\n await peerConnection.setLocalDescription(\n await peerConnection.createAnswer({\n offerToReceiveAudio: false,\n offerToReceiveVideo: false,\n }),\n );\n\n // When trickle ICE is enabled, send the answer now and then send ICE candidates as\n // they are generated. Otherwise wait on the ICE candidates.\n master.signalingClient.sendSdpAnswer(peerConnection.localDescription, remoteClientId);\n });\n\n master.signalingClient.on('iceCandidate', async (candidate, remoteClientId) => {\n // Add the ICE candidate received from the client to the peer connection\n const peerConnection = master.peerConnectionByClientId[remoteClientId];\n peerConnection.addIceCandidate(candidate);\n });\n\n master.signalingClient.on('error', (err) => {\n console.error('[MASTER] Signaling client error: ', err);\n });\n\n master.signalingClient.open();\n\n return master;\n }));\n }\n\n stopMaster(masterConnection: MasterConnection) {\n if (masterConnection.signalingClient) {\n masterConnection.signalingClient.close();\n masterConnection.signalingClient = null;\n }\n\n Object.keys(masterConnection.peerConnectionByClientId).forEach(clientId => {\n masterConnection.peerConnectionByClientId[clientId].close();\n });\n masterConnection.peerConnectionByClientId = {};\n\n if (masterConnection.localStream) {\n masterConnection.localStream.getTracks().forEach(track => track.stop());\n masterConnection.localStream = null;\n }\n\n if (masterConnection.peerConnectionStatsInterval) {\n clearInterval(masterConnection.peerConnectionStatsInterval);\n masterConnection.peerConnectionStatsInterval = null;\n }\n }\n\n getConnectionRequestedSubject() {\n return this.connectionRequested$.asObservable();\n }\n\n getConnectionFailedSubject() {\n return this.connectionFailed$.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Role, SignalingClient } from 'amazon-kinesis-video-streams-webrtc';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\nimport { VirtualEventClientService } from './virtual-event-client.service';\nimport { ReqSigner } from './virtual-table-master.service';\nimport { SignalingClientConfig } from 'amazon-kinesis-video-streams-webrtc/lib/SignalingClient';\n\nexport class ViewConnection {\n signalingClient: SignalingClient;\n peerConnection: RTCPeerConnection;\n remoteStream: MediaStream;\n peerConnectionStatsInterval: NodeJS.Timeout;\n remoteView: HTMLVideoElement;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VirtualTableViewerService {\n\n private reqSigner: ReqSigner;\n private viewerDisconnected$: BehaviorSubject = new BehaviorSubject('');\n\n constructor(\n private veClient: VirtualEventClientService\n ) { }\n\n startViewer(organizationID: string, virtualEventID: string, channelARN: string, clientID?: string): Observable {\n this.reqSigner = new ReqSigner(organizationID, virtualEventID, this.veClient);\n return this.veClient.getConnectionResourcesForChannel(organizationID, virtualEventID, {\n channelARN: channelARN,\n channelRole: Role.VIEWER,\n }).pipe(\n switchMap(async (channelData) => {\n const view = new ViewConnection();\n\n view.signalingClient = new SignalingClient({\n channelARN,\n channelEndpoint: channelData.wssEndpointURL,\n clientId: clientID || 'this-cannot-be-empty',\n role: Role.VIEWER,\n region: channelData.awsRegion,\n requestSigner: this.reqSigner\n } as SignalingClientConfig);\n\n const iceServers: RTCIceServer[] = [\n { urls: `stun:stun.kinesisvideo.${channelData.awsRegion}.amazonaws.com:443` } as RTCIceServer\n ];\n const configuration = {\n iceServers: iceServers,\n iceTransportPolicy: 'all',\n } as RTCConfiguration;\n view.peerConnection = new RTCPeerConnection(configuration);\n\n view.signalingClient.on('open', async () => {\n // Create an SDP offer to send to the master\n let offer: RTCSessionDescriptionInit;\n let errorOccurred = false;\n\n // Attempt to create a peer connection offer\n try {\n offer = await view.peerConnection.createOffer({\n offerToReceiveAudio: true,\n offerToReceiveVideo: true,\n });\n } catch (err) {\n errorOccurred = true;\n console.error('[VIEWER] Peer connection offer creation exception: ', err);\n }\n\n // Set the local description with the new offer\n try {\n await view.peerConnection.setLocalDescription(offer);\n } catch (err) {\n errorOccurred = true;\n console.error('[VIEWER] Peer connection local description setting exception: ', err);\n }\n\n if (!errorOccurred) {\n view.signalingClient.sendSdpOffer(view.peerConnection.localDescription);\n }\n });\n\n view.signalingClient.on('sdpAnswer', async answer => {\n // Add the SDP answer to the peer connection one time only\n if (!view.peerConnection.remoteDescription) {\n console.log('Received an sdpAnswer');\n await view.peerConnection.setRemoteDescription(answer);\n }\n });\n\n view.signalingClient.on('iceCandidate', candidate => {\n // Add the ICE candidate received from the MASTER to the peer connection\n view.peerConnection.addIceCandidate(candidate);\n });\n\n view.signalingClient.on('error', (err) => {\n console.error('[VIEWER] Signaling client error: ', err);\n });\n\n // Send any ICE candidates to the other peer\n view.peerConnection.addEventListener('icecandidate', ({ candidate }) => {\n if (candidate) {\n // When trickle ICE is enabled, send the ICE candidates as they are generated.\n view.signalingClient.sendIceCandidate(candidate);\n } else {\n // When trickle ICE is disabled, send the offer now that all the ICE candidates have been generated.\n view.signalingClient.sendSdpOffer(view.peerConnection.localDescription);\n }\n });\n\n // As remote tracks are received, add them to the remote view\n view.peerConnection.addEventListener('track', event => {\n view.remoteStream = event.streams[0];\n });\n\n view.peerConnection.addEventListener('connectionstatechange', (ev) => {\n const connectionState = (ev.currentTarget as RTCPeerConnection).connectionState.toString();\n if (connectionState === 'failed') {\n this.viewerDisconnected$.next(channelARN);\n }\n });\n\n view.signalingClient.open();\n\n return view;\n })\n );\n }\n\n stopViewer(view: ViewConnection) {\n if (view.signalingClient) {\n view.signalingClient.close();\n view.signalingClient = null;\n }\n\n if (view.peerConnection) {\n view.peerConnection.close();\n view.peerConnection = null;\n }\n\n if (view.remoteStream) {\n view.remoteStream.getTracks().forEach(track => track.stop());\n view.remoteStream = null;\n }\n\n if (view.peerConnectionStatsInterval) {\n clearInterval(view.peerConnectionStatsInterval);\n view.peerConnectionStatsInterval = null;\n }\n\n if (view.remoteView) {\n view.remoteView.srcObject = null;\n }\n }\n\n getDisconnectionSubject() {\n return this.viewerDisconnected$.asObservable();\n }\n}\n","/* This file is generated, do not change manually */\n/* tslint:disable */\n/* eslint-disable */\n/* istanbul ignore file */\n\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthHttpClient, PhaasResponse } from '@onecause/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype TypeWithFieldsOf = Pick\n\n@Injectable()\nexport class GreatfeatsRestService {\n private urlHost = 'env:phaas-greatfeats-api';\n private jwt: string;\n\n constructor(\n private httpClient: HttpClient,\n private authHttpClient: AuthHttpClient\n ) { }\n\n withJWT(jwt: string): GreatfeatsRestService {\n const newService = new GreatfeatsRestService(this.httpClient, this.authHttpClient);\n newService.jwt = jwt;\n return newService;\n }\n\n private getAuthHttpClient(): HttpClient {\n if (this.jwt) {\n return this.httpClient;\n } else {\n return this.authHttpClient;\n }\n }\n\n private getHeaders(): HttpHeaders {\n if (this.jwt) {\n return new HttpHeaders().set('Authorization', 'Bearer ' + this.jwt);\n } else {\n return null;\n }\n }\n\n getParticipants(input: GetParticipantsInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/participants`;\n const headers = this.getHeaders();\n const params = input.getParams();\n return this.httpClient.get>>(url, { params, headers }).pipe(\n map((response: PhaasResponse>) => {\n return response.payload!;\n }),\n // The HttpClient returns an object, not a(n) GetParticipantsOutput instance, so create a class instance from that object\n map((input: TypeWithFieldsOf) => {\n return new GetParticipantsOutput(input).fixClasses();\n }),\n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input: GetParticipantsOutput) => {\n return input.convertUnexpectedNulls();\n }),\n );\n }\n\n getParticipantsLeaderboard(input: GetParticipantsLeaderboardInput): Observable {\n const url = `${this.urlHost}/organizations/${input.organizationID}/events/${input.eventID}/participants-leaderboard`;\n const headers = this.getHeaders();\n return this.httpClient.get>>(url, { headers }).pipe(\n map((response: PhaasResponse>) => {\n return response.payload!;\n }),\n // The HttpClient returns an object, not a(n) GetParticipantsLeaderboardOutput instance, so create a class instance from that object\n map((input: TypeWithFieldsOf) => {\n return new GetParticipantsLeaderboardOutput(input).fixClasses();\n }),\n // Go slices and maps may serialize as null, so if they do, convert them to empty arrays/objects\n map((input: GetParticipantsLeaderboardOutput) => {\n return input.convertUnexpectedNulls();\n }),\n );\n }\n}\n\nexport class GetParticipantResult {\n participantID: string;\n name: string;\n\n constructor({\n participantID,\n name,\n }: Partial> = {}) {\n this.participantID = participantID ?? \"\";\n this.name = name ?? \"\";\n }\n\n fixClasses(): GetParticipantResult {\n return this;\n }\n}\n\nexport class GetParticipantsInput {\n organizationID: string;\n eventID: string;\n searchText: string;\n\n constructor({\n organizationID,\n eventID,\n searchText,\n }: Partial> = {}) {\n this.organizationID = organizationID ?? \"\";\n this.eventID = eventID ?? \"\";\n this.searchText = searchText ?? \"\";\n }\n\n getParams(): HttpParams {\n let params = new HttpParams();\n params = this.searchText ? params.set('searchText', this.searchText.toString()) : params;\n return params;\n }\n\n fixClasses(): GetParticipantsInput {\n return this;\n }\n}\n\nexport class GetParticipantsLeaderboardInput {\n organizationID: string;\n eventID: string;\n\n constructor({\n organizationID,\n eventID,\n }: Partial> = {}) {\n this.organizationID = organizationID ?? \"\";\n this.eventID = eventID ?? \"\";\n }\n\n fixClasses(): GetParticipantsLeaderboardInput {\n return this;\n }\n}\n\nexport class GetParticipantsLeaderboardOutput {\n getParticipantsLeaderboardResultList: LeaderboardParticipant[];\n\n constructor({\n getParticipantsLeaderboardResultList,\n }: Partial> = {}) {\n this.getParticipantsLeaderboardResultList = getParticipantsLeaderboardResultList ?? [];\n }\n\n convertUnexpectedNulls(): GetParticipantsLeaderboardOutput {\n if (!this.getParticipantsLeaderboardResultList) {\n this.getParticipantsLeaderboardResultList = [];\n }\n return this;\n }\n\n fixClasses(): GetParticipantsLeaderboardOutput {\n for (let i0 = 0; i0 < this.getParticipantsLeaderboardResultList.length; i0 += 1) {\n this.getParticipantsLeaderboardResultList[i0] = new LeaderboardParticipant(this.getParticipantsLeaderboardResultList[i0]!).fixClasses();\n }\n return this;\n }\n}\n\nexport class GetParticipantsOutput {\n getParticipantResultList: GetParticipantResult[];\n\n constructor({\n getParticipantResultList,\n }: Partial> = {}) {\n this.getParticipantResultList = getParticipantResultList ?? [];\n }\n\n convertUnexpectedNulls(): GetParticipantsOutput {\n if (!this.getParticipantResultList) {\n this.getParticipantResultList = [];\n }\n return this;\n }\n\n fixClasses(): GetParticipantsOutput {\n for (let i0 = 0; i0 < this.getParticipantResultList.length; i0 += 1) {\n this.getParticipantResultList[i0] = new GetParticipantResult(this.getParticipantResultList[i0]!).fixClasses();\n }\n return this;\n }\n}\n\nexport class LeaderboardParticipant {\n name: string;\n donationAmount: number;\n\n constructor({\n name,\n donationAmount,\n }: Partial> = {}) {\n this.name = name ?? \"\";\n this.donationAmount = donationAmount ?? 0;\n }\n\n fixClasses(): LeaderboardParticipant {\n return this;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export default \"
\\n \\n \\n
\\n\";","export default \"
\\n
EVENT PROGRAM
\\n
\\n
\\n
{{ event.liveAuctionPreviewTabTitle || 'Live Auction Preview' }}
\\n arrow_forward_ios\\n
\\n
\\n
{{ event.silentAuctionTabTitle || 'Silent Auction' }}
\\n
{{silentAuctionCountdown}}
\\n arrow_forward_ios\\n
\\n
\\n
{{ event.raffleTabTitle || 'Raffle' }}
\\n
{{raffleCountdown}}
\\n arrow_forward_ios\\n
\\n
\\n
{{ event?.supportSectionHeaderTitle || 'Support Our Cause' }}
\\n arrow_forward_ios\\n
\\n
\\n
{{ event?.fixedPriceItemTabTitle || 'Shop Items' }}
\\n arrow_forward_ios\\n
\\n
\\n
\";","export default \"
\\n \\n \\n
\\n\\n\\n
\\n
RECOGNITION
\\n Is this in support of an ambassador in \\n {{event.name}}?\\n \\n\\n \\n\\n search\\n\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n {{option.name}}\\n \\n\\n \\n No ambassadors found\\n \\n \\n \\n\\n \\n \\n
\\n
\\n\\n\\n \\n
\\n Ambassador {{this.selectedAmbassador.name}} will\\n receive credit from {{event.name}}\\n activity.\\n
\\n
\\n Remove\\n
\\n
\\n
\";","export default \"
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n\";","export default \"
\\n \\n
1)\\\">\\n \\n\\n \\n
\\n
\\n\\n
\\n \\n
1)\\\">\\n \\n\\n \\n
\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n \\n
\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n timer\\n
\\n
\\n
\\n
\\n \\n
\\n \\n View By Category\\n \\n All\\n \\n {{ category }}\\n \\n \\n \\n Sort By Type\\n \\n None\\n Most Bids\\n Least Bids\\n Highest % to value\\n \\n Lowest % to value\\n \\n Highest Current Bid\\n Lowest Current Bid\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n Your filter has resulted in no lots.\\n
\\n
\\n
\\n \\n
\\n SOLD! This item has been added to your cart.\\n
\\n
\\n
\\n
\\n \\n
\\n emoji_events\\n New Winning Bidder!\\n
\\n
\\n Do you want to set a max bid?\\n
\\n
\\n
\\n
\\n \\n
\\n Sorry! You have been outbid by someone else's max bid! Please try again.\\n
\\n
\\n
\\n
\\n \\n Current Max Bid:\\n {{ lotGroup.userActiveBidLimitAmountCents >= lotGroup.bidValueCents ?\\n (lotGroup.userActiveBidLimitAmountCents / 100 | coreCurrency) : 'None' }}\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n 1 ||\\n (!lotGroup.lot.primaryPhotoURL && lotGroup.itemPhotoCount > 0)\\\" [hasLargeSlider]=\\\"true\\\">\\n \\n
ITEMS SOLD
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n {{ lotGroup.categories }}\\n
\\n
{{ lotGroup.lot.name }}
\\n
\\n \\n
\\n
\\n
\\n
Your Last Bid:
\\n
\\n {{lotGroup.userLastBidAmountCents / 100 | coreCurrency}}\\n
\\n
\\n
\\n
\\n \\n
Current Winning Bid:
\\n
\\n {{lotGroup.lot.topBidAmountCents / 100 | coreCurrency}}\\n
\\n
\\n \\n
Bought For:
\\n
\\n {{lotGroup.lot.topBidAmountCents / 100 | coreCurrency}}\\n
\\n
\\n
Be the first bidder!
\\n
\\n
\\n emoji_events\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
0\\\" class=\\\"auction-lot__description_expanded\\\">\\n Donated by {{ lotGroup.itemDonors }}\\n
\\n
\\n {{ lotGroup.truncatedDescription }}\\n
\\n
\\n {{ lotGroup.fullDescription }}\\n
\\n
\\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n Current Max Bid:\\n
\\n
\\n {{ lotGroup.userActiveBidLimitAmountCents >= lotGroup.bidValueCents ?\\n (lotGroup.userActiveBidLimitAmountCents / 100 | coreCurrency) : 'None' }}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
Estimated Value:
\\n
\\n {{!lotGroup.estimatedValueCents ? 'Priceless' : (lotGroup.estimatedValueCents / 100 |\\n coreCurrency)}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
Your Last Bid:
\\n
\\n {{lotGroup.userLastBidAmountCents / 100 | coreCurrency}}\\n
\\n
\\n
\\n
\\n \\n
\\n {{lotGroup.lot.topBidAmountCents / 100 | coreCurrency}}\\n
\\n
  current winning bid
\\n
\\n \\n
Bought For:
\\n
\\n {{lotGroup.lot.topBidAmountCents / 100 | coreCurrency}}\\n
\\n
\\n
Be the first bidder!
\\n
\\n
\\n emoji_events\\n
\\n
\\n
\\n
{{ lotGroup.lot.name }}
\\n
\\n 1 ||\\n (!lotGroup.lot.primaryPhotoURL && lotGroup.itemPhotoCount > 0)\\\" [hasLargeSlider]=\\\"true\\\">\\n \\n
ITEMS SOLD
\\n
\\n
\\n
\\n {{ lotGroup.truncatedDescription }}\\n
\\n
\\n {{ lotGroup.fullDescription }}\\n 0\\\">\\n
\\n Donated by {{ lotGroup.itemDonors }}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n Current Max Bid:\\n
\\n
\\n {{ lotGroup.userActiveBidLimitAmountCents >= lotGroup.bidValueCents ?\\n (lotGroup.userActiveBidLimitAmountCents / 100 | coreCurrency) : 'None' }}\\n
\\n
\\n
\\n
\\n \\n edit\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
Estimated Value:
\\n
\\n {{!lotGroup.estimatedValueCents ? 'Priceless' : (lotGroup.estimatedValueCents / 100 | coreCurrency)}}\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n Loading more items...\\n
\\n \\n
\\n
\";","export default \"\\n\\n\";","export default \"
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n
\\n {{!event.requireDonationDuringRegistration ? 'OPTIONAL' : ''}} DONATION\\n
\\n \\n \\n
\\n
\\n A minimum donation of {{presetDonationAmountsDollars[0] | coreCurrency}} is required to register for the\\n event.\\n
\\n
\\n Donation is invalid.\\n
\\n
\\n
\\n
\\n \\n \\n
\\n Credit card information is invalid.\\n
\\n
\\n \\n
Save credit card to profile
\\n
\\n
\\n Save this card to your profile to make donating and bidding easier during the event.\\n
\\n
\\n
\\n
\\n
\\n Cancel\\n
\\n \\n \\n
\\n
\";","export default \"
\\n \\n \\n
\\n
\\n Cancel\\n
\\n \\n
\\n
\";","export default \"
\\n \\n \\n
\\n \\n
\\n
\";","export default \"
\\n
\\n \\n \\n \\n First Name is required.\\n \\n \\n \\n \\n \\n Last Name is required.\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n Phone is required.\\n \\n \\n Phone is invalid.\\n \\n \\n\\n
\\n \\n \\n \\n Street Address is required.\\n \\n \\n
\\n \\n \\n \\n City is required.\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n {{ getZipCodeLabel() }} is required.\\n \\n \\n {{ getZipCodeLabel() }} is invalid.\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n\\n \\n \\n \\n
*Required Field
\\n \\n
\\n
\\n Cancel\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n \\n \\n
\\n
\\n
\\n Cancel\\n
\\n \\n
\\n
\\n\\n\\n
\\n Email already exists  \\n \\n
\\n
\";","export default \"
\\n\\t
\\n\\t\\t\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n\\t\\n\\t\\n
\";","export default \"
\\n
{{ title }}
\\n

\\n
\\n \\n \\n
\\n
\";","export default \"
\\n \\n
\\n {{ customCoverCostMessage }}\\n \\n I'd like to help cover the organization's processing fees for my purchase.\\n \\n
\\n \\n {{ coverCostAmountCents / 100 | coreCurrency }} will be added to your total.\\n \\n
\\n
\";","export default \"
\\n
Enter Credit Card Info
\\n
\\n In order to streamline the donation and bidding process, enter your card now and we'll save it for checkout\\n later.\\n
\\n \\n \\n
\\n
\\n \\n No Thank You\\n \\n \\n Enter Info\\n \\n
\\n
\\n
\";","export default \"
\\n
\\n
Edit Profile
\\n \\n close\\n \\n
\\n
\\n
\\n \\n \\n \\n First Name is required.\\n \\n \\n {{ errorMsgNonWhiteSpace }}\\n \\n \\n \\n \\n \\n Last Name is required.\\n \\n \\n {{ errorMsgNonWhiteSpace }}\\n \\n \\n \\n \\n \\n Mobile Phone is required.\\n \\n \\n Mobile Phone is invalid.\\n \\n \\n
\\n \\n \\n \\n Address is required.\\n \\n \\n {{ errorMsgNonWhiteSpace }}\\n \\n \\n
\\n \\n \\n \\n City is required.\\n \\n \\n {{ errorMsgNonWhiteSpace }}\\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n {{ getZipCodeLabel() }} is required.\\n \\n \\n {{ errorMsgNonWhiteSpace }}\\n \\n \\n {{ getZipCodeLabel() }} is invalid.\\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n *Required Field\\n
\\n
\\n
\\n \\n Cancel\\n \\n \\n
\\n
\\n
\\n By updating this information, you are updating your information for all events.\\n
\\n \\n
\\n
\";","export default \"
\\n \\n
{{ event.name }}
\\n
\";","export default \"
\\n \\n
\\n\\n
\\n
\\n Confirm Purchase\\n
\\n
\\n {{quantity}} {{impact.name}} for {{(impact.amountCents * quantity) / 100 | coreCurrency}}\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n {{ statusDetails.icon }}\\n
\\n
\\n {{ statusDetails.heading }}\\n
\\n
\\n \\n {{ statusDetails.subheading }}\\n \\n {{ statusDetails.phone }}\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n \\n
Sold Out
\\n
\\n
\\n sell\\n\\n
\\n\\n
\\n
{{getProgressText()}}
\\n
\\n\\n
\\n {{impact.amountCents / 100 | coreCurrency}} - {{impact.name}}
\\n
\\n {{(showFullDescription) ? impact.descriptionMarkdown : shortenDescription()}}\\n
Read More
\\n
Read Less
\\n
\\n
\\n
\\n
Estimated Value:\\n {{!impact?.fixedPriceItem?.valueCents ? 'Priceless' : (impact?.fixedPriceItem?.valueCents / 100 | coreCurrency)}}\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
Quantity
\\n \\n
\\n \\n Item quantity is required\\n \\n \\n Item quantity must be at least 1\\n \\n \\n Item quantity must be less than {{maxQuantity + 1}}\\n \\n \\n Invalid item quantity\\n \\n
\\n
SOLD OUT
\\n \\n
\\n \\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n\\n\\n
\\n check_circle\\n
\\n\\n
\";","export default \"
\\n
\\n
\\n\\n \\n
\\n\\n
\\n
\\n\\n
\\n
\\n Loading more items...\\n
\\n \\n
\";","export default \"
\\n
\\n
Please register and login to join the game.
\\n
\\n \\n \\n \\n
\";","export default \"
\\n \\n\\n
\\n I will be:\\n
\\n \\n Not sure\\n \\n Watching\\n from home\\n \\n \\n Attending a watch party\\n Attending\\n at the venue\\n \\n \\n\\n
\";","export default \"
\\n
\\n
\\n
\\n \\n
\\n
\\n {{impact.amountCents / 100 | coreCurrency}} - {{impact.name}}
\\n
\\n {{(showFullDescription) ? impact.descriptionMarkdown : shortenDescription()}}\\n
Read More
\\n
Read Less
\\n
\\n
\\n
{{getProgressText()}}
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
Donate Anonymously
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n \\n Donation cannot be less than the suggested amount.\\n \\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n
\\n\\n\\n
\\n check_circle\\n
\\n\\n
\";","export default \"
\\n
\\n \\n
\\n
\";","export default \"
\\n \\n
\\n
\\n menu\\n
\\n
\\n {{event?.name}}\\n
\\n
\\n
\\n JOIN US\\n
\\n
\\n videocam\\n videocam_off\\n
\\n\\n
\\n shopping_cart\\n
\\n
\\n account_circle\\n
\\n
\\n
\\n
\\n\\n
\";","export default \"
\\n \\n
\\n \\n
\\n\\n
\\n {{ (donationAmountCents/100 | coreCurrency) }} ONE TIME GIFT\\n
\\n\\n \\n \\n\\n
\\n \\n One Time Gift\\n $ \\n \\n \\n Please enter a value equal to or greater than 1.\\n \\n \\n An amount is required.\\n \\n \\n
\\n\\n \\n
Donate Anonymously
\\n
\\n\\n
\\n \\n
\\n\\n \\n\\n
\\n
\\n CANCEL\\n
\\n
\\n\\n \\n \\n
\";","export default \"
\\n
\\n arrow_back_ios\\n
VIEW OTHER ITEMS
\\n
\\n\\n
\\n
{{activeLot?.name}}
\\n
\\n 1\\\">\\n \\n
\\n
\\n gavel\\n
\\n Preparing Next Item\\n .\\n .\\n .\\n
\\n
\\n
\\n\\n
\\n
\\n
LOT #{{activeLot?.lotOrder}}
\\n
{{activeLot?.name}}
\\n
\\n\\n
\\n 1\\\">\\n \\n
\\n\\n
\\n {{auctionService.getCurrentBidLabel()}}:\\n {{auctionService.getCurrentBid()}}\\n
\\n\\n
\\n
\\n
\\n remove\\n
\\n
\\n BID {{ bidValueCents / 100 | coreCurrency }}\\n
\\n
\\n add\\n
\\n
\\n
\\n
\\n
\\n CONFIRM BID: {{ bidValueCents / 100 | coreCurrency }}\\n
\\n
\\n close\\n
\\n
\\n
\\n\\n
\\n
\\n star\\n star\\n
\\n
\\n
LEADING BIDDER!
\\n
Stay on target! Stay on target!
\\n
\\n
\\n star\\n star\\n
\\n
\\n\\n
\\n Estimated Value:\\n \\n {{!auctionService.activeLotEstimatedValueCents ? 'Priceless' :\\n (auctionService.activeLotEstimatedValueCents / 100 | coreCurrency)}}\\n \\n
\\n
\\n Donated By:\\n \\n {{auctionService?.activeLotItemDonors }}\\n \\n
\\n
\\n Description:\\n
\\n {{ activeLot?.description }}\\n
\\n
\\n
\\n\\n
\\n
\\n
Thank you!
\\n
\\n
\\n star\\n star\\n
\\n
{{ auctionService.getLeadingBidderDisplayName() }}
\\n
\\n star\\n star\\n
\\n
\\n
\\n
\\n
BIDDING CLOSED
\\n
\\n\\n
{{activeLot?.name}}
\\n
\\n 1\\\">\\n \\n
\\n\\n
\\n
Up Next:
\\n {{ nextLot?.name }}\\n
\\n
\\n
\";","export default \"
\\n\\n
\\n
\\n • LIVE\\n
\\n
\\n
\\n check_circle\\n
\\n
\\n
\\n
{{bannerProperties.headerText}}
\\n
\\n
\\n
\\n {{bannerProperties.subheaderText}}
\\n
\\n
\\n
\\n {{bannerProperties.iconType}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\";","export default \"
\\n
\\n
\\n shopping_cart\\n
Shopping Cart
\\n
\\n
\\n
\\n confirmation_number\\n
\\n
\\n
My Tickets
\\n
\\n
\\n account_circle\\n
My Profile
\\n
\\n
\\n account_circle\\n
Login
\\n
\\n
\\n
\\n
\\n Home\\n
\\n \\n
\\n
{{ event.storyTabTitle || 'Story' }}
\\n \\n
\\n
\\n
{{ event.liveAuctionPreviewTabTitle || 'Live Auction Preview' }}
\\n \\n
\\n
\\n
{{ event.silentAuctionTabTitle || 'Silent Auction' }}
\\n \\n
\\n
\\n
{{ event.raffleTabTitle || 'Raffle' }}
\\n \\n
\\n
\\n
{{ event?.supportSectionHeaderTitle || 'Support Our Cause' }}
\\n \\n
\\n
\\n
{{ event?.fixedPriceItemTabTitle || 'Shop Items' }}
\\n \\n
\\n
\\n
{{ event.gameTabTitle || 'Game' }}
\\n \\n
\\n
\\n
Chat
\\n \\n
\\n
\\n\\n \\n\\n \\n
\";","export default \"
\\n \\n
\";","export default \"
\\n\\t
\\n\\t\\t\\n\\t\\t
\\n\\t\\t\\t\\\"OneCause\\n\\t\\t
\\n\\t
\\n\\t\\n\\t\\n
\";","export default \"
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\";","export default \"
\\n \\n \\n refresh\\n \\n\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n \\n \\n \\n Name\\n \\n \\n {{ row.name }}\\n \\n \\n \\n \\n Amount\\n \\n \\n {{ row.donationAmount | coreCurrency }}\\n \\n \\n \\n \\n \\n\\n\\n\\n \\n\\n\\n\\n \\n\\n\";","export default \"
\\n
\\n
\\n Select an emoji and confirm your gift\\n
\\n
\\n \\n
\\n
\\n
\";","export default \"
\\n
\\n \\n
\\n
\\n
Please register and login to join us in chat.
\\n
\\n
\\n
Uh oh! Something went wrong.
\\n
Please check back in a few minutes.
\\n
\\n
\\n
You're in the right place, the host hasn't enabled chat yet. Check back shortly.
\\n
\\n
\";","export default \"
\\n
Please Log In
\\n \\n \\n
\";","export default \"
\\n \\n
Sign in with email and password
\\n
\\n \\n \\n \\n Email is required.\\n \\n \\n Email is invalid.\\n \\n \\n \\n \\n \\n Password is required.\\n \\n \\n\\n
*Required Field
\\n \\n
\";","export default \"
\\n
\\n \\n \\n \\n \\n sticky_note_2\\n \\n {{ storyTitle }}\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n {{ liveAuctionPreviewTitle }}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ silentAuctionTitle }}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n sell\\n \\n {{ fixedPriceTitle }}\\n \\n \\n \\n \\n \\n \\n \\n \\n confirmation_number\\n \\n {{ raffleTitle }}\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n grid_on\\n \\n {{ gameTitle }}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n emoji_events\\n \\n {{ leaderboardTitle }}\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n expand_more\\n
\\n
\\n Order Summary\\n
\\n
\\n
\\n
0\\\">\\n Group Tickets\\n
\\n
\\n
\\n
\\n
\\n
\\n {{ (selection.value.quantity / selection.value.quantityPerGroup) }}\\n x\\n {{ selection.value.type.name }}\\n
\\n
\\n {{ getSelectionPrice(selection.value) | coreCurrency: 2 }}\\n
\\n
\\n \\n {{ selection.value.quantity }} tickets\\n \\n
\\n
\\n
\\n
0\\\">\\n Individual Tickets\\n
\\n
\\n
\\n
\\n
\\n
\\n {{ selection.value.quantity }}\\n x\\n {{ selection.value.type.name }}\\n
\\n
\\n {{ getSelectionPrice(selection.value) | coreCurrency: 2 }}\\n
\\n
\\n \\n {{ selection.value.quantity > 1 ? selection.value.quantity + ' tickets' : selection.value.quantity + ' ticket' }}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Subtotal\\n
\\n
\\n {{ getSubtotal() | coreCurrency: 2 }}\\n
\\n
\\n
\\n 0\\\">\\n {{ getTotalTickets() > 1 ? getTotalTickets() + ' tickets' : getTotalTickets() + ' ticket' }}\\n \\n
\\n
\\n
\\n Fees\\n
\\n
\\n {{ getFees() | coreCurrency: 2 }}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Total\\n
\\n
\\n {{ getTotal() | coreCurrency: 2 }}\\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n
\\n
Subtotal
\\n
{{ subtotal | coreCurrency: 2 }}
\\n
\\n
\\n
Cover Costs*
\\n
{{ coverCosts | coreCurrency: 2 }}
\\n
\\n
\\n
Total
\\n
{{ (+subtotal + ( showCoverCosts ? +coverCosts : 0 )) | coreCurrency: 2 }}
\\n
\\n
\\n
\\n
\";","export default \"
\\n expand_less\\n \\n \\n
\";","export default \"
\\n
\\n
\\n
\\n \\\"Event\\n
\\n
\\n {{event?.name}}\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n shopping_cart\\n
\\n
\\n confirmation_number\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n
{{ auction.getCurrentBid() }}
\\n
\\n star\\n Thank you!\\n star\\n
\\n
{{ auction.getLeadingBidderDisplayName() }}
\\n
\\n
\\n
\\n
\\n
{{(activeLot | async)?.name}}
\\n
\\n 1\\\">\\n \\n
\\n
\\n
\\n gavel\\n
\\n Preparing Next Item..\\n .\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
-
\\n
Decrease My Bid
\\n
\\n
\\n
+
\\n
Increase My Bid
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n star\\n star\\n
\\n
\\n
LEADING BIDDER!
\\n
Stay on target! Stay on target!
\\n
\\n
\\n star\\n star\\n
\\n
\\n
\\n
\\n
Up Next:
\\n
{{(nextLot | async)?.name}}
\\n
\\n
\\n
\\n
\\n Bidding as: \\n {{getBidderName()}}\\n
\\n
\";","export default \"
\\n
\\n
{{event.name}}
\\n
\\n {{formattedDate}}
\\n {{formattedTime}}\\n
\\n
{{event.registrationBlurb}}
\\n
\\n
\\n \\n \\n
\\n warning Please make a donation of at least $1.\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n\\n\\n \\n \\n
\\n
\\n {{ name }} x{{ quantity }}\\n \\n \\n
\\n Lot {{ subheader }}
\\n
\\n Fixed Price
\\n
\\n
\\n
\\n {{ totalCents / 100 | coreCurrency:2 }}\\n
\\n
\\n
\\n\\n\\n
\\n
Items In Lot
\\n
\\n
\\n
\\n {{ lotItem.itemName }}\\n
\\n
\\n
\\n schedule\\n Later Only\\n
\\n
x{{ lotItem.quantity }}
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n \\n \\n event_available At Event\\n \\n \\n schedule Later\\n \\n \\n
\\n
\";","export default \"
\\n
\\n
\\n \\n \\n \\n {{ slot.openTime | date:'h:mm' }} - {{ slot.closeTime | date:'h:mm aaa' }}\\n \\n 0\\\">\\n {{ slot.selectedCount }} person in this window\\n 1\\\">{{ slot.selectedCount }} people in this window\\n \\n \\n \\n
\\n \\n
\";","export default \"
\\n
\\n
\\n
\\n
\\n
\\n
{{raisedAmount | coreCurrency}} RAISED
\\n
0\\\">GOAL: {{goalAmount | coreCurrency}}
\\n
\\n
\";","export default \"
\\n
\\n {{ data.icon ?? 'shopping_cart' }}\\n {{ data.message }}\\n
\\n \\n {{ data.actionText }}\\n \\n
\";","export default \"
\\n
{{raffle.name}}
\\n
\\n \\n
\\n
\\n
{{getDescription()}}
\\n
\\n \\n
\\n
\\n
\\n
\\n
{{getPurchaseLevelText(purchaseLevel)}}
\\n
\\n \\n
\\n \\n remove_circle\\n \\n \\n \\n add_circle\\n \\n
\\n
\\n {{getQuantityCalculation(purchaseLevel)}}\\n
\\n \\n {{getErrorMessageText(purchaseLevel)}}\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
Raffle tickets have sold out.
\\n
Raffle ticket sales will open on {{getRaffleStartTime()}}.
\\n
Raffle ticket sales have closed.
\\n
\\n
\\n Tickets sold: {{totalTicketsCount | number}}\\n
\\n
\";","export default \"
0\\\">\\n
\\n Thank you for donating!\\n
\\n
\\n
\\n {{ name | titlecase }}\\n
\\n
\\n
\";","export default \"
\\n\\t
Recurring Donation
\\n\\n\\t
\\n\\t\\t
{{event.recurringDonationPeriod | titlecase}} Recurring Donation
\\n\\t\\t
{{donationAmountCents / 100 | coreCurrency }}
\\n\\t
\\n\\n\\t

Payment Info

\\n\\t
\\n\\t\\t
\\n\\t\\t\\tItems will be charged to your card on file.\\n\\t\\t
\\n\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ userCard?.CardLastFour }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n\\n\\t
\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
\\n\\n\\t
\\n\\t\\t\\n\\t\\t\\n\\t
\\n\\n\\t
\\n\\t\\t\\n\\n\\t\\t\\n\\t
\\n
\";","export default \"
\\n
\\n
\\n
\\n Login\\n Buy Tickets\\n {{sharedCart ? 'Event Purchases' : 'Shopping Cart'}}\\n Ticket Manager\\n Ticket Purchase\\n
\\n
{{ event?.name }}
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\";","export default \"
\\n \\n \\n\\n
\\n \\n
\\n
\";","export default \"
\\n shopping_cart\\n \\n
\\n
\\n
\\n\\n \\n \\n
Donation
\\n
{{ item.amountCents / 100 | coreCurrency }}
\\n
\\n\\n \\n \\n
Appeal Donation
\\n
{{ item.amountCents / 100 | coreCurrency }}
\\n
\\n\\n \\n \\n
\\n
{{ impacts[item.impactID]?.name }}
\\n
Donation
\\n
\\n
\\n {{ item.amountCents / 100 | coreCurrency }}\\n
\\n
\\n\\n \\n \\n
\\n
{{ fixedPriceItems[item.fixedPriceItemID]?.name }}
\\n
Fixed Price
\\n
\\n
\\n {{ item.amountCents / 100 | coreCurrency }}\\n
\\n
\\n\\n \\n \\n
\\n
{{ item.raffleDetails?.raffleName }}
\\n
\\n {{ item.raffleDetails?.quantityTickets }} Raffle Ticket 1\\\">s\\n
\\n
\\n
\\n {{ item.amountCents / 100 | coreCurrency }}\\n
\\n
\\n\\n \\n \\n
\\n
{{ lots[item.lotID]?.name }}
\\n
Auction Item
\\n
\\n
\\n {{ item.amountCents / 100 | coreCurrency }}\\n
\\n
\\n
\\n
\\n
\\n
Your cart is empty
\\n
\\n
\\n
0\\\">\\n
Cart Total
\\n
{{ cartTotalCents / 100 | coreCurrency }}
\\n
\\n
\\n \\n
\\n
\\n
\";","export default \"\\n
\\n GIVE {{ giveAtAnyLevelActive ? 'NOW' : (appealAmount / 100 | coreCurrency) }}\\n
\\n
\\n CLICK TO DONATE\\n
\\n\\n\";","export default \"\\n\\n\\n
\\n\\n
\\n
\\n {{ appealAmount / 100 | coreCurrency }}\\n
\\n
One Time Gift
\\n
\\n
\\n \\n One Time Gift\\n \\n \\n \\n Please enter a value equal to or greater than 1.\\n \\n \\n An amount is required.\\n \\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n
\\n {{ appealAmount / 100 | coreCurrency }}\\n
\\n
One Time Gift
\\n
\\n
\\n \\n One Time Gift\\n \\n \\n \\n Please enter a value equal to or greater than 1.\\n \\n \\n An amount is required.\\n \\n \\n
\\n\\n \\n
Donate Anonymously
\\n
\\n Confirm Donation\\n \\n
\\n
\\n\";","export default \"
\\n \\n {{donor.firstName}} {{donor.lastName}}\\n \\n
\";","export default \"
\\n \\n \\n \\n \\n \\n \\n
\\n\";","export default \"
\\n
\\n \\n
\\n
\\n
\\n {{(lot | async)?.name}}\\n
\\n
\\n
\\n \\n JOIN AUCTION\\n \\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n
\\n
\\n {{ (activeLot | async)?.name }}
\\n
\\n
\\n star\\n star\\n
\\n
{{ auction.getLeadingBidderDisplayName(true) }}
\\n
\\n star\\n star\\n
\\n
\\n
\\n
\\n
\\n 1\\\">\\n \\n
\\n
\\n
\\n
New Leading Bidder
\\n
{{ auction.getLeadingBidderDisplayName(true) }}
\\n
\\n
{{ auction.getCurrentBid() }}
\\n
\\n
{{ auction.getCurrentBidLabel() }}
\\n
\\n
\\n gavel\\n
\\n
\\n Preparing Next Item...\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n star\\n star\\n
\\n
\\n
LEADING BIDDER!
\\n
Stay on target! Stay on target!
\\n
\\n
\\n star\\n star\\n
\\n
\\n
\\n
\\n
\\n
Up Next:
\\n
\\n
\\n
{{ (nextLot | async)?.name }}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Bidding as {{getBidderName()}}\\n
\\n
\\n\";","export default \"\\n \\n \\n
\\n
\\n \\n \\n
\";","export default \"\\n\";","export default \"\\n\\n \\n \\n\";","export default \"
\\n

DONATION DOCK

\\n
\\n
Select gift amount
\\n
\\n
\\n {{ amount / 100 | coreCurrency }}\\n
\\n
\\n OTHER\\n
\\n
\\n \\n \\n A donation amount is\\n required.\\n \\n
\\n
\\n DONATE\\n arrow_forward_ios\\n
\\n
\\n\";","export default \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\";","export default \"
\\n
Rotate device to interact with Show.
\\n screen_rotation\\n
\";","export default \"
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
Please join us LIVE on
\\n
{{formattedDate}}
\\n
{{formattedTime}}
\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\";","export default \"
\\n \\n
OR
\\n
\\n \\n \\n \\n First Name is required.\\n \\n \\n \\n \\n \\n Last Name is required.\\n \\n \\n \\n \\n \\n Email is required.\\n \\n \\n Email is invalid.\\n \\n \\n You already have an account. Please sign in.\\n \\n \\n \\n \\n \\n \\n {{ showPassword ? 'visibility_off' : 'visibility'}}\\n \\n \\n \\n This password doesn't meet the requirements.\\n \\n \\n Password is required.\\n \\n \\n
\\n

Your password must:

\\n
    \\n
  • \\n - Be at least 8 characters long\\n check_circle\\n
  • \\n
\\n

\\n Include characters from 3 of these 4 groups:\\n

\\n
    \\n
  • \\n - Uppercase letters\\n check_circle\\n
  • \\n
  • \\n - Lowercase letters\\n check_circle\\n
  • \\n
  • \\n - Numbers\\n check_circle\\n
  • \\n
  • \\n - Special characters (!, @, #, etc.)\\n check_circle\\n
  • \\n
\\n
\\n
\\n \\n \\n \\n Phone is required.\\n \\n \\n Phone is invalid.\\n \\n \\n
\\n By providing your phone number while registering for this event, you agree to receive text\\n message notifications from OneCause on behalf of {{ org?.name }}. This will allow us to reach\\n you with event/campaign announcements and updates regarding\\n your activity. Message frequency may vary depending on activity. Message and data rates may\\n apply. Text STOP to cancel and HELP for assistance.\\n
\\n
\\n\\n
\\n \\n \\n \\n Street Address is required.\\n \\n \\n
\\n \\n \\n \\n City is required.\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n {{ getZipCodeLabel() }} is required.\\n \\n \\n {{ getZipCodeLabel() }} is invalid.\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n\\n
*Required Field
\\n \\n
\";","export default \"
\\n \\n \\n
\\n \\n
\\n
\\n\\n \\n
\\n \\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n
{{mappedTicketOption.ticketOption.prompt}}
\\n
\\n \\n \\n \\n \\n Answer is required.\\n \\n \\n You cannot answer with only spaces.\\n \\n \\n \\n \\n
\\n \\n \\n \\n None\\n \\n \\n {{choice.promptChoice}}\\n \\n \\n \\n Answer is required.\\n \\n \\n
\\n
\\n \\n \\n \\n \\n {{mappedTicketOption.selectionText}}\\n \\n {{choice.promptChoice}}\\n \\n \\n \\n At least one answer is required.\\n \\n \\n \\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n \\n \\n \\n First name is required.\\n \\n \\n \\n \\n \\n Last name is required.\\n \\n \\n
\\n \\n \\n
\";","export default \"
\\n
Almost done! Who else is coming?
\\n
Add an email to each ticket, and we'll send a link to claim that ticket.
\\n
\\n
{{ticket.type.name}}
\\n \\n \\n
\\n
\";","export default \"
\\n
Which ticket is yours?
\\n
\\n \\n You already have access to this event and do not need to claim another ticket. To purchase for someone else,\\n skip this step.\\n \\n
\\n
\\n \\n {{ bannerText }}\\n \\n
\\n
\\n \\n Select a ticket\\n \\n \\n {{ticketType.name}}\\n \\n \\n \\n \\n
\\n \\n \\n
\\n
\";","export default \"
\\n \\n \\n \\n
\\n
\\n\\n\\n \\n\";","export default \"
\\n
\\n Order Summary\\n
\\n
0\\\" >\\n Group Tickets\\n
\\n
0\\\">\\n
\\n
\\n
\\n {{ (selection.value.quantity / selection.value.quantityPerGroup) }}\\n x\\n {{ selection.value.type.name }}\\n
\\n
\\n {{ getSelectionPrice(selection.value) | coreCurrency: 2 }}\\n
\\n
\\n \\n {{ selection.value.quantity }} tickets\\n \\n
\\n
\\n
0\\\">\\n Individual Tickets\\n
\\n
0\\\">\\n
\\n
\\n
\\n {{ selection.value.quantity }}\\n x\\n {{ selection.value.type.name }}\\n
\\n
\\n {{ getSelectionPrice(selection.value) | coreCurrency: 2 }}\\n
\\n
\\n \\n {{ selection.value.quantity > 1 ? selection.value.quantity + ' tickets' : selection.value.quantity + ' ticket' }}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Subtotal\\n
\\n
\\n {{ getSubtotal() | coreCurrency: 2 }}\\n
\\n
\\n 0\\\">\\n {{ getTotalTickets() > 1 ? getTotalTickets() + ' tickets' : getTotalTickets() + ' ticket' }}\\n \\n
\\n
\\n
\\n Fees\\n
\\n
\\n {{ getFees() | coreCurrency: 2 }}\\n
\\n
\\n
\\n
\\n
\\n
\\n Total\\n
\\n
\\n {{ getTotal() | coreCurrency: 2 }}\\n
\\n
\\n
\\n
\";","export default \"
\\n
Payment Information
\\n
\\n
Where should we send the receipt?
\\n \\n \\n Email is required.\\n Email is invalid.\\n \\n \\n\\n
\\n \\n \\n
\\n \\n
Save credit card to profile
\\n
\\n
\\n Save this card to your profile to make donating and bidding easier during the event.\\n
\\n
\\n
\\n \\n
\";","export default \"
\\n
\\n Select Tickets\\n
\\n
\\n
\\n
{{ selection.value.type.name }}
\\n 1\\\">\\n {{ selection.value.quantityPerGroup }} tickets\\n \\n
\\n
{{ selection.value.type.description }}
\\n
\\n \\n
\\n Sold Out\\n
\\n
\\n \\n
\\n
\\n
\\n {{ (selection.value.quantityPerGroup > 1) ? (selection.value.type.priceCents / 100 * selection.value.quantityPerGroup | coreCurrency) \\n : (selection.value.type.priceCents / 100 | coreCurrency) }}\\n
\\n
X
\\n
\\n \\n \\n \\n
\\n
\\n
\\n There are only {{ selection.value.availableQuantity }} ticket(s) available for this type.\\n
\\n
\\n You must select zero or more tickets.\\n
\\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n \\n
\\n\\n
\\n \\n Back\\n \\n
\\n\\n
\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n \\n \\n\\n
\\n
\\n \\n Back\\n \\n
\\n
\\n \\n {{getSkipClaimTicketText()}}\\n \\n \\n Skip, I'll do this later\\n \\n \\n {{currentStep === TicketPurchaseStep.AttendeeInfo ? \\\"Send Tickets\\\" : \\\"Next\\\"}}\\n \\n \\n Reserve Tickets\\n \\n \\n Purchase Tickets\\n \\n
\\n
\\n
\\n\\n
\\n
\\n close\\n
\\n \\n \\n
\\n\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n close\\n
\\n
\\n
{{event.name}}
\\n
{{eventDate$ | async}}, {{eventTime$ | async}}
\\n
\\n
\";","export default \"
\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n PROFILE MANAGER\\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n \\n {{ userCard.CardLastFour }}\\n \\n \\n
\\n
\\n \\n \\n
\\n
\";","export default \"
\\n
\\n EVENT DETAILS\\n
\\n
\\n
\\n Paddle Number\\n \\n {{\\n myGuestSessionSummary.bidderNumber\\n ? myGuestSessionSummary.bidderNumber\\n : myGuestSessionSummary.attendeeNumber\\n }}\\n \\n
\\n
\\n Ticket Type\\n {{ myGuestSessionSummary.ticketTypeName }}\\n
\\n \\n Table Details\\n
\\n \\n {{ formattedTableNumber }} \\n \\n  | \\n {{ myGuestSessionSummary.tableName }}\\n
\\n
\\n
\\n\\n\";","export default \"
\\n
\\n \\n \\n
\\n \\n {{fullName$ | async}}\\n {{(profile$ | async)?.email}}\\n
\\n
\\n
\\n check_circle\\n
\\n You have completed check in!\\n Show this to bypass the lines\\n
\\n
\\n
\";","export default \"\\n\\n\\n\\n \\n\\n\\n\\n
\\n \\n \\n \\n
\\n
\";","export default \"
\\n
\\n \\n \\n
\\n
{{chair.firstName}} {{chair.lastName}}
\\n
\\n \\n
\\n
\\n
\\n \\n Join Table\\n \\n \\n Leave Table\\n \\n
\\n volume_mute\\n \\n \\n volume_up\\n
\\n
\\n
\";","export default \"
\\n \\n
\";","export default \"
\\n
\\n In order to participate in online bidding, a credit card must be on file.\\n
\\n \\n \\n
\\n \\n SAVE\\n \\n
\\n
\";","export default \"
\\n \\n \\n \\n
\";","export default \"
\\n
\\n \\n \\n \\n First Name is required.\\n \\n \\n \\n \\n \\n Last Name is required.\\n \\n \\n \\n \\n \\n \\n \\n \\n Phone is required.\\n \\n \\n Phone is invalid.\\n \\n \\n
*Required Field
\\n
\\n \\n
\\n \\n
\";","export default \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\";","export default \"
\\n \\n \\n Back\\n \\n \\n
\\n \\n shopping_cart\\n \\n \\n account_circle\\n \\n
\\n
\\n
\";","export default \"\";","export default \"\\n
\\n \\n
\";","export default \"
\\n\\t\\n\\t\\n\\t\\n
\";","export default \"
\\n\\t
\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t First Name is required. \\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t Last Name is required. \\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t Phone is required. \\n\\t\\t\\t Phone is invalid. \\n\\t\\t\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t Street Address is required. \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t City is required. \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t {{ getZipCodeLabel() }} is required. \\n\\t\\t\\t\\t {{ getZipCodeLabel() }} is invalid. \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\n\\t
\\n\\t\\t\\n\\t
\\n
\";","export default \"
\\n\\t
\\n\\t\\n\\t\\n\\t
\\n\\t\\n
\\n\\n\\t\\n\";","export default \"
\\n \\n
\";","export default \"
\\n \\n
\\n Select an amount to donate.\\n
\\n \\n \\n
\\n error\\n Please make a donation of at least $1.\\n
\\n \\n \\n
\";","export default \"
\\n \\n
\";","export default \"
\\n \\n
\";","export default \"
\\n
\\n \\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
THANKS TO OUR SPONSORS
\\n \\n
\\n
\";","export default \"
\\n
\\n \\n \\n \\n \\n\\n \\n
\\n \\n
\\n
\\n {{vecRoutingService.goToHome()}}\\n
\\n
\\n
\\n\";","export default \"
\\n
\\n \\n \\n \\n \\n \\n
\\n
The auction isn't open right now.
\\n
\\n Go to home page\\n
\\n
\\n
\\n
\";","export default \"
\\n \\n
\";","export default \"
\\n \\n
\";","export default \"\\n\";","export default \"
\\n \\n
\";","export default \"
\\n \\n
\\n
\";","export default \"
\\n \\n
\";","export default \"\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n\\n
\\n
\\n {{ formattedDate }}\\n
\\n
\\n {{ formattedTime }}\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\";","export default \"
\\n \\n
\";","export default \"
\\n \\n \\n
\";","export default \"
\\n
\\n
\\n
\\n

User information

\\n
\\n \\n \\n \\n First Name is required.\\n \\n \\n
\\n
\\n \\n \\n \\n Last Name is required.\\n \\n \\n
\\n
\\n \\n \\n \\n Email is required.\\n \\n \\n
\\n
\\n \\n \\n \\n Phone is required.\\n \\n \\n
\\n
\\n
\\n
\\n

Purchases

\\n \\n
{{ purchaseDetails.type }}
\\n
{{ purchaseDetails.description | titlecase }}
\\n
\\n \\n
Amount
\\n
{{ purchaseDetails.amount }}
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Payment information

\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\";","export default \"
\\n
\\n
\\n

{{ config.title }}

\\n
\\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n
Please review the pick up options for your items below\\n and let the organization know how you'd like to receive your items.
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n\\n\\n
0\\\">\\n
Pick Up At The Event
\\n
Please select a timeframe for when you would like\\n to pick up your items.
\\n
\\n
Available Times
\\n
{{ getScheduleDate() }}
\\n
\\n \\n \\n
Items to Pick Up
\\n
\\n \\n
\\n
\\n
0 && itemsPickupLater?.length > 0\\\">
\\n
0\\\">\\n
Pick Up Later
\\n
\\n {{ checkOutMessages['pickup-later'].message }}\\n
\\n
Items
\\n
\\n \\n
\\n
\\n
0 && itemsPickupOther?.length > 0\\\">\\n
\\n
0\\\">\\n
Other Items
\\n
\\n These are items that do not have a pick up preference.\\n
\\n
Items
\\n
\\n \\n
\\n
\\n
\\n\\n\\n
\\n
\\n check_circle\\n
\\n
\\n You're all set!\\n
\\n
\\n
\\n {{ checkOutMessages['pickup-later'].message }}\\n
\\n
\\n You will be notified when your items are ready and where to pick up.\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n error\\n
\\n
\\n {{ config.error.errorMsg }}\\n
\\n
\\n
\";","export default \"
\\n
\\n \\n
\\n
\\n\\n\\n
\\n
\\n Link Expired.\\n
\\n
\\n This link is no longer valid. Payment links expire after 24 hours.\\n
\\n \\n
\\n
\";","export default \"
\\n
\\n
\\n\\n

\\n Thank you for your support!\\n

\\n
\\n
\";","export default \"
\\n
\\n \\n RETURN TO LIST\\n \\n
\\n \\n
\\n
\\n
\\n
{{ attendeeName }}
\\n
{{ ticketType?.name }}
\\n
\\n {{ ticketStatus }}\\n \\n
\\n
\\n
\\n \\n \\n \\n That email is invalid. \\n \\n
\\n
\\n \\n \\n First name is required. \\n \\n \\n \\n Last name is required. \\n \\n
\\n \\n
\\n \\n
\\n
\\n {{ getSendButtonText() }}\\n \\n Transfer\\n Ticket \\n Send Again\\n Save \\n
\\n
\\n
\\n
\";","export default \"
\\n
\\n \\n
\\n
\\n
{{ticketsCount}} Tickets
\\n \\n \\n \\n
0; else empty\\\">\\n \\n
\\n
{{summary.attendeeName}}\\n
\\n
{{summary.ticketTypeName}}
\\n {{summary.ticketStatus}}\\n
\\n Edit \\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\";","export default \"\\n\";","export default \"
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n Event Program\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n {{ event.supportSectionHeaderTitle ? event.supportSectionHeaderTitle : 'Support Our Cause' }}
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n \\n \\n \\n\";","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n"],"names":["i0","Injectable","Component","Input","ViewEncapsulation","Inject","EventEmitter","Output","forwardRef","HostListener","ViewChild","NgModule","i1$1","PagingInput","PagingOutput","FilterParameter","FilterComparator","PhoneNumberValidator","PhoneNumberFormatter","AddressInformation","UserFriendlyError","CurrencyModule","ThemeModule","AddressFormModule","PhoneNumberModule","RoleWithContext","AccessToken","WindowInjectionToken","i1","HttpHeaders","HttpParams","HttpClientModule","map","switchMap","takeUntil","filter","toArray","BehaviorSubject","ReplaySubject","forkJoin","of","Subject","combineLatest","i4$1","MatProgressSpinnerModule","i5","MatIconModule","i2","MatCheckboxModule","i6","CommonModule","i5$1","FormControl","Validators","NG_VALUE_ACCESSOR","FormGroup","FormsModule","ReactiveFormsModule","i2$1","MAT_DIALOG_DATA","MatDialogModule","i1$2","MatFormFieldModule","i4","MatButtonModule","i7","MatInputModule","i8","MatRadioModule","i10","MatMenuModule","i3","MatSelectModule","i3$1","MatRippleModule","i5$2","MatSnackBarModule","i4$2","MatExpansionModule","VirtualEventRestService","constructor","httpClient","authHttpClient","urlHost","jwt","withJWT","newService","getAuthHttpClient","getHeaders","set","addProxyBidder","input","url","organizationID","eventID","headers","post","pipe","response","payload","AddProxyBidderOutput","fromObject","fixClasses","addProxyLink","AddProxyLinkOutput","banFromLivestreamChat","userID","put","BanFromLivestreamChatOutput","buyItems","BuyItemsOutput","buyNow","auctionID","BuyNowOutput$1","calculateCoverCost","virtualEventID","CalculateCoverCostOutput","calculatePurchaseTotals","CalculatePurchaseTotalsOutput","calculateTotalAmount","CalculateTotalAmountOutput","checkGuestForClaimedTicket","eventSessionID","CheckGuestForClaimedTicketOutput","checkInGuestSession","guestSessionID","CheckInGuestSessionOutput","checkInMyGuestSessions","CheckInMyGuestSessionsOutput","checkInMyTickets","CheckInMyTicketsOutput","claimGuestFromToken","ClaimGuestFromTokenOutput","claimMyTicket","ClaimMyTicketOutput","claimTicketAndRegister","ClaimTicketAndRegisterOutput","clearAllBids","ClearAllBidsOutput$1","closeBidding","CloseBiddingOutput","closeBroadcast","showID","CloseBroadcastOutput","completeMyPreEventQuestionnaire","CompleteMyPreEventQuestionnaireOutput","compTicket","CompTicketOutput","convertUnexpectedNulls","compTickets","CompTicketsOutput","countDonationMoments","params","getParams","get","CountDonationMomentsOutput","countEvents","CountEventsOutput","countEventSessions","CountEventSessionsOutput","countEventSessionTicketConfigs","CountEventSessionTicketConfigsOutput","countEventSlideConfigs","CountEventSlideConfigsOutput","countEventSlideshows","CountEventSlideshowsOutput","countFixedPriceItemPhotos","fixedPriceItemID","CountFixedPriceItemPhotosOutput","countFixedPriceItems","CountFixedPriceItemsOutput","countGuests","CountGuestsOutput","countGuestSessions","CountGuestSessionsOutput","countImpactPhotos","impactID","CountImpactPhotosOutput","countImpacts","CountImpactsOutput","countMyTickets","CountMyTicketsOutput","countOverlays","sceneID","CountOverlaysOutput","countPickupItems","CountPickupItemsOutput","countPreEventQuestionConfigs","CountPreEventQuestionConfigsOutput","countPurchasedItems","CountPurchasedItemsOutput","countPurchasedItemSalesTaxes","CountPurchasedItemSalesTaxesOutput","countRegistrations","CountRegistrationsOutput","countScenes","CountScenesOutput","countShows","CountShowsOutput","countVirtualChairs","virtualTableID","CountVirtualChairsOutput","countVirtualTables","CountVirtualTablesOutput","createAuctionAndScene","CreateAuctionAndSceneOutput","createBidLimit","CreateBidLimitOutput$1","createChannel","virtualChairID","CreateChannelOutput","createDonationMoment","CreateDonationMomentOutput","createDonationMomentAndSceneOverlay","CreateDonationMomentAndSceneOverlayOutput","createEvent","CreateEventOutput","createEventSession","CreateEventSessionOutput","createEventSessionTicketConfig","CreateEventSessionTicketConfigOutput","createEventSlideConfig","CreateEventSlideConfigOutput","createEventSlideshow","CreateEventSlideshowOutput","createFixedPriceItem","CreateFixedPriceItemOutput","createFixedPriceItemPhoto","CreateFixedPriceItemPhotoOutput","createGuest","CreateGuestOutput","createGuestSession","CreateGuestSessionOutput","createGuestWithoutHook","CreateGuestWithoutHookOutput","createImpact","CreateImpactOutput","createImpactPhoto","CreateImpactPhotoOutput","createInvitation","CreateInvitationOutput","createOverlay","CreateOverlayOutput","createPickupItem","CreatePickupItemOutput","createPreEventQuestionConfig","CreatePreEventQuestionConfigOutput","createPurchasedItem","CreatePurchasedItemOutput","createPurchasedItemSalesTax","CreatePurchasedItemSalesTaxOutput","createRaffle","CreateRaffleOutput$1","createRegistration","CreateRegistrationOutput","createScene","CreateSceneOutput","createSceneAndOverlay","CreateSceneAndOverlayOutput","createShow","CreateShowOutput","createTicketTypeAndConfig","CreateTicketTypeAndConfigOutput","createVirtualChair","CreateVirtualChairOutput","createVirtualTable","CreateVirtualTableOutput","deleteChannel","delete","DeleteChannelOutput","deleteDonationMoment","donationMomentID","DeleteDonationMomentOutput","deleteEvent","DeleteEventOutput","deleteEventSession","DeleteEventSessionOutput","deleteEventSessionTicketConfig","eventSessionTicketConfigID","DeleteEventSessionTicketConfigOutput","deleteEventSlideConfig","eventSlideConfigID","DeleteEventSlideConfigOutput","deleteEventSlideshow","eventSlideshowID","DeleteEventSlideshowOutput","deleteFixedPriceItem","itemID","DeleteFixedPriceItemOutput","deleteFixedPriceItemPhoto","photoID","DeleteFixedPriceItemPhotoOutput","deleteGuest","guestID","DeleteGuestOutput","deleteGuestSession","DeleteGuestSessionOutput","deleteImpact","DeleteImpactOutput","deleteImpactPhoto","DeleteImpactPhotoOutput","deleteInvitation","invitationID","DeleteInvitationOutput","deleteLivestreamChatMessage","livestreamChatChannelID","messageTimestamp","DeleteLivestreamChatMessageOutput","deleteOverlay","overlayID","DeleteOverlayOutput","deletePickupItem","id","DeletePickupItemOutput","deletePreEventQuestionConfig","preEventQuestionConfigID","DeletePreEventQuestionConfigOutput","deletePurchasedItem","DeletePurchasedItemOutput","deletePurchasedItemSalesTax","DeletePurchasedItemSalesTaxOutput","deleteRegistration","registrationID","DeleteRegistrationOutput","deleteScene","DeleteSceneOutput","deleteShow","DeleteShowOutput","deleteTicket","ticketID","DeleteTicketOutput$1","deleteVirtualChair","DeleteVirtualChairOutput","deleteVirtualTable","DeleteVirtualTableOutput","disableLivestreamChat","DisableLivestreamChatOutput","disconnectRaffle","raffleID","DisconnectRaffleOutput","donateAndSelfRegister","DonateAndSelfRegisterOutput","enableLivestreamChat","EnableLivestreamChatOutput","fetchPurchasedItemsForRefundIDs","FetchPurchasedItemsForRefundIDsOutput","getAppealLevels","GetAppealLevelsOutput","getAttendeeExperience","GetAttendeeExperienceOutput","getChatUser","GetChatUserOutput","getConnectionResourcesForChannel","GetConnectionResourcesForChannelOutput","getDuringEventAnalytics","GetDuringEventAnalyticsOutput","getEventNotificationToken","GetEventNotificationTokenOutput","getGuestMessagingRecipients","GetGuestMessagingRecipientsOutput","getGuestMobilePhoneNumbers","GetGuestMobilePhoneNumbersOutput","getGuestMobilePhoneNumbersCount","GetGuestMobilePhoneNumbersCountOutput","getGuestOrPrimaryBidder","searchNumber","GetGuestOrPrimaryBidderOutput","convertDates","getGuestSessionSummary","ticketTicketID","GetGuestSessionSummaryOutput","getGuestSessionSummaryByID","GetGuestSessionSummaryByIDOutput","getGuestSummary","GetGuestSummaryOutput","getMyCheckInStatus","GetMyCheckInStatusOutput","getMyExperienceType","GetMyExperienceTypeOutput","getMyGuestDemographics","GetMyGuestDemographicsOutput","getMyGuestDemographicsPublic","GetMyGuestDemographicsPublicOutput","getMyGuestSessionSummary","GetMyGuestSessionSummaryOutput","getOrgPickupItemOptions","GetOrgPickupItemOptionsOutput","getPreEventAnalytics","GetPreEventAnalyticsOutput","getPrimaryBidder","bidderNumber","GetPrimaryBidderOutput","getPurchasedItemsUserSummary","GetPurchasedItemsUserSummaryOutput","getSelectedPickupTimeSlots","GetSelectedPickupTimeSlotsOutput","getSharedCartGuestList","GetSharedCartGuestListOutput","getTaxCentsForGuestPurchasedItems","GetTaxCentsForGuestPurchasedItemsOutput","getTaxCentsForPurchasedItems","GetTaxCentsForPurchasedItemsOutput","getUnprocessedItemsData","GetUnprocessedItemsDataOutput","hasAssignedTicketForTicketManagerTokenEmail","HasAssignedTicketForTicketManagerTokenEmailOutput","initiateRecurringDonation","InitiateRecurringDonationOutput","isRegistrationComped","IsRegistrationCompedOutput","isTicketManagerTokenEmailRegistered","IsTicketManagerTokenEmailRegisteredOutput","listAttendeesByGroup","groupID","ListAttendeesByGroupOutput","listAvailableCreditCards","ListAvailableCreditCardsOutput","listDonationMoments","ListDonationMomentsOutput","listEvents","ListEventsOutput","listEventSessions","ListEventSessionsOutput","listEventSessionTicketConfigs","ListEventSessionTicketConfigsOutput","listEventSlideConfigs","ListEventSlideConfigsOutput","listEventSlideshows","ListEventSlideshowsOutput","listFixedPriceItemPhotos","ListFixedPriceItemPhotosOutput","listFixedPriceItems","ListFixedPriceItemsOutput","listGuests","ListGuestsOutput","listGuestSessions","ListGuestSessionsOutput","listGuestSessionSummaries","ListGuestSessionSummariesOutput","listGuestSessionSummariesForTickets","ListGuestSessionSummariesForTicketsOutput","listImpactPhotos","ListImpactPhotosOutput","listImpacts","ListImpactsOutput","listInvitations","ListInvitationsOutput","listItemsForGuest","ListItemsForGuestOutput","listItemsForUser","ListItemsForUserOutput","listItemsForUserRefund","ListItemsForUserRefundOutput","listMyAvailableCreditCards","ListMyAvailableCreditCardsOutput","listMyGuestSessionSummaries","ListMyGuestSessionSummariesOutput","listMyIncompleteGuestSessionIDs","ListMyIncompleteGuestSessionIDsOutput","listMyTickets","ListMyTicketsOutput","listOverlays","ListOverlaysOutput","listPickupItems","ListPickupItemsOutput","listPreEventQuestionConfigs","ListPreEventQuestionConfigsOutput","listPurchasedItems","ListPurchasedItemsOutput","listPurchasedItemSalesTaxes","ListPurchasedItemSalesTaxesOutput","listRaffles","ListRafflesOutput$1","listRegistrations","ListRegistrationsOutput","listScenes","ListScenesOutput","listShows","ListShowsOutput","listSpotterToolDonations","ListSpotterToolDonationsOutput","listVirtualChairs","ListVirtualChairsOutput","listVirtualTables","ListVirtualTablesOutput","lotListWithWinner","LotListWithWinnerOutput","mySupporterPurchasedItemsDetails","MySupporterPurchasedItemsDetailsOutput","noOrgListEvents","NoOrgListEventsOutput","notifyLotUpdated","NotifyLotUpdatedOutput","openBidding","OpenBiddingOutput","openCheckoutNotification","OpenCheckoutNotificationOutput","openLotAndAssignWinner","OpenLotAndAssignWinnerOutput","pauseBidding","PauseBiddingOutput","payForAttendeeItems","PayForAttendeeItemsOutput","payForItems","PayForItemsOutput","placeBid","PlaceBidOutput","raiseVirtualEventProcessPendingPurchasedItems","RaiseVirtualEventProcessPendingPurchasedItemsOutput","readDefaultInvitationTemplate","ReadDefaultInvitationTemplateOutput","readDonationMoment","ReadDonationMomentOutput","readEvent","ReadEventOutput","readEventSession","ReadEventSessionOutput","readEventSessionTicketConfig","ReadEventSessionTicketConfigOutput","readEventShowControl","ReadEventShowControlOutput","readEventSlideConfig","ReadEventSlideConfigOutput","readEventSlideshow","ReadEventSlideshowOutput","readFixedPriceItem","ReadFixedPriceItemOutput","readFixedPriceItemPhoto","ReadFixedPriceItemPhotoOutput","readGuest","ReadGuestOutput","readGuestSession","ReadGuestSessionOutput","readImpact","ReadImpactOutput","readImpactPhoto","ReadImpactPhotoOutput","readInvitation","ReadInvitationOutput","readMyRegistration","ReadMyRegistrationOutput","readMyTicket","ReadMyTicketOutput","readMyTicketOptionAnswers","ReadMyTicketOptionAnswersOutput","readMyVirtualChair","ReadMyVirtualChairOutput","readMyVirtualTable","ReadMyVirtualTableOutput","readOverlay","ReadOverlayOutput","readPeerUserInfo","peerUserID","ReadPeerUserInfoOutput","readPickupItem","ReadPickupItemOutput","readPreEventQuestionConfig","ReadPreEventQuestionConfigOutput","readPurchasedItem","ReadPurchasedItemOutput","readPurchasedItemSalesTax","ReadPurchasedItemSalesTaxOutput","readRecentAppealItems","ReadRecentAppealItemsOutput","readRegistration","ReadRegistrationOutput","readScene","ReadSceneOutput","readShow","ReadShowOutput","readTags","ReadTagsOutput","readVirtualChair","ReadVirtualChairOutput","readVirtualTable","ReadVirtualTableOutput","refundPayment","RefundPaymentOutput","registrationFreePayForItems","RegistrationFreePayForItemsOutput","removeProxyGuest","RemoveProxyGuestOutput","removeProxyLink","RemoveProxyLinkOutput","rescindHighestBid","RescindHighestBidOutput","rescindPurchasedItem","RescindPurchasedItemOutput","resetMyTicket","ResetMyTicketOutput","resetTicket","ResetTicketOutput","saveGuestCardOnFile","SaveGuestCardOnFileOutput","searchGuests","SearchGuestsOutput","selfRegisterForEvent","SelfRegisterForEventOutput","sendEmail","SendEmailOutput","sendMyTicket","SendMyTicketOutput","sendPickupReadyNotification","SendPickupReadyNotificationOutput","sendSilentAuctionReminderAlerts","SendSilentAuctionReminderAlertsOutput","sendSingleEmail","SendSingleEmailOutput","sendTicket","SendTicketOutput","setActiveLot","SetActiveLotOutput","setMyPreEventQuestionnaireCompleteTime","SetMyPreEventQuestionnaireCompleteTimeOutput","signSignalingClientConnection","SignSignalingClientConnectionOutput","supporterPurchasedItemsDetails","SupporterPurchasedItemsDetailsOutput","syncGuestSessionsAndAttendees","SyncGuestSessionsAndAttendeesOutput","textPaymentLink","TextPaymentLinkOutput","unbanFromLivestreamChat","UnbanFromLivestreamChatOutput","undoCheckInGuestSession","UndoCheckInGuestSessionOutput","updateActiveOverlayConfig","UpdateActiveOverlayConfigOutput","updateAttendeeExperience","UpdateAttendeeExperienceOutput","updateDonationMoment","UpdateDonationMomentOutput","updateEvent","UpdateEventOutput","updateEventSession","UpdateEventSessionOutput","updateEventSessionTicketConfig","UpdateEventSessionTicketConfigOutput","updateEventShowControl","UpdateEventShowControlOutput","updateEventSlideConfig","UpdateEventSlideConfigOutput","updateEventSlideshow","UpdateEventSlideshowOutput","updateFixedPriceItem","UpdateFixedPriceItemOutput","updateFixedPriceItemPhoto","UpdateFixedPriceItemPhotoOutput","updateFixedPricePickedUp","UpdateFixedPricePickedUpOutput","updateFixedPriceSortOrder","UpdateFixedPriceSortOrderOutput","updateGuest","UpdateGuestOutput","updateGuestSession","UpdateGuestSessionOutput","updateGuestsForTickets","UpdateGuestsForTicketsOutput","updateImpact","UpdateImpactOutput","updateImpactPhoto","UpdateImpactPhotoOutput","updateInvitation","UpdateInvitationOutput","updateLiveAppealConfig","UpdateLiveAppealConfigOutput","updateLotIncrement","UpdateLotIncrementOutput","updateMyExperienceType","UpdateMyExperienceTypeOutput","updateMyGuest","UpdateMyGuestOutput","updateMyProfile","UpdateMyProfileOutput","updateMyProfileAndRegistration","UpdateMyProfileAndRegistrationOutput","updateMyRegistration","UpdateMyRegistrationOutput","updateMyTicket","UpdateMyTicketOutput","updateOverlay","UpdateOverlayOutput","updatePickedUp","UpdatePickedUpOutput","updatePickupItem","UpdatePickupItemOutput","updatePickupPreference","UpdatePickupPreferenceOutput","updatePreEventQuestionConfig","UpdatePreEventQuestionConfigOutput","updatePurchasedItem","UpdatePurchasedItemOutput","updatePurchasedItemSalesTax","UpdatePurchasedItemSalesTaxOutput","updateRegistration","UpdateRegistrationOutput","updateScene","UpdateSceneOutput","updateShow","UpdateShowOutput","updateTicket","UpdateTicketOutput$1","updateTicketAndInviteProxyGuest","UpdateTicketAndInviteProxyGuestOutput","updateTicketTypeAndConfig","UpdateTicketTypeAndConfigOutput","updateVirtualChair","UpdateVirtualChairOutput","updateVirtualTable","UpdateVirtualTableOutput","uploadInvitations","UploadInvitationsOutput","uploadTableDataCSV","UploadTableDataCSVOutput","validateVirtualTableCreation","ValidateVirtualTableCreationOutput","viewBannedLivestreamChatUserRegistrations","ViewBannedLivestreamChatUserRegistrationsOutput","viewDonationItem","ViewDonationItemOutput","viewDonationsByDay","ViewDonationsByDayOutput","viewDonationSumPerDonor","ViewDonationSumPerDonorOutput","viewEventRegistrationPurchases","ViewEventRegistrationPurchasesOutput","viewEventRegistrations","ViewEventRegistrationsOutput","viewEventRegistrationsByDay","ViewEventRegistrationsByDayOutput","viewFixedPriceDetails","ViewFixedPriceDetailsOutput","viewGuestsWithPurchasedItemCounts","ViewGuestsWithPurchasedItemCountsOutput","viewImpactsForOrg","ViewImpactsForOrgOutput","viewPurchasedItem","ViewPurchasedItemOutput","viewPurchasedItemAnonymous","ViewPurchasedItemAnonymousOutput","viewRecentDonors","ViewRecentDonorsOutput","viewSearchGuests","ViewSearchGuestsOutput","viewStatusSumItems","ViewStatusSumItemsOutput","viewSupporterPurchasedItem","ViewSupporterPurchasedItemOutput","viewSupporterPurchasedItemByPickupTime","ViewSupporterPurchasedItemByPickupTimeOutput","viewSupporterPurchasedItemDetail","ViewSupporterPurchasedItemDetailOutput","viewVirtualChairs","ViewVirtualChairsOutput","ɵfac","HttpClient","AuthHttpClient","ɵprov","type","AddProxyBidderInput","proxyGuestID","proxyBidderID","AddProxyLinkInput","AppealRecentDonor","firstName","lastName","emojiSelected","Attendee","tableID","attendeeID","ticketTypeID","ticketTypeName","ticketStatus","checkInTime","claimedTime","tableName","tableNumber","undefined","Date","BanFromLivestreamChatInput","BuyFixedPrices","name","quantity","amountCents","BuyItemAppealDonation","isAnonymous","fromSpotterTool","greatfeatsParticipantID","greatfeatsParticipantName","BuyItemAuctionLot","lotID","BuyItemDonation","BuyItemImpact","BuyItemRaffleTickets","purchaseLevelID","BuyItemsInput","email","mobilePhone","donations","appealDonations","impacts","raffleTickets","auctionLots","tickets","fixedPrices","miscellaneousCharges","payAfterEvent","cardID","cardHolderGuestID","cardName","expiration","cardType","cardLastFour","token","coverFee","payerName","payerStreet","payerCity","payerState","payerZip","payerCountry","fakeTransactionResult","isExternalPayment","overrideCCRequirement","overrideUserID","saveCardForFutureUse","paymentType","checkNumber","paymentOtherTypeNotes","length","BuyItemTickets","BuyMiscellaneousCharges","ticketManagementToken","attendeeFirstName","attendeeLastName","attendeeEmail","ticketOptionAnswers","isClaiming","promoCode","TicketPromoCodeSummary","TicketOptionAnswer","description","BuyNowInput$1","auctionType","bidderID","bidTime","assignWinnerOverride","assignWinnerAmountCents","isUnregisteredGuest","bidID","CalculateCoverCostInput","coverCostCents","subTotalCents","totalCents","CalculatePurchaseTotalsInput","ticketsTotalCents","ticketFeesTotalCents","feesTotalCents","subtotalCents","CalculateTotalAmountInput","itemIDs","coveredCostSelected","totalAmountCents","coveredCostAmountCents","salesTaxAmountCents","subtotalAmountCents","Chair","channelName","channelARN","CheckGuestForClaimedTicketInput","action","CheckInGuestSessionInput","CheckInMyGuestSessionsInput","CheckInMyTicketsInput","ClaimGuestFromTokenInput","guestToken","result","ClaimMyTicketInput","ticketAssignmentToken","ClaimTicketAndRegisterInput","ClearAllBidsInput$1","CloseBiddingInput","CloseBroadcastInput","CompleteMyPreEventQuestionnaireInput","CompTicketInput","managerFirstName","managerLastName","managerEmail","isManaged","canSkipEmail","ticketIDs","CompTicketsInput","ticketTypeIDs","CountDonationMomentsInput","paging","stringify","count","CountEventSessionsInput","CountEventSessionTicketConfigsInput","CountEventsInput","timezone","CountEventSlideConfigsInput","CountEventSlideshowsInput","CountFixedPriceItemPhotosInput","CountFixedPriceItemsInput","CountGuestSessionsInput","CountGuestsInput","CountImpactPhotosInput","CountImpactsInput","CountMyTicketsInput","CountOverlaysInput","CountPickupItemsInput","CountPreEventQuestionConfigsInput","CountPurchasedItemSalesTaxesInput","CountPurchasedItemsInput","CountRegistrationsInput","CountScenesInput","CountShowsInput","CountVirtualChairsInput","CountVirtualTablesInput","CreateAuctionAndSceneInput","openTime","closeTime","activeLotID","auctionGoalCents","inPerson","CreateBidLimitInput$1","CreateChannelInput","CreateDonationMomentAndSceneOverlayInput","donationLevelsAmountCents","disableOnlineDonations","giveAtAnyLevelEnabled","CreateDonationMomentInput","giveAtAnyLevelActive","CreateEventInput","eventType","primaryDate","primaryEndDate","isCoverCostActive","coverCostPercent","coverCostCustomMessage","coverCostDefault","enableTicketing","thermometerConfig","testEvent","enableSelfCheckin","salesTaxPercent","salesTaxAppliesTo","salesTaxCoverageType","externalID","ThermometerSetupConfig","CreateEventSessionInput","CreateEventSessionTicketConfigInput","attendeeExperience","CreateEventSlideConfigInput","slideType","detailsJSON","CreateEventSlideshowInput","activeSlideURL","CreateFixedPriceItemInput","priceCents","valueCents","isTaxable","numPurchased","maxNumAvailable","numUnlimited","inPersonOnly","pickupLater","pickupTonight","isPickUpEventLevel","sortOrder","CreateFixedPriceItemPhotoInput","CreateGuestInput","attendeeNumber","managingGuestID","preEventQuestionnaireCompleteTime","preEventQuestionOneAnswer","preEventQuestionTwoAnswer","preEventQuestionThreeAnswer","preEventConsentSelfCompleted","purchasedItemPrimaryUserID","purchasedItemPrimaryGuestID","address","city","state","postalCode","country","userCardID","CreateGuestSessionInput","isCheckInWithManagingGuest","checkedInTime","tableAttendeeID","initialTableName","initialTableNumber","totalProceedsAmountCents","CreateGuestWithoutHookInput","CreateImpactInput","descriptionMarkdown","totalPurchasesLimit","totalPurchasesCountDisplayThreshold","totalPurchasesAmountCentsDisplayThreshold","goalType","goalPurchasesCount","goalPurchasesCountDisplayThreshold","goalPurchasesAmountCents","goalPurchasesAmountCentsDisplayThreshold","goalMetEmailSubject","goalMetEmailBodyMarkdown","goalMetSMSBody","hideFromFlow","CreateImpactPhotoInput","CreateInvitationInput","messageTemplateMarkdown","invitationEmailSubject","CreateOrUpdateTicketOptionAnswer","ticketOptionID","ticketOptionAnswerID","ticketOptionPromptChoiceID","ticketOptionAnswer","CreateOverlayInput","config","CreatePickupItemInput","transactionID","pickupTimeSlot","isPickedUp","isReadyPickUp","pickedUpByGuestID","pickupPreference","purchasedItemID","inventoryLotID","inventoryAllocationID","CreatePreEventQuestionConfigInput","questionOnePrompt","questionOneActive","questionTwoPrompt","questionTwoActive","questionThreePrompt","questionThreeActive","CreatePurchasedItemInput","raffleDetails","purchaseID","transactionStatus","refundID","itemDetails","isExternal","overriddenByUserID","proxyUserID","paidByGuestID","RafflePurchaseDetails","ItemPurchaseDetails","CreatePurchasedItemSalesTaxInput","CreateRaffleInput$1","CreateRegistrationInput","accessCode","wantEmailUpdates","wantSMSUpdates","passthroughInvitationID","CreateSceneAndOverlayInput","inheritDefaultStream","plannedDurationMinutes","streamType","overlayType","CreateSceneInput","streamID","defaultOverlayConfig","activeOverlayConfig","isCurtain","OverlayConfiguration","CreateShowInput","overrideOverlayConfig","defaultStreamType","defaultStreamID","CreateTicketTypeAndConfigInput","maxTickets","quantityPerGroup","active","attendanceType","ticketOptions","CreateVirtualChairInput","userEmail","userFirstName","userLastName","CreateVirtualTableInput","DeleteChannelInput","DeleteDonationMomentInput","DeleteEventInput","DeleteEventSessionInput","DeleteEventSessionTicketConfigInput","DeleteEventSlideConfigInput","DeleteEventSlideshowInput","DeleteFixedPriceItemInput","DeleteFixedPriceItemPhotoInput","DeleteGuestInput","DeleteGuestSessionInput","DeleteImpactInput","DeleteImpactPhotoInput","DeleteInvitationInput","DeleteLivestreamChatMessageInput","DeleteOverlayInput","DeletePickupItemInput","DeletePreEventQuestionConfigInput","DeletePurchasedItemInput","DeletePurchasedItemSalesTaxInput","DeleteRegistrationInput","DeleteSceneInput","DeleteShowInput","DeleteTicketInput$1","DeleteVirtualChairInput","DeleteVirtualTableInput","DisableLivestreamChatInput","DisconnectRaffleInput","DonateAndSelfRegisterInput","DonationMomentSummary","currentDonationTierAmountCents","EnableLivestreamChatInput","EventSessionSummary","tableImageURL","tableImageUploadToken","EventSessionTicketConfigSummary","EventSlideConfigSummary","EventSlideshowSummary","EventSummary","preEventScheduledNotificationID","preEventQuestionnaireNotificationID","shortURL","totalDonationsCount","totalDonationsAmountCents","totalAppealAmountCents","totalRegistrationsCount","goalTotalDonationsAmountCents","goalTotalDonationsAmountCentsMetOn","goalTotalDonationsSeedAmountCents","themePrimaryColor","themeSecondaryColor","bannerImageURL","logoImageURL","merchantAccountID","enableRaffles","enableFixedPrice","noticeEmailsSent","paymentsProcessed","isVirtualTableActive","isChatOn","livestreamChatChannelCount","showRecurringDonationManagement","recurringDonationPeriod","hostURL","hostShortenedURL","allowPickupLater","allowPickupTonight","isCheckoutOpen","totalDonationsProceedsAmountCents","totalOfflineDonationsAmountCents","totalLiveAuctionProceedsAmountCents","totalSilentAuctionProceedsAmountCents","totalFixedPriceProceedsAmountCents","totalTicketsProceedsAmountCents","totalRaffleProceedsAmountCents","totalSponsorAttachmentEventSalesProceedsAmountCents","totalMiscProceedsAmountCents","eventDayToolShortURL","shareableSlideshowShortURL","customTags","enableBidderNumbers","enableAutomaticBidderNumbers","startingBidderNumber","FetchPurchasedItemsForRefundIDsInput","refundIDs","items","RefundItemDetail","FixedPriceItemPhotoSummary","uploadToken","FixedPriceItemSummary","GetAppealLevelsInput","appealLevelsCents","GetAttendeeExperienceInput","toString","experience","GetChatUserInput","pubnubAuthKey","GetConnectionResourcesForChannelInput","channelRole","awsRegion","wssEndpointURL","httpsEndpointURL","iceServerList","IceServer","GetDetailsForPurchasedItem","created","updated","purchaseItemType","fixedPriceItemName","fixedPriceItemDescription","fixedPriceItemPhotoURL","GetDuringEventAnalyticsInput","highestRaisingTable","highestRaisingTableAmountCents","highestRaisingAttendee","GetEventNotificationTokenInput","notificationWebsocketURL","GetGuestMessagingRecipientsInput","includeEventURL","recipients","Recipient","GetGuestMobilePhoneNumbersCountInput","GetGuestMobilePhoneNumbersInput","mobilePhoneNumbers","GuestMobilePhoneReportResult","GetGuestOrPrimaryBidderInput","guest","GuestSummary","GetGuestSessionSummaryByIDInput","guestDisplayName","guestUserID","ticketClaimedTime","ticketPurchaserFirstName","ticketPurchaserLastName","ticketPurchaserEmail","ticketManagerEmail","ticketManagerFirstName","ticketManagerLastName","ticketGroupID","guestMobilePhone","biddingAsGuestID","biddingAsFullName","biddingAsFirstName","biddingAsLastName","GetGuestSessionSummaryInput","GetGuestSummaryInput","GetMyCheckInStatusInput","checkInStatus","GetMyExperienceTypeInput","experienceType","GetMyGuestDemographicsInput","orgID","zip","GetMyGuestDemographicsPublicInput","GetMyGuestSessionSummaryInput","GetOrgPickupItemOptionsInput","fixedPricedItemIDs","itemOptions","PickupItemOptionsOutput","GetPreEventAnalyticsInput","attendeesSeatedCount","attendeesUnseatedCount","GetPrimaryBidderInput","primaryGuest","GetPurchasedItemsUserSummaryInput","GetSelectedPickupTimeSlotsInput","selectedPickupTimeSlots","PickupTimeSlot","GetSharedCartGuestListInput","guests","GetTaxCentsForGuestPurchasedItemsInput","GetTaxCentsForPurchasedItemsInput","GetUnprocessedItemsDataInput","unprocessedCartCount","unprocessedPaymentsAmountCents","GreatfeatsParticipantDetails","GuestCreditCardData","GuestCreditCardSummary","GuestSessionSummary","GuestToUpdate","HasAssignedTicketForTicketManagerTokenEmailInput","ticketManagerToken","userName","password","timeToLive","uris","ImpactPhotoSummary","ImpactSummary","totalPurchasesCount","totalPurchasesAmountCents","goalPurchasesCountMetOn","goalPurchasesAmountCentsMetOn","goalMetMessageSentOn","InitiateRecurringDonationInput","paymentID","donationID","recurringDonationGroup","recurringDonationID","recurringDonationItemID","InventoryItemPhotoUpdatedInput","InvitationSummary","sentEmail","sentSMS","emailOpened","IsRegistrationCompedInput","comped","IsTicketManagerTokenEmailRegisteredInput","ItemforPaidSummary","item","paymentMethod","paymentTypeOtherNotes","ItemforPendingSummary","totalCoveredCostAmountCents","totalSalesTaxAmountCents","purchaseDetails","itemName","sponsorAttachmentEventSaleID","greatfeatsParticipant","ListAttendeesByGroupInput","attendeesByGroup","ListAvailableCreditCardsInput","ListDonationMomentsInput","ListDonationMomentsToCSVInput","ListEventSessionsInput","ListEventSessionsToCSVInput","ListEventSessionTicketConfigsInput","ListEventSessionTicketConfigsToCSVInput","ListEventsInput","ListEventSlideConfigsInput","ListEventSlideConfigsToCSVInput","ListEventSlideshowsInput","ListEventSlideshowsToCSVInput","ListEventsToCSVInput","ListFixedPriceItemPhotosInput","ListFixedPriceItemPhotosToCSVInput","ListFixedPriceItemsInput","ListFixedPriceItemsToCSVInput","ListGuestSessionsInput","ListGuestSessionsToCSVInput","ListGuestSessionSummariesForTicketsInput","ListGuestSessionSummary","ListGuestSessionSummariesInput","ticketCreatedTime","ticketPurchaserFullName","sponsorAttachmentID","sponsorName","ListGuestsInput","ListGuestsToCSVInput","ListImpactPhotosInput","ListImpactPhotosToCSVInput","ListImpactsInput","ListImpactsToCSVInput","ListInvitationsInput","ListItemsForGuestInput","PurchasedItemSummary","ListItemsForUserInput","ListItemsForUserRefundInput","paid","pending","ListMyAvailableCreditCardsInput","ListMyGuestSessionSummariesInput","ListMyIncompleteGuestSessionIDsInput","incompleteGuestSessionIDs","ListMyTicketsInput","TicketSummary$1","ListOverlaysInput","OverlaySummary","ListOverlaysToCSVInput","ListPickupItemsInput","PickupItemSummary","ListPickupItemsToCSVInput","ListPreEventQuestionConfigsInput","PreEventQuestionConfigSummary","ListPreEventQuestionConfigsToCSVInput","ListPurchasedItemSalesTaxesInput","PurchasedItemSalesTaxSummary","ListPurchasedItemSalesTaxesToCSVInput","ListPurchasedItemsInput","ListPurchasedItemsToCSVInput","ListRafflesInput$1","raffles","RaffleSummary$1","ListRegistrationsInput","RegistrationSummary","ListRegistrationsToCSVInput","ListScenesInput","SceneSummary","ListScenesToCSVInput","ListShowsInput","ShowSummary","ListShowsToCSVInput","ListSpotterToolDonationsInput","SpotterToolDonationSummary","ListVirtualChairsInput","VirtualChairSummary","ListVirtualChairsToCSVInput","ListVirtualTablesInput","VirtualTableSummary","ListVirtualTablesToCSVInput","LotListWithWinnerInput","LotSummaryWithWinner","lotNumber","lotOrder","bidMinimumCents","bidIncrementCents","buyNowPriceCents","isBuyNowActive","isBought","isBiddingPaused","winningBidID","paidByPurchaseID","showInPreview","topBidID","topBidAmountCents","primaryPhotoURL","winner","MySupporterPurchasedItemsDetailsInput","ViewSupporterPurchasedItemDetailSummary","NoOrgListEventsInput","NotifyLotUpdatedInput","OpenBiddingInput","OpenCheckoutNotificationInput","OpenLotAndAssignWinnerInput","bidAmountCents","showNone","overlayIDs","PauseBiddingInput","PayForAttendeeItemsInput","attendeeUserID","paymentTotalAmountCents","saveCardOnFile","PayForItemsInput","submittedByUserID","isPickupTonight","isPickupLater","PickupItems","allocationID","selectedPickupTimeSlotCount","PlaceBidInput","floorBid","bidderUserID","topBidderGuestID","topBidderUserID","purchasedByDisplayName","paidByDisplayName","quantityTickets","raffleName","batchID","startDate","endDate","hasSoldOut","maxTicketsCount","totalTicketsCount","totalTicketsAmountCents","RaiseVirtualEventProcessPendingPurchasedItemsInput","ReadDefaultInvitationTemplateInput","templateMarkdown","ReadDonationMomentInput","ReadEventInput","impactBlurb","registrationBlurb","storyMarkdown","currencyCode","goalTrackerImageURL","goalTrackerImageUploadToken","donationSuggestedAmountsCents","donationSuggestedAmountsShow","bannerImageUploadToken","logoImageUploadToken","registrationThankYouMessageMarkdown","registrationConfirmationMessageMarkdown","donationThankYouMessageMarkdown","contactName","contactPhone","contactEmail","showBillingAddress","requireBillingAddress","tags","impactOrderIDs","fixedPriceOrderIDs","activeRaffleID","showSilentAuction","showSilentAuctionCountdown","activeSilentAuctionID","showThermometer","showStory","showLiveAuctionPreview","showRaffle","showGreatfeatsParticipantsLeaderboard","greatfeatsParticipantsLeaderboardTabTitle","greatfeatsParticipantsLeaderboardMessageMarkdown","storyTabTitle","liveAuctionPreviewTabTitle","silentAuctionTabTitle","raffleTabTitle","checkoutMessageMarkdown","requireDonationDuringRegistration","requireDonationCompEmails","showSocialAuth","showPhoneNumber","requirePhoneNumber","showAddress","requireAddress","ticketTypeOrderIDs","ticketOptionOrderIDs","showGame","gameTabTitle","greatfeatsChallengeAccessKey","recurringDonationSuggestedAmountsCents","receiptMessageMarkdown","eventEndMessageMarkdown","receiptTaxMessage","donationTabTitle","fixedPriceItemTabTitle","supportSectionHeaderTitle","checkoutNotificationMessageMarkdown","readyPickupNotificationMessageMarkdown","pickupLaterNotificationMessageMarkdown","isPickupWindowScheduled","pickupOpenTime","pickupCloseTime","thermometerProceeds","ReadEventSessionInput","ReadEventSessionTicketConfigInput","ReadEventShowControlInput","activeShowID","activeSceneID","activeSceneChanged","secondsSinceSceneChange","activeSceneType","activeSceneURL","ReadEventSlideConfigInput","ReadEventSlideshowInput","ReadFixedPriceItemInput","ReadFixedPriceItemPhotoInput","ReadGuestInput","ReadGuestSessionInput","ReadImpactInput","ReadImpactPhotoInput","ReadInvitationInput","ReadMyRegistrationInput","found","paidStatus","biddingAsUserID","ReadMyTicketInput","ReadMyTicketOptionAnswersInput","ViewTicketOptionAnswersForTicketSummary","readTicketOutput","ReadTicketOutput$1","ReadMyVirtualChairInput","ReadMyVirtualTableInput","virtualTable","Table","ReadOverlayInput","ReadPeerUserInfoInput","ReadPickupItemInput","ReadPreEventQuestionConfigInput","ReadPurchasedItemInput","ReadPurchasedItemSalesTaxInput","ReadRecentAppealItemsInput","useAnonymous","recentDonors","ReadRegistrationInput","ReadSceneInput","estimatedDurationSeconds","thumbnailURL","ReadShowInput","sceneOrderIDs","totalDurationMinutes","primaryFlowID","ReadTagsInput","source","purchaserUserID","purchaserFirstName","purchaserLastName","purchaserEmail","attendeeMobilePhone","isLocked","promoCodeUsedID","ReadVirtualChairInput","ReadVirtualTableInput","emails","smsPhoneNumbers","data","RefundPayment","refundType","status","RefundPaymentInput","purchasedItemIDs","paymentIDs","reasonForRefund","includeCoveredCost","refundPayments","RegistrationFreePayForItemsInput","RemoveProxyGuestInput","RemoveProxyLinkInput","purchasedItemIDsToReassign","RescindHighestBidInput","RescindPurchasedItemInput","ResetMyTicketInput","editTicketKey","ResetTicketInput","SaveGuestCardOnFileInput","creditCardData","SearchGuestsInput","query","reportVersion","SearchGuestsSummary","guestFirstName","guestLastName","isCheckinWithManagingGuest","managingGuestFirstName","managingGuestLastName","managingGuestEmail","guestEmail","guestBidderNumber","guestAttendeeNumber","guestStatus","displayName","compedTicket","ticketPurchaserUserID","ticketManagerFullName","hasUserCard","hasUserAccount","SelfRegisterForEventInput","street","SendEmailInput","bodyMarkdown","emailSubject","SendEventAuctionClosedInput","SendEventAuctionUpdatedInput","SendEventDailyInput","SendEventGuestSessionCreatedInput","SendEventHourlyInput","SendEventInventoryItemPhotoUpdatedInput","affectedLots","SendEventLotClosedInput","winningUserID","winningGuestID","dollarAmountCents","auctionSource","isAssignLater","SendEventNightlyInput","SendEventRafflePurchaseLevelCreatedInput","SendEventRafflePurchaseLevelDeletedInput","SendEventRafflePurchaseLevelUpdatedInput","SendEventRaffleRaffleDeletedInput","SendEventRaffleRaffleUpdatedInput","SendEventSendCheckedInNotifcationInput","SendEventSendCheckInMessageInput","SendEventSendPreEventQuestionnaireMessageInput","SendEventSendTicketInviteEmailInput","suppressEmailToPurchaser","SendEventSendTicketManagerEmailInput","SendEventSupporterUserUpdatedInput","supporterUserID","phoneNumber","SendEventVirtualEventImpactGoalMetInput","SendEventVirtualEventProcessPendingPurchasedItemsInput","SendEventVirtualEventPurchaseSuccessfulInput","SendEventVirtualEventPurchaseSuccessfulWithoutPaymentInput","SendEventVirtualEventRegistrationCreatedInput","SendMyTicketInput","SendPickupReadyNotificationInput","updateIsReadyPickupDetails","UpdateIsReadyPickupDetails","SendSilentAuctionReminderAlertsInput","SendSingleEmailInput","SendTicketInput","SetActiveLotInput","SetMyPreEventQuestionnaireCompleteTimeInput","SignSignalingClientConnectionInput","signedURL","header","key0","Object","keys","SupporterPurchasedItemsDetailsInput","SyncGuestSessionsAndAttendeesInput","chairs","TextPaymentLinkInput","ThermometerConfigDetails","includeTotals","seedAmount","offline","liveAuction","silentAuction","fixedPrice","raffle","sponsorAttachmentEventSale","misc","code","amountCentsOff","hundredthPercentOff","ticketTypes","promoUsedCount","TicketType","TrackInvitationEmailOpenedInput","UnbanFromLivestreamChatInput","UndoCheckInGuestSessionInput","UpdateActiveOverlayConfigInput","UpdateAttendeeExperienceInput","UpdateDonationMomentInput","UpdateEventInput","newEventExperienceFF","UpdateEventSessionInput","UpdateEventSessionTicketConfigInput","UpdateEventShowControlInput","UpdateEventSlideConfigInput","UpdateEventSlideshowInput","UpdateFixedPriceItemInput","UpdateFixedPriceItemPhotoInput","UpdateFixedPricePickedUpInput","UpdateFixedPriceSortOrderInput","fixedPriceItemIDs","UpdateGuestInput","UpdateGuestSessionInput","UpdateGuestsForTicketsInput","guestsToUpdate","UpdateImpactInput","UpdateImpactPhotoInput","UpdateInvitationInput","UpdateLiveAppealConfigInput","UpdateLotIncrementInput","UpdateMyExperienceTypeInput","UpdateMyGuestInput","UpdateMyProfileAndRegistrationInput","UpdateMyProfileInput","Street","updateAllEvent","UpdateMyRegistrationInput","UpdateMyTicketInput","UpdateOverlayInput","UpdatePickedupDetails","UpdatePickedUpInput","updatePickedupDetails","UpdatePickupItemInput","UpdatePickupPreferenceInput","pickupItems","UpdatePreEventQuestionConfigInput","UpdatePurchasedItemInput","UpdatePurchasedItemSalesTaxInput","UpdateRegistrationInput","UpdateSceneInput","zoomMeetingNumber","zoomPassWord","UpdateShowInput","zoomPassword","isChangingScene","UpdateTicketAndInviteProxyGuestInput","UpdateTicketInput$1","UpdateTicketTypeAndConfigInput","UpdateVirtualChairInput","UpdateVirtualTableInput","UploadInvitationsInput","numDuplicates","numErrors","numSuccess","UploadTableDataCSVInput","ValidateVirtualTableCreationInput","tables","ViewBannedLivestreamChatUserRegistrationsInput","ViewBannedLivestreamChatUserRegistrationsSummary","ViewBannedLivestreamChatUserRegistrationsToCSVInput","ViewDonationItemInput","ViewDonationItemSummary","paddleNumber","amountDollars","impactName","paidBy","sharedCart","sharedCartPrimary","ViewDonationItemToCSVInput","ViewDonationsByDayInput","timeZone","ViewDonationsByDaySummary","oneTimeDonationsCount","oneTimeDonationsAmountCents","groupDate","ViewDonationsByDayToCSVInput","ViewDonationSumPerDonorInput","ViewDonationSumPerDonorSummary","donatedAmountCents","ViewDonationSumPerDonorToCSVInput","ViewEventRegistrationPurchasesInput","ViewEventRegistrationPurchasesSummary","fullName","ticketCount","cartCount","purchasedItemCount","ViewEventRegistrationPurchasesToCSVInput","ViewEventRegistrationsByDayInput","ViewEventRegistrationsByDaySummary","eventRegistrationsCount","ViewEventRegistrationsByDayToCSVInput","ViewEventRegistrationsInput","ViewEventRegistrationsSummary","ViewEventRegistrationsToCSVInput","ViewFixedPriceDetailsInput","ViewFixedPriceDetailsSummary","ViewFixedPriceDetailsToCSVInput","ViewGuestsWithPurchasedItemCountsInput","ViewGuestsWithPurchasedItemCountsSummary","ViewGuestsWithPurchasedItemCountsToCSVInput","ViewImpactsForOrgInput","ViewImpactsForOrgSummary","ViewPurchasedItemAnonymousInput","ViewPurchasedItemAnonymousSummary","isPaid","ViewPurchasedItemAnonymousToCSVInput","ViewPurchasedItemInput","ViewPurchasedItemSummary","deleted","purchasedItemSalesTaxID","salesTaxAmountDollars","salesTaxPurchaseID","salesTaxTransactionStatus","salesTaxTransactionID","salesTaxRefundID","ViewPurchasedItemToCSVInput","ViewRecentDonorsInput","ViewRecentDonorsSummary","ViewRecentDonorsToCSVInput","ViewSearchGuestsInput","ViewSearchGuestsSummary","ViewSearchGuestsToCSVInput","ViewStatusSumItemsInput","ViewStatusSumItemsSummary","sumPaid","sumPending","sumFailed","sumRefunded","ViewStatusSumItemsToCSVInput","ViewSupporterPurchasedItemByPickupTimeInput","ViewSupporterPurchasedItemByPickupTimeSummary","cartFullNameList","purchasedCheckoutItemCount","checkoutItemCount","notPickedUpCount","pickedUpCount","pickupTimeframe","ViewSupporterPurchasedItemByPickupTimeToCSVInput","ViewSupporterPurchasedItemDetailInput","paidByFirstName","paidByLastName","pickedUpByFirstName","pickedUpByLastName","ViewSupporterPurchasedItemDetailToCSVInput","ViewSupporterPurchasedItemInput","ViewSupporterPurchasedItemSummary","transactionId","isPurchasedCheckoutItem","ViewSupporterPurchasedItemToCSVInput","answer","ViewVirtualChairsInput","ViewVirtualChairsSummary","chairID","chairUserEmail","chairUserFirstName","chairUserLastName","chairUserID","chairChannelName","chairChannelARN","chairCreated","chairUpdated","ViewVirtualChairsToCSVInput","CartItemsService","virtualEventRestService","cartItems","cartItemSelected","selectedCartItems","getCartItems","withTax","value","Take","Filters","Equal","loadPurchasedItems","asObservable","getCartItemsForUser","loadPurchasedItemsForUser","setCartItems","next","getCartItemSelected","setCartItemSelected","getSelectedCartItems","setSelectedCartItems","currentList","veService","subscribe","out","push","nextPage","FromPageObject","getTaxForPurchasedItemsAndSetCartItems","err","error","purchasedItems","unpaidItemIDs","p","taxMap","purchasedItemsWithTax","i","purchasedItemFound","find","taxAmountCents","PurchasedItemSummaryWithTax","CartItemSelected","CartState","ItemsPaidStatus","DefaultItemsDisplayOrder","AttendeeService","guestSummary$","guestCreditCardSummaries$","getGuestCreditCardSummaries","loadAttendeeCreditCards","_a","loadAttendee","asRegisteredUser","readGuestOut","guestOut","listCardsCartOut","InventoryRestService","assignNextTopBid","AssignNextTopBidOutput","BuyNowOutput","canAssignNextTopBid","CanAssignNextTopBidOutput","ClearAllBidsOutput","closeAuction","CloseAuctionOutput","closeLot","CloseLotOutput","closePastDue","ClosePastDueOutput","countAllAuctions","CountAllAuctionsOutput","countAllocations","CountAllocationsOutput","countAuctions","CountAuctionsOutput","countBids","CountBidsOutput","countCategories","CountCategoriesOutput","countItemPhotos","CountItemPhotosOutput","countItems","CountItemsOutput","countLots","CountLotsOutput","countProxyBidders","CountProxyBiddersOutput","createAuction","CreateAuctionOutput","createBid","CreateBidOutput","createBidFor","CreateBidForOutput","CreateBidLimitOutput","createCategory","CreateCategoryOutput","createItem","CreateItemOutput","createItemPhoto","CreateItemPhotoOutput","createLot","CreateLotOutput","createLotsFromItems","CreateLotsFromItemsOutput","createProxyBidder","CreateProxyBidderOutput","deleteAuction","DeleteAuctionOutput","deleteCategory","categoryID","DeleteCategoryOutput","deleteItem","DeleteItemOutput","deleteItemPhoto","DeleteItemPhotoOutput","deleteLot","DeleteLotOutput","deleteProxyBidder","DeleteProxyBidderOutput","getAuctionTotalsByType","GetAuctionTotalsByTypeOutput","getUsersTopBidCounts","GetUsersTopBidCountsOutput","getWinningBidInfo","GetWinningBidInfoOutput","listAllAuctions","ListAllAuctionsOutput","listAllocations","ListAllocationsOutput","listAuctions","ListAuctionsOutput","listBids","ListBidsOutput","listCategories","ListCategoriesOutput","listItemPhotos","ListItemPhotosOutput","listItems","ListItemsOutput","listLots","ListLotsOutput","listLotsOverview","ListLotsOverviewOutput","listProxyBidders","ListProxyBiddersOutput","lotsForUser","LotsForUserOutput","readAllAuction","ReadAllAuctionOutput","readAllocation","ReadAllocationOutput","readAuction","ReadAuctionOutput","readBid","ReadBidOutput","readCategory","ReadCategoryOutput","readItem","ReadItemOutput","readItemPhoto","ReadItemPhotoOutput","readLot","ReadLotOutput","readProxyBidder","ReadProxyBidderOutput","reopenLot","ReopenLotOutput","transferUnpaidBidsFromProxyToPrimary","TransferUnpaidBidsFromProxyToPrimaryOutput","updateAuction","UpdateAuctionOutput","updateBid","UpdateBidOutput","updateBidAndLotWinner","UpdateBidAndLotWinnerOutput","updateBidFor","UpdateBidForOutput","updateCategory","UpdateCategoryOutput","updateItem","UpdateItemOutput","updateItemPhoto","UpdateItemPhotoOutput","updateLot","UpdateLotOutput","updateProxyBidder","UpdateProxyBidderOutput","uploadItemsCSV","UploadItemsCSVOutput","userHasTopBids","UserHasTopBidsOutput","viewAllClosedAuctionsWithUnclosedLots","ViewAllClosedAuctionsWithUnclosedLotsOutput","viewAllLot","sourceID","ViewAllLotOutput","viewAllLotAnalytics","ViewAllLotAnalyticsOutput","viewAllocations","ViewAllocationsOutput","viewAuctionTotalValue","ViewAuctionTotalValueOutput","viewAuctionWithBidStatus","ViewAuctionWithBidStatusOutput","viewItemCategoriesByAuction","ViewItemCategoriesByAuctionOutput","viewItemCategoriesByEvent","ViewItemCategoriesByEventOutput","viewItems","ViewItemsOutput","viewItemsByCategory","ViewItemsByCategoryOutput","viewLotPhotos","ViewLotPhotosOutput","viewSilentAuctionAnalytics","ViewSilentAuctionAnalyticsOutput","viewTopBidForLot","ViewTopBidForLotOutput","viewUserLots","ViewUserLotsOutput","viewWinningBidsForAuctions","ViewWinningBidsForAuctionsOutput","AllAuctionSummary","autoClosedOn","numLots","AllocationSummary","isPickUpTonight","isPickUpLater","AssignNextTopBidInput","AuctionSummary","BidSummary","refundStatus","createdByBidLimitID","BuyNowInput","CanAssignNextTopBidInput","CategorySummary","ClearAllBidsInput","CloseAuctionInput","CloseLotInput","ClosePastDueInput","CountAllAuctionsInput","CountAllocationsInput","CountAuctionsInput","CountBidsInput","CountCategoriesInput","CountItemPhotosInput","CountItemsInput","CountLotsInput","CountProxyBiddersInput","CreateAuctionInput","CreateBidForInput","CreateBidInput","CreateBidLimitInput","CreateCategoryInput","CreateItemInput","donor","numAvailable","numAllocated","CreateItemPhotoInput","CreateLotInput","allocations","LotAllocation","CreateLotsFromItemsInput","bidMinimum","bidIncrement","roundTo","Item","CreateProxyBidderInput","DeleteAuctionInput","DeleteCategoryInput","DeleteItemInput","DeleteItemPhotoInput","DeleteLotInput","DeleteProxyBidderInput","GetAuctionTotalsByTypeInput","liveAuctionTotalAmountCents","silentAuctionTotalAmountCents","GetUsersTopBidCountsInput","userIDs","usersTopBidCounts","UserTopBidCount","GetWinningBidInfoInput","ItemPhotoSummary","ItemSummary","ListAllAuctionsInput","ListAllAuctionsToCSVInput","ListAllocationsInput","ListAllocationsToCSVInput","ListAuctionsInput","ListAuctionsToCSVInput","ListBidsInput","ListBidsToCSVInput","ListCategoriesInput","ListCategoriesToCSVInput","ListItemPhotosInput","ListItemPhotosToCSVInput","ListItemsInput","ListItemsToCSVInput","ListLotsInput","LotSummary","ListLotsOverviewInput","onlyPreviewLots","lots","LotOverview","ListLotsToCSVInput","ListProxyBiddersInput","ProxyBidderSummary","ListProxyBiddersToCSVInput","LotForUser","userLastBidAmountCents","lotDescription","myLastBidAmountCents","LotOverviewItem","categoryName","photos","LotOverviewItemPhoto","LotsForUserInput","originalBidMinimumCents","ReadAllAuctionInput","ReadAllocationInput","ReadAuctionInput","ReadBidInput","ReadCategoryInput","ReadItemInput","ReadItemPhotoInput","ReadLotInput","ReadProxyBidderInput","ReopenLotInput","TransferUnpaidBidsFromProxyToPrimaryInput","newUserID","UpdateAuctionInput","UpdateBidAndLotWinnerInput","UpdateBidForInput","UpdateBidInput","UpdateCategoryInput","UpdateItemInput","UpdateItemPhotoInput","UpdateLotInput","UpdateProxyBidderInput","UploadItemsCSVInput","duplicateRows","numItemsCreated","UserHasTopBidsInput","topBidCount","ViewAllClosedAuctionsWithUnclosedLotsInput","ViewAllClosedAuctionsWithUnclosedLotsSummary","ViewAllClosedAuctionsWithUnclosedLotsToCSVInput","ViewAllLotAnalyticsInput","ViewAllLotAnalyticsSummary","bidCount","lastBidTime","valuePercentageReached","ViewAllLotAnalyticsToCSVInput","ViewAllLotInput","ViewAllLotSummary","bidUserID","estimatedValueCents","bidValuePercentage","itemCategories","itemDonors","itemPhotoCount","myActiveBidLimitAmountCents","filterByUserID","ViewAllLotToCSVInput","ViewAllocationsInput","ViewAllocationsSummary","itemValueCents","itemDonor","itemTaxable","lotName","lotPhotoUrl","auctionName","ViewAllocationsToCSVInput","ViewAuctionTotalValueInput","ViewAuctionTotalValueSummary","totalValueCents","ViewAuctionTotalValueToCSVInput","ViewAuctionWithBidStatusInput","ViewAuctionWithBidStatusSummary","hasBid","ViewAuctionWithBidStatusToCSVInput","ViewItemCategoriesByAuctionInput","ViewItemCategoriesByAuctionSummary","ViewItemCategoriesByAuctionToCSVInput","ViewItemCategoriesByEventInput","ViewItemCategoriesByEventSummary","ViewItemCategoriesByEventToCSVInput","ViewItemsByCategoryInput","ViewItemsByCategorySummary","itemWithBidCount","ViewItemsByCategoryToCSVInput","ViewItemsInput","ViewItemsSummary","whereAt","ViewItemsToCSVInput","ViewLotPhotosInput","ViewLotPhotosSummary","itemPhotoID","ViewLotPhotosToCSVInput","ViewSilentAuctionAnalyticsInput","ViewSilentAuctionAnalyticsSummary","totalProceedsCents","totalGoalCents","bidderCount","noBidCount","lowBidCount","ViewSilentAuctionAnalyticsToCSVInput","ViewTopBidForLotInput","ViewTopBidForLotSummary","topBidderID","topBidTime","topBidUserID","ViewTopBidForLotToCSVInput","ViewUserLotsInput","ViewUserLotsSummary","ViewUserLotsToCSVInput","ViewWinningBidsForAuctionsInput","ViewWinningBidsForAuctionsSummary","ViewWinningBidsForAuctionsToCSVInput","RaffleRestService","confirmBatchReservation","ConfirmBatchReservationOutput","confirmBatchReservation2","ConfirmBatchReservation2Output","createPurchaseLevel","CreatePurchaseLevelOutput","CreateRaffleOutput","createTicket","CreateTicketOutput","deleteBatchReservation","DeleteBatchReservationOutput","deleteBatchReservation2","DeleteBatchReservation2Output","deletePurchaseLevel","DeletePurchaseLevelOutput","deleteRaffle","DeleteRaffleOutput","DeleteTicketOutput","deleteTicketBatch","DeleteTicketBatchOutput","listPurchaseLevels","ListPurchaseLevelsOutput","ListRafflesOutput","listTickets","ListTicketsOutput","notifyWinners","NotifyWinnersOutput","readPurchaseLevel","ReadPurchaseLevelOutput","readRaffle","ReadRaffleOutput","readTicket","ReadTicketOutput","resendEmailForBatchReservation","ResendEmailForBatchReservationOutput","selectWinners","SelectWinnersOutput","updatePurchaseLevel","UpdatePurchaseLevelOutput","updateRaffle","UpdateRaffleOutput","UpdateTicketOutput","ConfirmBatchReservation2Input","ConfirmBatchReservationInput","CreatePurchaseLevelInput","CreateRaffleInput","CreateTicketInput","reserved","ids","codes","DeleteBatchReservation2Input","DeleteBatchReservationInput","DeletePurchaseLevelInput","DeleteRaffleInput","DeleteTicketBatchInput","DeleteTicketInput","ListPurchaseLevelsInput","PurchaseLevelSummary","ListRafflesInput","RaffleSummary","ListTicketsInput","TicketSummary","ListTicketsToCSVInput","NotifyWinnersInput","ReadPurchaseLevelInput","ReadRaffleInput","rulesMarkdown","thankYouMessageMarkdown","displayProgressInFlow","purchaseLevelOrder","hasPaymentRestrictions","isCardAllowed","isCashAllowed","isCheckAllowed","isOtherAllowed","ReadTicketInput","winnerOn","prizeWonDescription","rejectedOn","rejectedReason","sentEmailOn","sentSMSOn","redeemedOn","ResendEmailForBatchReservationInput","SelectWinnersInput","numWinnersToSelect","UpdatePurchaseLevelInput","UpdateRaffleInput","UpdateTicketInput","ItemName","ItemSubtitle","GroupedPurchasedItemSummary","CartItemComponent","cartItemsService","useCompactRows","showCheckbox","isItemSelected","ngOnInit","onItemSelected","selectedItem","JSON","parse","selected","Donation","AppealDonation","subtitle","Impact","FixedPrice","SilentAuction","LiveAuction","Raffle","MiscCharge","ɵcmp","NgClass","NgIf","MatCheckbox","NgControlStatus","NgModel","NgSwitch","NgSwitchCase","NgSwitchDefault","MatIcon","ExtendedCurrencyPipe","args","selector","templateUrl","styleUrls","CartItemsListComponent","virtualEventClient","inventoryClient","raffleClient","itemType","aggregateItemsByType","allowUnpaidItemsSelection","groupedItems","buildFunctionToFind","itemToFind","itemInArray","ngOnChanges","aggregateItems","getImpactPhotoURLs","getFixedPriceItemPhotoURLs","aggregateRaffleItems","formatRaffleItems","getRafflePhotoURL","sortAuctionLots","getAuctionLotPrimaryPhotoURL","sortItemsByName","aggregatedItems","forEach","existingItem","Array","aggregatedRaffles","raffleItem","sortedItems","sort","a","b","impactItem","cartImageURL","fixedPriceItem","auctionItem","NgForOf","CartListComponent","order","selectAllItems","itemsPaidStatus","UNPAID","onSelectAllItemsChanged","PAID","PaymentLinkDialogData","guestSummary","PaymentLinkDialogOutput","refreshCart","exitCart","PaymentLinkDialogStage","PaymentLinkDialogComponent","dialogData","dialogRef","defaultPhoneNumber","attendeeName","phoneNumberControl","required","stage","ENTRY","setValue","applyPhoneNumberMask","trim","onClose","close","onReturnToHome","onWaitForPayment","onReset","onSend","LOADING","invalid","markAsTouched","SENT","MatDialogRef","NgTemplateOutlet","MatFormField","MatLabel","MatInput","DefaultValueAccessor","FormControlDirective","PhoneNumberDirective","MatButton","MatSuffix","MatError","MatSpinner","encapsulation","None","decorators","GivingRestService","addDonation","AddDonationOutput","addManualPayment","AddManualPaymentOutput","addPayment","AddPaymentOutput","addReceipt","AddReceiptOutput","addRefund","AddRefundOutput","allInOnePurchase","AllInOnePurchaseOutput","createMerchantAccountUpdate","CreateMerchantAccountUpdateOutput","getCardInfo","GetCardInfoOutput","getMerchantAccountUpdate","GetMerchantAccountUpdateOutput","getPurchaseSummary","GetPurchaseSummaryOutput","getReceiptData","GetReceiptDataOutput","getRefundByExternalID","GetRefundByExternalIDOutput","getRefundListByPaymentID","GetRefundListByPaymentIDOutput","getSourceAggregates","GetSourceAggregatesOutput","getSourceLatestDonors","GetSourceLatestDonorsOutput","initializePurchase","InitializePurchaseOutput","initializeTicketPurchase","InitializeTicketPurchaseOutput","itemPurchaseAllInOne","ItemPurchaseAllInOneOutput","sendReceipt","SendReceiptOutput","updatePurchaseAggregates","UpdatePurchaseAggregatesOutput","voidReceiptAndReissue","VoidReceiptAndReissueOutput","AddDonationInput","sourceName","sourceData","amount","DonationDescription","purchaseSummary","AddItemInput","isDonation","parentSource","supporterFirstName","supporterLastName","supporterEmail","supporterMobilePhone","AddManualPaymentInput","PaymentDescription","transactionSuccess","AddPaymentInput","partnerMerchantId","PaymentTypeOtherNotes","cardHolderUserID","stripeCustomerID","coverCostFeeAmountCents","feeAmountCents","ticketFeeAmountCents","returnFake","AddReceiptInput","receiptNumber","receiptID","AddRefundInput","reason","refundAmount","AddTicketInput","ticketDetails","eventDetails","TicketDetails","EventDetails","AllInOneDonationOutput","AllInOnePaymentOutput","AllInOnePurchaseInput","purchase","payments","InitializePurchaseInput","CreateMerchantAccountUpdateInput","externalId","merchantType","donorFirstname","donorLastName","donorStreet","donorCity","donorState","donorZip","donorPhone","donorEmail","recipient","recipientUrl","isDedication","dedicationOptions","dedicationHonoree","Donor","logoURL","eventDateDisplay","color","attendeeMessage","GetCardInfoInput","creditCardCryptogram","cardExpiration","GetIframeInput","GetIframeOutput","template","GetMerchantAccountUpdateInput","merchantAccountUpdate","MerchantAccountUpdate","GetPurchaseSummaryInput","total","totalDonations","totalTickets","totalPaid","totalPaidDonations","totalPaidTickets","totalCoveredCosts","totalSalesTax","totalCard","totalCardRefundsAmount","totalCash","totalCheck","totalOther","totalFeesWithheldFromRefundsAmount","donationCount","paymentCount","refundedPaymentCount","latestRefundStatus","latestDisputeStatus","GetReceiptDataInput","html","GetRefundByExternalIDInput","refund","Refund","GetRefundListByPaymentIDInput","refunds","GetSourceAggregatesInput","totalDonated","totalExternalDonations","GetSourceLatestDonorsInput","donors","IDOutput","receiptDetails","PurchaseDescription","ReceiptDetails","InitializeTicketOutput","givingTicketID","InitializeTicketPurchaseInput","ItemPurchaseAllInOneInput","payment","payerPhone","payerEmail","orgName","orgStreet","orgCity","orgState","orgZip","orgPhone","orgWebsite","orgEmail","orgLogoURL","orgTaxID","primaryColor","taxMessage","eventName","initiatedByUserID","feesWithheldAmount","SendReceiptInput","preserveEmail","UpdatePurchaseAggregatesInput","VoidReceiptAndReissueInput","IframeService","environmentService","getIframeURL","urlPath","getURL","EnvironmentService","providedIn","PaymentApiJsComponent","iframeService","elementRef","paymentJsLoaded","loaded","ngAfterViewInit","loadPaymentJs","changes","self","script","document","createElement","style","innerHTML","onload","scriptLoaded","src","nativeElement","appendChild","emit","ElementRef","CardInfo","CreditCardFormComponent","givingRestService","iFrameID","tokenized","onChange","val","onTouched","writeValue","registerOnChange","fn","registerOnTouched","options","initializePaymentJsV2","handleIframeResponse","cardInfoOutput","cardInfo","nonce","lastFourDigits","provide","useExisting","multi","providers","PaymentMethodCreditCardComponent","matDialog","attendeeService","guestCardSummaries","showPaymentLinkButton","showBillingAddressForm","requireBillingAddressForm","showSaveCreditCardCheckbox","saveCreditCardCheckboxLabel","selectedGuestCardSummaryOutput","paymentLinkOutput","domain","showCreditCardForm","creditCardForm","billingAddress","selectedCardSummary","saveCreditCardCheckboxDefaultValue","saveCreditCardOnFile","mobileView","onResize","window","innerWidth","addControl","valueChanges","getOutputData","setDefaultSelectedGuestCardSummary","getSelectedCardSummaryOutputData","card","setShowCardEntryForm","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","creditCardFormData","isBillingAddressInformationValid","useCreditCardOnFile","billingStreet","billingCity","billingState","billingZip","billingCountry","getCardImageURL","openPaymentLinkDialog","open","width","maxWidth","minHeight","restoreFocus","afterClosed","MatDialog","ɵNgNoValidate","NgControlStatusGroup","FormGroupDirective","FormControlName","AddressFormComponent","MatRadioGroup","MatRadioButton","MatMenuTrigger","MatMenu","MatMenuItem","PaymentOutput","PaymentOptionsConfig","isCardDisabled","isCashDisabled","isCheckDisabled","isOtherDisabled","PaymentOption","PaymentType","PaymentMethodDropdownComponent","paymentFormOutput","paymentOptions","selectedPaymentOption","paymentDescription","paymentFormGroup","selectedGuestCardSummaryData","configurePaymentOptions","getPaymentFormOutput","formsAreValid","valid","isValid","showPaymentDescription","useCardOnFile","selectedGuestCardData","onSelectionChange","selectedOption","clearValidators","paymentDescriptionValidation","setValidators","updateValueAndValidity","disabled","optionConfig","displayText","check","paymentDescriptionLabel","maxLength","cash","other","option","setCreditCardData","setGuestCardSummaryData","MatSelect","RequiredValidator","MatOption","PaymentStatus","PaymentDialogData","PaymentStatusDialogComponent","PickupDialogData","PaymentActionDialogComponent","closeButtonClicked","actionButtonClicked","closeButtonClick","actionButtonClick","FixedPriceFormComponent","fixedPriceFormGroup","fixedPriceItem$","fixedPriceItemSelect","fixedPriceItemQuantity","maxQuantity","showQuantity","loadFixedPriceItems","min","addValidators","control","max","controls","calculateTotal","setQuantity","isSoldOut","getNumAvailableString","moveSoldoutItemsToBottom","results","soldoutItems","concat","MatSelectTrigger","NumberValueAccessor","MatHint","AsyncPipe","BuyItemsRestService","buyItemsAuth","MiscChargeFormComponent","miscChargeFormGroup","pattern","MatPrefix","NumbersOnlyFormatter","initialize","formattedValue","removeNonNumbers","emitEvent","emitViewToModelChange","newValue","replace","RaffleWithPurchaseLevels","ticketPurchaseLevels","RaffleTicketPurchaseLevel","QuantityControl","incrementorMax","RaffleStatuses","RaffleFormComponent","currency","raffleRestService","raffleFormGroup","raffleWithPurchaseLevels","purchaseLevels","remainingTicketsDisplay","expandedID","expandedQuantityControls","raffleStatus","loading","selectedPurchaseLevelID","selectedQuantityTickets","selectedAmountCents","loadRaffle","setRaffleStatus","purchaseListInput","purchaseLevel","getMaxQuantityAllowedForPurchaseLevel","getTotalPriceCalculation","soldOut","now","closed","maxTicketsCurrentlyAvailable","quantityAllowed","Math","floor","isPurchaseLevelExpanded","onPurchaseLevelSelected","expandedControl","getExpandedQuantityControl","getExpandedPurchaseLevel","element","selectedControl","getPurchaseLevelText","label","price","transform","canDecrease","decreaseCount","Number","canIncrease","level","totalQuantityAllowed","increaseCount","numberOfTickets","getErrorMessageText","hasError","getTotalTicketCalculation","expandedPurchaseLevel","incrementorValue","MatExpansionPanel","DatePipe","AddChargeDialogInput","event","cssTheme","AddChargeDialogOutput","success","ItemType","AddChargeDialogComponent","buyItemsRestService","dialog","snackBar","attendeeFullName","isCoveringCosts","coverCostsEnabled","coverCostsPercent","coverCostsAmountCents","coverCostsMessage","disableAddToCart","submitButtonDisabled$","addChargeFormGroup","itemTypeFormGroup","paymentSelection","fixedPriceFormChild","titleMap","Map","miscCharge","modalAction","isDestroyed$","join","configureRaffle","getSubmitButtonState","calculateTotals","ngOnDestroy","complete","round","toFixed","onCoverCostChange","isChecked","cancel","save","isPaymentMethodValid","isValidType","markAllAsTouched","submittingDialogRef","PROCESSING","height","disableClose","componentInstance","SUCCESSFUL","message","messageSubtext","closeButtonText","actionButtonText","markItemAsPickedUp","setTimeout","saveGuestCreditCardInput","reloadData","UNSUCCESSFUL","errorResponseHandler","updateFixedPricePickedUpInput","duration","horizontalPosition","verticalPosition","panelClass","onPaymentMethodUpdated","raffleInput","output","payOptionConfig","defaultMessage","isFriendlyError","friendlyErr","MatSnackBar","ThemeDirective","AddChargeComponent","virtualEventService","chargeAdded","filterForFixedPrice","onAddChargeItemClick","getSubtitle","maxHeight","autoFocus","impact","orderImpactList","mappedItems","reduce","arr","includes","OrderSummaryComponent","subtotal","tax","coverCosts","showCoverCosts","ComponentsModule","ɵmod","ɵinj","declarations","imports","exports","GetSubtotalAndTaxFromItemsOutput","CartUtils","getSubtotalAndTaxFromItems","acc","curr","PaymentDetailsComponent","cartService","hideSuccessModal","paymentSubmitted","paymentTotalVerified","selectedItemIDs","eventContactPhone","setupItemSubscription","onSubmit","buildPayForAttendeeItemsInput","successMessage","errorMessage","totals","onFormChange","paymentOutput","handlePaymentLinkOutput","payInput","subtotalAndTax","dropdownComponent","EventDayToolsCartComponent","hidePaidItems","cartState","selectedUnpaidItems","unpaidItems","paidItems","userCard","destroy$","initAttendee","initCartItems","setCartState","handleItemSelected","EMPTY","LOADED","handlePaymentSubmitted","reloadPurchasedItems","GivingManagementRestService","findUserCard","res","getUserCardForSourceByUserID","UserCard","FindUserCardInput","FindUserCardOutput","GetUserCardForSourceByUserIDInput","GetUserCardForSourceByUserIDOutput","EventDayToolsCartModule","OrderSummaryDetails","RegisteredGuestCartOrderSummaryComponent","orderSummaryDetails","RegisteredGuestCartPaymentDetailsComponent","cardInfoUpdated","guestCardUpdated","paymentMethodVerified","guestCardSummary","verifyPaymentMethod","guestCard","PaymentSubmitted","successful","RegisteredGuestCartPaymentButtonComponent","selectedGuestCardSummary","orderSummaryUpdated","paymentContainer","isSticky","stickyPaymentContainer","observer","IntersectionObserver","e","intersectionRatio","threshold","root","observe","buildPayForItemsInput","payForItemsInput","static","RegisteredGuestCartComponent","selectedGuestCardInfo","unpaidItemsListUpdated","setCardInfo","setGuestCardInfo","selectedCardInfo","setPaymentMethodVerified","setOrderSummary","orderSummary","RegisteredGuestCartModule","RegFreeCartPaymentMethod","RegistrationFreeCartPaymentDetailsComponent","coverCostAmountCents","emailOverride","paymentMethodOut","cardInfo$","guestCardSummary$","initForm","paymentMethodValid","cardInput","newCard","cardSummary","RegistrationFreeCartPaymentSubmitComponent","coverCostsChange","invalidToken","submitPayment","errorMessageSubtext","coverCostToggle","NgStyle","RegistrationFreeCartComponent","themeColor","coverCostEnabled","coverCostMessage","processToken","calcTotal","coveringCost","setCreditCardForm","form","parsedToken","parseToken","currTime","valueOf","exp","roles","role","fromGenericObject","context","accessToken","tokenPieces","split","atob","Window","RegistrationFreeCartModule","Pipe","InjectionToken","Optional","Directive","HostBinding","CurrencyPipe","AsyncSubject","throwError","timer","HttpErrorResponse","HttpBackend","HTTP_INTERCEPTORS","mergeMap","finalize","shareReplay","tap","catchError","flatMap","countryListLookup","USA","zipCodeRegexp","zipCodeLabel","CAN","ZipCodeValidator","countryListLookup$1","ZIPCODE_REGEXP","test","invalidZip","states","provinces","nameLookup","codeLookup","codeAndNameLookup","toLowerCase","province","statesNameLookup","statesCodeLookup","statesCodeAndNameLookup","getName","getCode","StateSelectComponent","optionList","stateSelectForm","stateSelect","isRequired","showLabel","hint","countryCode","setListeners","initStateOptionList","previousValue","currentValue","CountrySelectComponent","countryLookupList","countrySelectForm","countrySelect","key","addressFormFieldsRequired","addressInformation","addressForm","zipCode","getZipCodeLabel","markAsUntouched","outputFormData","AsyncDefaultPipe","defaultValue","ɵpipe","AsyncModule","angularCurrencyPipe","numberOfDigits","RefreshTokenInput","refreshToken","c","roleObject","newRole","isArray","hasOwnProperty","Key","Value","getContextValue","hasContextValue","contextValue","Context","factory","environmentDataSubject","environmentData","loadEnvironmentData","subdomain","path","getServiceURL","serviceURL","trimEndSlash","trimStartSlash","urls","baseDomain","getAppParam","paramName","appParams","preloadedEnvironmentData","phaasEnvironment","environmentPresent","fetch","then","json","EnvironmentModule","CurrentUserModule","AuthIFrameMessage","AuthTokens","CentralAuthStoreService","env","setTokensSubjects","getTokensSubjects","currentTokens","oneFetchRunning","authIFrameLoadedSubject","initializationComplete","listenForIFrameMessages","loadIFrame","setTokens","tokens","setTokensSubject","postMessage","getTokens","getTokenSubject","resetCache","authIFrame","contentWindow","processIframeInitMessage","processGetTokensMessage","sub","processSetTokensMessage","addEventListener","authURL","setAttribute","display","body","jsonToken","getroles","partial","UpdateProfileInput","UpdateProfileOutput","ERR_UNAUTHENTICATED","CurrentUserService","authStore","isLoggedIn$","profile$","roles$","refresh$","t","isLoggedIn","callFrom","console","log","refreshTokens","callRefreshToken","updateTokens","logout","Promise","resolve","goToLogin","_","loginPageURL","currentPage","location","href","startsWith","assign","goToNoAccess","getProfile","authorizationHeader","updateProfile","callUpdateProfile","getRoles","getFullRolesList","tokenRefreshBody","AuthHttpInterceptorHandler","interceptor","handle","req","intercept","authHttpClientFactory","backend","interceptors","reduceRight","AUTH_HTTP_INTERCEPTORS","handler","HttpHandler","CIRCULAR_SEND","HttpSender","sessionID","sendUrl","currentUser","sendQueue","defaultFilter","send","values","indexOf","yes","strValues","v","String","doSend","XMLHttpRequest","setRequestHeader","onloadend","logs","splice","LogLevel","LogLevelUtil","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","SessionIDService","getSessionID","sessionStorage","getItem","makeID","setItem","characters","charAt","random","SessionIDModule","LoggerService","sessionIDService","getSendURL","u","httpSender","consoleLog","optionalParams","consoleError","consoleWarn","warn","consoleTrace","trace","debug","onerror","ev","unhandledRejection","logUserAgentInfo","logScreenInfo","info","cleanedData","stack","msg","shift","lineNo","columnNo","documentElement","clientWidth","clientHeight","innerHeight","navigator","userAgent","LoggingModule","LoggerServiceMock","AuthInterceptor","currentUserService","logger","request","authRequest","setAuthHeader","method","refreshErr","refreshedTokens","authRequestReattempt","clone","setHeaders","Authorization","EnvironmentInterceptor","regex","environmentStub","match","TimeZoneInjectionToken","Intl","DateTimeFormat","resolvedOptions","TimeZoneInterceptor","DowntimeInterceptor","environment","shouldInterceptResponse","ForbiddenInterceptor","HttpModule","useFactory","deps","useClass","PhaasResponse","fieldMessages","DocumentInjectionToken","field","comparator","group","FilterGroup","FilterOption","filterParameters","requiresValue","Filter","enabled","SortDirection","SortParameter","direction","_take","_skip","_filters","_sorts","take","skip","filters","sorts","queryParam","isInteger","Skip","Sort","Sorts","initializePhoneFormatter","area","slice","phoneControl","change","target","newVal","cursorPosition","selectionStart","maskedVal","isBackspace","calculateCursorPosition","selectionEnd","nonNumericPositions","pos","reverse","NgControl","ɵdir","PhoneNumberPipe","defaultToInput","cleaned","PHONE_REGEXP","invalidPhone","RoleToCheck","contextValuesFromPath","withContextValueFromPath","contextKey","RoleGuard","canActivate","route","hasAccess","canActivateChild","userRoles","allowedRoles","some","userRole","isRoleAllowed","allowedRole","every","paramValue","paramMap","RGB","r","g","fromHex","hexColor","bigint","parseInt","rgb","ColorService","primaries","getContrastingTextColor","o","getThemeName","addPrimaryColorTheme","themeName","has","themeClassName","createTextNode","contrastColor","setContrastingTextColor","head","getElementsByTagName","colorService","className","theme","WebSocketMessage","eventData","parsedData","WebSocketFactory","create","WebSocket","IdleTimeout","KeepAliveTime","PauseBeforeReconnectMin","PauseBeforeReconnectMax","MaxOpens","SocketStatus","WebSocketClientService","websocketFactory","wsIsOpening","lastStatus","wsStatus","wsMessages","authTokens","connected$","inTrouble$","isDead$","maxOpens","pauseBeforeReconnectMin","pauseBeforeReconnectMax","metrics","retry","s","isConnected","isInTrouble","isDead","connect","authToken","wsURL","isNew","openConnection","sendToken","listen","messageTypes","reanimate","subscriptionToken","Open","ws","websocketURL","onopen","metricsSummary","Closed","onclose","ce","waitBeforeReconnect","getRandomInt","toLog","Error","onmessage","ceil","WebsocketModule","COMPILER_OPTIONS","CompilerFactory","Compiler","ViewContainerRef","__awaiter","JitCompilerFactory","i2$2","i3$2","BrowserAnimationsModule","MatButtonToggleModule","MatProgressBarModule","i3$3","HTTPFetcherSourceRefreshConfig","FetcherSources","ComponentValidationResult","isSubmittable","validsProvided","isValids","numPossible","numGood","isIndifferent","progress","ComponentStoreService","subjects","changed","$changed","subj","FETCHERSOURCE_FACTORY","CurrentUser","currentUser$","FetchInternalService","store","http","authHttp","wsClient","sourceFactories","configured","$urlFetches","urlFetchSubjects","urlFetchTriggers","initSources","sources","sandboxed","dsName","ds","entries","tokenUrl","initHTTPSource","rawFetchDefinition","fetchOne","chunks","previousChar","thisChar","lastStart","lastEnd","x","endingChunk","substr","vs","doInitialTrigger","trigger","client","refresh","interestingMessages","websocket","decorSplit","fetchDefinition","storeMatch","storeRegExp","exec","storeName","dataPath","d","followDataPath","decorate","dataMatch","dataRegExp","$ds","f","mapSource","dss","envMatch","envRegExp","controllerMatch","controllerRegExp","obs","props","decorator","PageScanResult","page","isTopLevel","InternalPageScanResult","returnNext","PageScanner","fetcherInternal","scan","pageSource","targetPageID","allowRecurse","intern","recursingScan","findNext","currentPageID","findPrevious","depth","lookingForNext","lookingForPrevious","previous","pages","skipPage","toPromise","skipPrev","ControllerService","storeService","pageScanner","pageIsNavigable","activeComponents","activeComponentsAreValid","flowChanged","activeComponentsAreValid$","flowChanged$","invalidateComponentValidation","setFlow","flow","flowIsChanging","scanResult","internalSetFlow","previousPage","signalFlowComplete","parent","registerActiveComponent","submit","submittedObservables","validate","lastValidation","done","pageIsChanging","totalProgress","cRes","PageBase","pageConfig","ComponentBase","configChanged","dataChanged","COMPONENT_TYPE$c","ComponentUnknownComponent","styles","COMPONENT_FACTORY","FetcherService","controller","process","from","to","wrapInObservable","emitSubject","processInternal","prototype","call","keyValue","ComponentOutletHostDirective","viewContainerRef","ComponentOutletComponent","factories","componentFactoryResolver","controllerService","fetcher","isHidden","component","host","componentToRender","mapType","render","ngDoCheck","componentFactory","resolveComponentFactory","clear","shallowConfig","cleanConfig","cleanData","visibleOpt","visible","componentRef","createComponent","instance","ComponentFactoryResolver","PAGE_TYPE$3","PageStackComponent","class","PAGE_FACTORY","PageOutletHostDirective","PageOutletComponent","checkRender","fetcherSources","pageRef","ControllerComponent","URLSearchParams","search","ComponentFilterPipe","outlet","pure","CompilerFactoryFunc","createCompiler","compilerFactory","ControllerModule","useValue","FlowTemplate","generate","paramValues","walk","obj","ProfileDTO","phone","addressLine1","addressCity","addressState","addressZip","AuthenticationResult","mustChangePassword","profile","RegisterUserDTO","ChangePasswordDTO","ResetPasswordDTO","GoogleLoginInput","FacebookLoginInput","AuthService","authEnvironment","isUsernameRegistered","username","login","googleLogin","facebookLogin","register","user","registerAndLogin","changePassword","resetPassword","reset","authHeader","sendResetPasswordEmail","referrer","syncRolesFromBidpalToPhaas","sendLoginMessage","CheckEmailStepOutput","CheckEmailStepComponent","authService","subheader","checkEmailDiv","scrollHeight","emailControl","isRegistered","NgForm","MatPlaceholder","LoginStepComponent","fb","activatedRoute","disableChangeEmail","loginSuccess","startOver","logoUrl","forgotPasswordURL","showPassword","showMagicLink","magicLinkSent","getReferrer","snapshot","queryParams","magicLinkReferrer","initFocus","loginDiv","minLength","disable","loginForm","handleStartOver","loginFailed","wrongPassword","togglePassword","errors","enable","setErrors","passwordInput","focus","sendMagicLink","magicLinkTargetImageURL","magicLinkTargetName","resolved","includeLink","targetImageURL","targetName","emailInput","scrollIntoView","FormBuilder","ActivatedRoute","PasswordWithRequirementsComponent","requirementsMet","hasLength","hasUppercase","hasLowercase","hasNumber","hasSpecial","passwordControl","validatePassword","lengthReq","reqsMet","currentPassword","checkUppercase","RegExp","checkLowercase","checkSpecial","SignUpStepComponent","snackbar","signUpSuccess","signUpDiv","signUpForm","AuthSteps","COMPONENT_TYPE$b","ComponentAuthTwoStepComponent","defaultLookupStepHeader","defaultLookupStepSubheader","defaultLoginStepHeader","defaultLoginStepSubheader","currentStep","checkEmail","isAuthenticated","isAdvancing","redirectAfterAuthSuccess","redirect","initialEmail","handleCheckEmail","signUp","handleAuthSuccess","checkEmailOut","redirectAfterSuccess","defaultRedirectURL","phaasDomain","redirectURL","COMPONENT_TYPE$a","ComponentLogoutComponent","go","AuthComponentsFactoryService","componentDefinition","FacebookButtonComponent","scopes","appId","available","signin","loadFacebook","fbAsyncInit","FB","init","cookie","xfbml","version","AppEvents","logPageView","fbOnLogin","bind","fjs","getElementById","js","parentNode","insertBefore","authResponse","GoogleButtonComponent","clientId","loadGoogle","googleAuthInit","gapi","load","auth2","client_id","cookiepolicy","scope","attachSignin","attachClickHandler","googleUser","SocialLoginComponent","googleClientId","googleIsReady","facebookAppId","facebookIsReady","facebookAppID","googleOAuthClientID","googleAvailable","googleSignin","idToken","getAuthResponse","id_token","handleLoginSuccess","facebookAvailable","facebookSignin","AuthComponentsModule","COMPONENT_TYPE$9","ComponentBannerComponent","COMPONENT_TYPE$8","ComponentControllerButtonComponent","validation","progressWidth","disableButton","isGoing","disableButton$","calcDisabled","doSubmitsBeforeNext","validateBeforeNext","joined","newValidation","validateBeforeEnable","DemographicsData","COMPONENT_TYPE$7","USA_ZIP_REGEXP","CAN_ZIP_REGEXP","ComponentDemographicsComponent","stateLabel","storeID","setStore","setControl","removeValidators","_r","_s","_t","controlName","configEntry","default","def","MaxLengthValidator","IconCollection","ComponentIconComponent","COMPONENT_TYPE$6","ComponentImageComponent","container","read","ComponentLinkType","ComponentLinkComponent","MatAnchor","COMPONENT_TYPE$5","ComponentMarkdownConfig","ComponentMarkdownComponent","markdown","loadMarkedjs","marked","markedSub","markedScript","COMPONENT_TYPE$4","ComponentObjectTesterComponent","JsonPipe","COMPONENT_TYPE$3","ComponentProgressBarComponent","cv","percent","maxValue","current","MatProgressBar","COMPONENT_TYPE$2","ComponentSandboxComponent","content","iframe","border","COMPONENT_TYPE$1","ComponentSubmitTesterComponent","submittable","submitCompletes","CheckboxControlValueAccessor","COMPONENT_TYPE","ComponentTitleComponent","ComponentsFactoryService","FetchersFactoryService","FetchersModule","PAGE_TYPE$2","PageGridConfig","columns","rows","areas","PageGridComponent","PAGE_TYPE$1","Page3ColumnComponent","PAGE_TYPE","PageGrowingCenterColumnComponent","PagesFactoryService","pageDefinition","PagesModule","defineProperty","tslib_1","require","events_1","Role_1","SigV4RequestSigner_1","DateProvider_1","__importDefault","utils_1","MessageType","ReadyState","SignalingClient","_super","__extends","_this","readyState","CLOSED","pendingIceCandidatesByClientId","hasReceivedRemoteSDPByClientId","validateValueNonNil","Role","VIEWER","validateValueNil","region","channelEndpoint","__assign","requestSigner","credentials","SigV4RequestSigner","dateProvider","systemClockOffset","onOpen","onMessage","onError","CONNECTING","asyncOpen","catch","__generator","getSignedURL","getDate","sent","CLOSING","sendSdpOffer","sdpOffer","recipientClientId","sendMessage","SDP_OFFER","toJSON","sendSdpAnswer","sdpAnswer","SDP_ANSWER","sendIceCandidate","iceCandidate","ICE_CANDIDATE","messagePayload","OPEN","validateRecipientClientId","serializeJSONObjectAsBase64String","cleanupWebSocket","removeEventListener","parsedEventData","parsedMessagePayload","parseJSONObjectFromBase64String","messageType","senderClientId","emitPendingIceCandidates","emitOrQueueIceCandidate","base64EncodedString","object","btoa","clientIdKey","DEFAULT_CLIENT_ID","pendingIceCandidates","MASTER"],"sourceRoot":"webpack:///"}
\n {{headerText}}\n \n {{dataAccessor(data, name)}}\n