{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-app_8-md.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAC6G;AACxF;AACjB;AAClB;AAC+C;AACc;AACxC;AACgC;AACtF;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA,+BAA+B,6DAAU;AACzC,qBAAqB,qDAAM;AAC3B,oBAAoB,6KAAiC,yBAAyB,6BAA6B,qDAAM,EAAE,EAAE;AACrH;AACA,oBAAoB,qDAAM;AAC1B,oBAAoB,+KAAkC,yBAAyB,gCAAgC,EAAE;AACjH;AACA,oBAAoB,qDAAM;AAC1B,oBAAoB,iLAAmC,yBAAyB,+BAA+B,qDAAM,EAAE,EAAE;AACzH;AACA,oBAAoB,qDAAM;AAC1B,oBAAoB,mMAA4C,yBAAyB,yCAAyC,EAAE;AACpI;AACA,gBAAgB,qLAAqC,yBAAyB,mCAAmC,EAAE;AACnH,aAAa;AACb;AACA;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,gBAAgB;AACzC;AACA;AACA,gDAAgD,qDAAM;AACtD,qBAAqB;AACrB;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA,0BAA0B,iCAAiC,yBAAyB,sBAAsB,qBAAqB,iBAAiB,gCAAgC,yBAAyB,EAAE,EAAE;AAC7M;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,WAAW,6DAAU,mBAAmB,6DAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,gBAAgB;AACzC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,0BAA0B,8BAA8B,oBAAoB,aAAa,sBAAsB,mBAAmB,gCAAgC,wBAAwB,WAAW,kCAAkC,cAAc,eAAe,aAAa,gBAAgB,gBAAgB,mBAAmB,oBAAoB,kBAAkB,kBAAkB,gBAAgB,iBAAiB,YAAY,eAAe,gBAAgB,6FAA6F,kCAAkC,kBAAkB,mBAAmB,yBAAyB,wBAAwB,uBAAuB,uBAAuB,qDAAqD,oBAAoB,4HAA4H,gBAAgB,0CAA0C,wCAAwC,4DAA4D,8DAA8D,wIAAwI,uCAAuC,iDAAiD,4CAA4C,yCAAyC,8BAA8B,sCAAsC,oCAAoC,4IAA4I,yCAAyC,0DAA0D,mBAAmB,mBAAmB,sBAAsB,qBAAqB,oBAAoB,cAAc,eAAe,aAAa,gBAAgB,WAAW,YAAY,+BAA+B,uCAAuC,qCAAqC,uEAAuE,iFAAiF,oEAAoE,8EAA8E,gEAAgE,uCAAuC,uCAAuC,yBAAyB,mCAAmC,sEAAsE,wCAAwC,6EAA6E,gBAAgB,+BAA+B,uEAAuE,qCAAqC,yBAAyB,wCAAwC,4CAA4C,cAAc,eAAe,aAAa,gBAAgB,kBAAkB,gBAAgB,6FAA6F,4CAA4C,mBAAmB,wBAAwB,wBAAwB,0CAA0C,cAAc,eAAe,aAAa,gBAAgB,iBAAiB,gBAAgB,6FAA6F,0CAA0C,kBAAkB,0BAA0B,0BAA0B,gDAAgD,eAAe,gBAAgB,cAAc,iBAAiB,cAAc,eAAe,aAAa,gBAAgB,gBAAgB,EAAE,EAAE;AACtwH;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAU;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,8BAA8B,2DAAW;AACzC,yBAAyB,2DAAW;AACpC,4BAA4B,2DAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6DAAU;AAC1C;AACA;AACA;AACA;AACA,YAAY,2DAAQ;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,YAAY,2DAAQ;AACpB;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,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,oBAAoB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B;AACA,kDAAkD,qDAAM;AACxD;AACA,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,sCAAsC,EAAE,4DAAkB,uBAAuB,0CAA0C,4DAAW;AAC/J;AACA;AACA,aAAa,EAAE,EAAE,2DAAC,UAAU;AAC5B;AACA;AACA;AACA;AACA,aAAa,sBAAsB,4BAA4B,EAAE,2BAA2B,2BAA2B,EAAE,EAAE,EAAE,2DAAC,qCAAqC,2DAAC,SAAS,6BAA6B,EAAE,2DAAC,SAAS,4BAA4B,GAAG,2DAAC,SAAS,6BAA6B,YAAY,2DAAC,UAAU,gBAAgB;AACnU;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA,0BAA0B,eAAe,8CAA8C,mCAAmC,kBAAkB,qBAAqB,oBAAoB,kBAAkB,sBAAsB,iBAAiB,oBAAoB,gBAAgB,cAAc,kBAAkB,WAAW,OAAO,WAAW,YAAY,mBAAmB,oBAAoB,2CAA2C,mBAAmB,gCAAgC,iCAAiC,gCAAgC,sBAAsB,8CAA8C,cAAc,OAAO,QAAQ,iCAAiC,uCAAuC,kCAAkC,iCAAiC,yDAAyD,2FAA2F,kBAAkB,6BAA6B,mBAAmB,8BAA8B,sBAAsB,gBAAgB,6FAA6F,cAAc,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,oBAAoB,iCAAiC,4BAA4B,yBAAyB,4BAA4B,UAAU,uBAAuB,mBAAmB,2BAA2B,UAAU,uBAAuB,mBAAmB,2BAA2B,mBAAmB,sBAAsB,kBAAkB,qCAAqC,kBAAkB,UAAU,WAAW,aAAa,mBAAmB,YAAY,kBAAkB,SAAS,uBAAuB,aAAa,qCAAqC,kBAAkB,mBAAmB,WAAW,UAAU,oBAAoB,qCAAqC,kBAAkB,WAAW,YAAY,kBAAkB,QAAQ,gBAAgB,WAAW,mBAAmB,cAAc,kBAAkB,QAAQ,WAAW,YAAY,oCAAoC,qzCAAqzC,2BAA2B,0BAA0B,EAAE,EAAE;AAC5kH;AACA;AACA,KAAK;AACL;AACA,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,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B;AACA,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,qCAAqC;AAC9D;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,0BAA0B,oBAAoB,cAAc,kBAAkB,iBAAiB,QAAQ,WAAW,WAAW,kCAAkC,6CAA6C,kBAAkB,OAAO,SAAS,YAAY,iCAAiC,kBAAkB,WAAW,WAAW,sCAAsC,uLAAuL,2BAA2B,aAAa,uEAAuE,WAAW,YAAY,QAAQ,kCAAkC,6BAA6B,aAAa,EAAE,EAAE;AAC9vB;AACA;AACA,KAAK;AACL;AACA,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,SAAS;AACT;AACA;AACA;AACA,IAAI,2DAAQ;AACZ;AACA,oBAAoB,8DAAK;AACzB,QAAQ,2DAAS;AACjB;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2DAAS;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,KAAK;AACL;AACA;AACA,4BAA4B,eAAe;AAC3C,IAAI,2DAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8BAA8B,eAAe;AAC7C,2BAA2B,WAAW;AACtC,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAS;AACxB,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,uDAAS;AACxB,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA,sDAAsD,2DAAU;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAS;AACxB;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2DAAQ;AAChC;AACA,yFAAyF,uCAAuC,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,2DAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,mEAAmE;AAC5I,4GAA4G,iHAAiH;AAC7N;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,uEAAuE,wDAAwD;AAC/H;AACA,yBAAyB;AACzB,wBAAwB,2DAAS;AACjC;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B;AACA,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,gCAAgC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA,0BAA0B,oBAAoB,cAAc,kBAAkB,kBAAkB,SAAS,WAAW,WAAW,mCAAmC,uCAAuC,iBAAiB,OAAO,YAAY,oCAAoC,kBAAkB,WAAW,WAAW,oCAAoC,qLAAqL,2BAA2B,aAAa,qEAAqE,WAAW,YAAY,QAAQ,qCAAqC,sDAAsD,aAAa,EAAE,EAAE;AAC1wB;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA,oBAAoB,2DAAU;AAC9B;AACA;AACA;AACA;AACA,8BAA8B,2DAAW;AACzC,gCAAgC,2DAAW;AAC3C,+BAA+B,2DAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAS;AACxB;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA,6CAA6C,+KAAkC;AAC/E;AACA,8FAA8F,wFAAwF,EAAE,eAAe,2DAA2D,EAAE,mBAAmB,kDAAkD,EAAE;AAC3U;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,GAAG,wBAAwB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mEAAuB,KAAK,2DAAK,YAAY,2DAAK,YAAY,2DAAK,kBAAkB,2DAAK;AAC9I;AACA;AACA,oDAAoD,mEAAuB,KAAK,2DAAK,YAAY,2DAAK,kBAAkB,2DAAK,YAAY,2DAAK;AAC9I;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;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,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yEAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yEAAe;AAC5D;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,8BAA8B,WAAW;AACzC,eAAe,uDAAS;AACxB;AACA;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,qDAAM;AAC1D,sFAAsF,qDAAM;AAC5F,6CAA6C,4DAAU,gBAAgB;AACvE;AACA;AACA;AACA;AACA,sDAAsD,wBAAwB;AAC9E,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,uDAAS;AACxB;AACA,mBAAmB,yDAAW;AAC9B;AACA;AACA;AACA,qEAAqE,oBAAoB,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,gBAAgB,2DAAC;AACjB;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,0BAA0B,eAAe,OAAO,QAAQ,MAAM,SAAS,kBAAkB,0BAA0B,gBAAgB,UAAU,EAAE,EAAE;AACjJ;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,QAAQ,2DAAgB;AACxB,wBAAwB,2DAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2DAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,8BAA8B,gFAAgF,4DAAkB,eAAe,EAAE,2DAAC,SAAS,yBAAyB,EAAE,2DAAC;AAChN;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,0BAA0B,eAAe,gBAAgB,oBAAoB,aAAa,WAAW,OAAO,sBAAsB,mBAAmB,gCAAgC,wBAAwB,mBAAmB,8DAA8D,OAAO,MAAM,kBAAkB,mBAAmB,cAAc,iBAAiB,kBAAkB,WAAW,YAAY,gCAAgC,wBAAwB,eAAe,gBAAgB,kBAAkB,8BAA8B,sBAAsB,oBAAoB,8MAA8M,WAAW,YAAY,QAAQ,6FAA6F,8DAA8D,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,iBAAiB,kBAAkB,mBAAmB,cAAc,iBAAiB,eAAe,gBAAgB,uBAAuB,6FAA6F,iBAAiB,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,kBAAkB,4BAA4B,eAAe,cAAc,WAAW,uBAAuB,mBAAmB,gBAAgB,oBAAoB,mCAAmC,mBAAmB,8BAA8B,iBAAiB,kBAAkB,gBAAgB,oBAAoB,WAAW,YAAY,eAAe,kBAAkB,6FAA6F,8BAA8B,mBAAmB,oBAAoB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,6BAA6B,WAAW,YAAY,eAAe,gBAAgB,8BAA8B,kBAAkB,mBAAmB,cAAc,iBAAiB,SAAS,mBAAmB,qBAAqB,eAAe,mBAAmB,eAAe,gBAAgB,iBAAiB,6FAA6F,8BAA8B,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,EAAE,EAAE;AACvqF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,QAAQ,2DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,kEAAkE,8BAA8B,EAAE;AAClG,oDAAoD,kCAAkC,EAAE;AACxF,oDAAoD,oCAAoC,EAAE;AAC1F;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,mBAAmB,2DAAU;AAC7B;AACA;AACA;AACA,SAAS;AACT,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,2CAA2C,eAAe,4DAAW,0BAA0B,sCAAsC,4DAAkB,eAAe,EAAE,2DAAC,SAAS,8BAA8B,GAAG,2DAAC,SAAS,6BAA6B,EAAE,2DAAC,UAAU,gBAAgB,GAAG,2DAAC,UAAU,oBAAoB,GAAG,2DAAC,SAAS,2BAA2B,EAAE,2DAAC,iBAAiB,2DAAC,UAAU,kBAAkB,GAAG,2DAAC,UAAU,cAAc;AACvc;AACA;AACA,0BAA0B,QAAQ,2DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA,0BAA0B,eAAe,iBAAiB,qBAAqB,YAAY,kCAAkC,mCAAmC,uCAAuC,yCAAyC,cAAc,kBAAkB,WAAW,mBAAmB,2CAA2C,gBAAgB,WAAW,8BAA8B,sBAAsB,6FAA6F,MAAM,mBAAmB,oBAAoB,gDAAgD,+CAA+C,+CAA+C,+CAA+C,kBAAkB,gCAAgC,sCAAsC,iCAAiC,mBAAmB,kCAAkC,iCAAiC,+BAA+B,qCAAqC,oBAAoB,aAAa,kBAAkB,uBAAuB,mBAAmB,sBAAsB,mBAAmB,sBAAsB,8BAA8B,WAAW,6BAA6B,gBAAgB,gBAAgB,WAAW,8BAA8B,sBAAsB,6FAA6F,mBAAmB,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,oBAAoB,MAAM,gCAAgC,wBAAwB,iCAAiC,iCAAiC,iCAAiC,6BAA6B,eAAe,uBAAuB,WAAW,oBAAoB,gDAAgD,OAAO,QAAQ,SAAS,kBAAkB,MAAM,4EAA4E,+DAA+D,yGAAyG,gBAAgB,mBAAmB,kBAAkB,gBAAgB,kBAAkB,iBAAiB,WAAW,OAAO,iBAAiB,QAAQ,YAAY,eAAe,uBAAuB,6BAA6B,+BAA+B,gBAAgB,6FAA6F,+BAA+B,kBAAkB,yBAAyB,yBAAyB,8BAA8B,iBAAiB,6FAA6F,8BAA8B,mBAAmB,uBAAuB,uBAAuB,wBAAwB,iBAAiB,QAAQ,4BAA4B,iBAAiB,QAAQ,0BAA0B,iBAAiB,QAAQ,eAAe,sBAAsB,iBAAiB,QAAQ,eAAe,EAAE,EAAE;AAC9oG;AACA;AACA,KAAK;AACL;AACA,CAAC;AAC2M","file":"18.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, d as getIonMode, h, H as Host, e as getElement, c as createEvent, f as readTask, w as writeTask } from './core-ca0488fc.js';\nimport { b as config, i as isPlatform } from './config-3c7f3790.js';\nimport { c as clamp } from './helpers-46f4a262.js';\nimport './constants-3c3e1099.js';\nimport { c as createColorClasses, h as hostContext } from './theme-18cbe2cc.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-c2e2e1f4.js';\nimport { t as transition } from './index-6826f2f6.js';\nimport { g as getTimeGivenProgression, P as Point } from './cubic-bezier-2812fda3.js';\nvar App = /** @class */ (function () {\n function App(hostRef) {\n registerInstance(this, hostRef);\n }\n App.prototype.componentDidLoad = function () {\n {\n rIC(function () {\n var isHybrid = isPlatform(window, 'hybrid');\n if (!config.getBoolean('_testing')) {\n import('./tap-click-ca00ce7f.js').then(function (module) { return module.startTapClick(config); });\n }\n if (config.getBoolean('statusTap', isHybrid)) {\n import('./status-tap-a0df8284.js').then(function (module) { return module.startStatusTap(); });\n }\n if (config.getBoolean('inputShims', needInputShims())) {\n import('./input-shims-a4fc53ac.js').then(function (module) { return module.startInputShims(config); });\n }\n if (config.getBoolean('hardwareBackButton', isHybrid)) {\n import('./hardware-back-button-5afe3cb0.js').then(function (module) { return module.startHardwareBackButton(); });\n }\n import('./focus-visible-70713a0c.js').then(function (module) { return module.startFocusVisible(); });\n });\n }\n };\n App.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n return (h(Host, { class: (_a = {},\n _a[mode] = true,\n _a['ion-page'] = true,\n _a['force-statusbar-padding'] = config.getBoolean('_forceStatusbarPadding'),\n _a) }));\n };\n Object.defineProperty(App.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(App, \"style\", {\n get: function () { return \"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}\"; },\n enumerable: true,\n configurable: true\n });\n return App;\n}());\nvar needInputShims = function () {\n return isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n};\nvar rIC = function (callback) {\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(callback);\n }\n else {\n setTimeout(callback, 32);\n }\n};\nvar Buttons = /** @class */ (function () {\n function Buttons(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If true, buttons will disappear when its\n * parent toolbar has fully collapsed if the toolbar\n * is not the first toolbar. If the toolbar is the\n * first toolbar, the buttons will be hidden and will\n * only be shown once all toolbars have fully collapsed.\n *\n * Only applies in `ios` mode with `collapse` set to\n * `true` on `ion-header`.\n *\n * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n */\n this.collapse = false;\n }\n Buttons.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n return (h(Host, { class: (_a = {},\n _a[mode] = true,\n _a['buttons-collapse'] = this.collapse,\n _a) }));\n };\n Object.defineProperty(Buttons, \"style\", {\n get: function () { return \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-button {margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round) {--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button {--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-hover:rgba(var(--ion-color-contrast-rgb),0.08);--background-focused:rgba(var(--ion-color-contrast-rgb),0.24)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid {--background:var(--ion-color-contrast);--background-activated:var(--ion-color-contrast);--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-tint);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline {--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear {--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button {--background-hover:rgba(66,66,66,0.08)}.sc-ion-buttons-md-s .button-solid {--color:var(--ion-toolbar-background,var(--ion-background-color,#fff));--color-activated:var(--ion-toolbar-background,var(--ion-background-color,#fff));--background:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-activated:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-focused:var(--ion-toolbar-color-activated,#4a4a4a);--background-hover:rgba(66,66,66,0.92)}.sc-ion-buttons-md-s .button-outline {--background:transparent;--background-activated:transparent;--border-color:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-focused:rgba(66,66,66,0.1)}.sc-ion-buttons-md-s .button-clear , .sc-ion-buttons-md-s .button-outline {--color:initial;--color-activated:currentColor;--color-focused:var(--ion-toolbar-color,var(--ion-text-color,#424242))}.sc-ion-buttons-md-s .button-clear {--background:transparent;--background-focused:rgba(66,66,66,0.1)}.sc-ion-buttons-md-s ion-icon[slot=start] {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:.3em;font-size:1.4em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-icon[slot=start] {margin-right:unset;-webkit-margin-end:.3em;margin-inline-end:.3em}}.sc-ion-buttons-md-s ion-icon[slot=end] {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:.4em;font-size:1.4em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-icon[slot=end] {margin-left:unset;-webkit-margin-start:.4em;margin-inline-start:.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only] {padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\"; },\n enumerable: true,\n configurable: true\n });\n return Buttons;\n}());\nvar Content = /** @class */ (function () {\n function class_1(hostRef) {\n registerInstance(this, hostRef);\n this.isScrolling = false;\n this.lastScroll = 0;\n this.queued = false;\n this.cTop = -1;\n this.cBottom = -1;\n this.mode = getIonMode(this);\n // Detail is used in a hot loop in the scroll event, by allocating it here\n // V8 will be able to inline any read/write to it since it's a monomorphic class.\n // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n this.detail = {\n scrollTop: 0,\n scrollLeft: 0,\n type: 'scroll',\n event: undefined,\n startX: 0,\n startY: 0,\n startTimeStamp: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n timeStamp: 0,\n data: undefined,\n isScrolling: true,\n };\n /**\n * If `true`, the content will scroll behind the headers\n * and footers. This effect can easily be seen by setting the toolbar\n * to transparent.\n */\n this.fullscreen = false;\n /**\n * If you want to enable the content scrolling in the X axis, set this property to `true`.\n */\n this.scrollX = false;\n /**\n * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n */\n this.scrollY = true;\n /**\n * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n * and start listening from (ionScroll), set this property to `true`.\n */\n this.scrollEvents = false;\n this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n this.ionScroll = createEvent(this, \"ionScroll\", 7);\n this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n }\n class_1.prototype.disconnectedCallback = function () {\n this.onScrollEnd();\n };\n class_1.prototype.componentDidLoad = function () {\n this.resize();\n };\n class_1.prototype.onClick = function (ev) {\n if (this.isScrolling) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n class_1.prototype.shouldForceOverscroll = function () {\n var _a = this, forceOverscroll = _a.forceOverscroll, mode = _a.mode;\n return forceOverscroll === undefined\n ? mode === 'ios' && isPlatform('ios')\n : forceOverscroll;\n };\n class_1.prototype.resize = function () {\n if (this.fullscreen) {\n readTask(this.readDimensions.bind(this));\n }\n else if (this.cTop !== 0 || this.cBottom !== 0) {\n this.cTop = this.cBottom = 0;\n this.el.forceUpdate();\n }\n };\n class_1.prototype.readDimensions = function () {\n var page = getPageElement(this.el);\n var top = Math.max(this.el.offsetTop, 0);\n var bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n var dirty = top !== this.cTop || bottom !== this.cBottom;\n if (dirty) {\n this.cTop = top;\n this.cBottom = bottom;\n this.el.forceUpdate();\n }\n };\n class_1.prototype.onScroll = function (ev) {\n var _this = this;\n var timeStamp = Date.now();\n var shouldStart = !this.isScrolling;\n this.lastScroll = timeStamp;\n if (shouldStart) {\n this.onScrollStart();\n }\n if (!this.queued && this.scrollEvents) {\n this.queued = true;\n readTask(function (ts) {\n _this.queued = false;\n _this.detail.event = ev;\n updateScrollDetail(_this.detail, _this.scrollEl, ts, shouldStart);\n _this.ionScroll.emit(_this.detail);\n });\n }\n };\n /**\n * Get the element where the actual scrolling takes place.\n * This element can be used to subscribe to `scroll` events or manually modify\n * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n *\n * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n * and `scrollToPoint()` to scroll the content into a certain point.\n */\n class_1.prototype.getScrollElement = function () {\n return Promise.resolve(this.scrollEl);\n };\n /**\n * Scroll to the top of the component.\n *\n * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n */\n class_1.prototype.scrollToTop = function (duration) {\n if (duration === void 0) { duration = 0; }\n return this.scrollToPoint(undefined, 0, duration);\n };\n /**\n * Scroll to the bottom of the component.\n *\n * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n */\n class_1.prototype.scrollToBottom = function (duration) {\n if (duration === void 0) { duration = 0; }\n var y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n return this.scrollToPoint(undefined, y, duration);\n };\n /**\n * Scroll by a specified X/Y distance in the component.\n *\n * @param x The amount to scroll by on the horizontal axis.\n * @param y The amount to scroll by on the vertical axis.\n * @param duration The amount of time to take scrolling by that amount.\n */\n class_1.prototype.scrollByPoint = function (x, y, duration) {\n return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);\n };\n /**\n * Scroll to a specified X/Y location in the component.\n *\n * @param x The point to scroll to on the horizontal axis.\n * @param y The point to scroll to on the vertical axis.\n * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n */\n class_1.prototype.scrollToPoint = function (x, y, duration) {\n if (duration === void 0) { duration = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var el, resolve, startTime, promise, fromY, fromX, deltaY, deltaX, step;\n return __generator(this, function (_a) {\n el = this.scrollEl;\n if (duration < 32) {\n if (y != null) {\n el.scrollTop = y;\n }\n if (x != null) {\n el.scrollLeft = x;\n }\n return [2 /*return*/];\n }\n startTime = 0;\n promise = new Promise(function (r) { return resolve = r; });\n fromY = el.scrollTop;\n fromX = el.scrollLeft;\n deltaY = y != null ? y - fromY : 0;\n deltaX = x != null ? x - fromX : 0;\n step = function (timeStamp) {\n var linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;\n var easedT = Math.pow(linearTime, 3) + 1;\n if (deltaY !== 0) {\n el.scrollTop = Math.floor((easedT * deltaY) + fromY);\n }\n if (deltaX !== 0) {\n el.scrollLeft = Math.floor((easedT * deltaX) + fromX);\n }\n if (easedT < 1) {\n // do not use DomController here\n // must use nativeRaf in order to fire in the next frame\n // TODO: remove as any\n requestAnimationFrame(step);\n }\n else {\n resolve();\n }\n };\n // chill out for a frame first\n requestAnimationFrame(function (ts) {\n startTime = ts;\n step(ts);\n });\n return [2 /*return*/, promise];\n });\n });\n };\n class_1.prototype.onScrollStart = function () {\n var _this = this;\n this.isScrolling = true;\n this.ionScrollStart.emit({\n isScrolling: true\n });\n if (this.watchDog) {\n clearInterval(this.watchDog);\n }\n // watchdog\n this.watchDog = setInterval(function () {\n if (_this.lastScroll < Date.now() - 120) {\n _this.onScrollEnd();\n }\n }, 100);\n };\n class_1.prototype.onScrollEnd = function () {\n clearInterval(this.watchDog);\n this.watchDog = null;\n if (this.isScrolling) {\n this.isScrolling = false;\n this.ionScrollEnd.emit({\n isScrolling: false\n });\n }\n };\n class_1.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this, scrollX = _b.scrollX, scrollY = _b.scrollY;\n var mode = getIonMode(this);\n var forceOverscroll = this.shouldForceOverscroll();\n var transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));\n this.resize();\n return (h(Host, { class: Object.assign(Object.assign({}, createColorClasses(this.color)), (_a = {}, _a[mode] = true, _a['content-sizing'] = hostContext('ion-popover', this.el), _a['overscroll'] = forceOverscroll, _a)), style: {\n '--offset-top': this.cTop + \"px\",\n '--offset-bottom': this.cBottom + \"px\",\n } }, h(\"main\", { class: {\n 'inner-scroll': true,\n 'scroll-x': scrollX,\n 'scroll-y': scrollY,\n 'overscroll': (scrollX || scrollY) && forceOverscroll\n }, ref: function (el) { return _this.scrollEl = el; }, onScroll: function (ev) { return _this.onScroll(ev); } }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \":host{--background:var(--ion-background-color,#fff);--color:var(--ion-text-color,#000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0!important;padding:0!important;font-family:var(--ion-font-family,inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50,#f2f2f2)}.inner-scroll{left:0;right:0;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;background:var(--background);color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position;-ms-scroll-chaining:none;overscroll-behavior:contain}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow)}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow)}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll:after,.overscroll:before{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll:before{bottom:-1px}.overscroll:after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{left:-100%;opacity:0;pointer-events:none}.transition-cover,.transition-effect{position:absolute;width:100%;height:100%}.transition-cover{right:0;background:#000;opacity:.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar getParentElement = function (el) {\n if (el.parentElement) {\n // normal element with a parent element\n return el.parentElement;\n }\n if (el.parentNode && el.parentNode.host) {\n // shadow dom's document fragment\n return el.parentNode.host;\n }\n return null;\n};\nvar getPageElement = function (el) {\n var tabs = el.closest('ion-tabs');\n if (tabs) {\n return tabs;\n }\n var page = el.closest('ion-app,ion-page,.ion-page,page-inner');\n if (page) {\n return page;\n }\n return getParentElement(el);\n};\n// ******** DOM READ ****************\nvar updateScrollDetail = function (detail, el, timestamp, shouldStart) {\n var prevX = detail.currentX;\n var prevY = detail.currentY;\n var prevT = detail.timeStamp;\n var currentX = el.scrollLeft;\n var currentY = el.scrollTop;\n var timeDelta = timestamp - prevT;\n if (shouldStart) {\n // remember the start positions\n detail.startTimeStamp = timestamp;\n detail.startX = currentX;\n detail.startY = currentY;\n detail.velocityX = detail.velocityY = 0;\n }\n detail.timeStamp = timestamp;\n detail.currentX = detail.scrollLeft = currentX;\n detail.currentY = detail.scrollTop = currentY;\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n if (timeDelta > 0 && timeDelta < 100) {\n var velocityX = (currentX - prevX) / timeDelta;\n var velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n};\nvar Footer = /** @class */ (function () {\n function Footer(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the footer will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n *\n * Note: In order to scroll content behind the footer, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n Footer.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var translucent = this.translucent;\n return (h(Host, { role: \"contentinfo\", class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"footer-\" + mode] = true,\n _a[\"footer-translucent\"] = translucent,\n _a[\"footer-translucent-\" + mode] = translucent,\n _a) }));\n };\n Object.defineProperty(Footer, \"style\", {\n get: function () { return \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-child{padding-bottom:var(--ion-safe-area-bottom,0)}.footer-md:before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\\\");background-repeat:repeat-x;content:\\\"\\\"}:host-context([dir=rtl]) .footer-md:before,[dir=rtl] .footer-md:before{left:unset;right:unset;right:0;background-position:right 0 top 0}.footer-md[no-border]:before{display:none}\"; },\n enumerable: true,\n configurable: true\n });\n return Footer;\n}());\nvar TRANSITION = 'all 0.2s ease-in-out';\nvar cloneElement = function (tagName) {\n var getCachedEl = document.querySelector(tagName + \".ion-cloned-element\");\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n var clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nvar createHeaderIndex = function (headerEl) {\n if (!headerEl) {\n return;\n }\n var toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map(function (toolbar) {\n var ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl: ionTitleEl,\n innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []\n };\n }) || [[]]\n };\n};\nvar handleContentScroll = function (scrollEl, scrollHeaderIndex) {\n readTask(function () {\n var scrollTop = scrollEl.scrollTop;\n var scale = clamp(1, 1 + (-scrollTop / 500), 1.1);\n writeTask(function () {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n });\n};\nvar setToolbarBackgroundOpacity = function (toolbar, opacity) {\n if (opacity === undefined) {\n toolbar.background.style.removeProperty('--opacity');\n }\n else {\n toolbar.background.style.setProperty('--opacity', opacity.toString());\n }\n};\nvar handleToolbarBorderIntersection = function (ev, mainHeaderIndex) {\n if (!ev[0].isIntersecting) {\n return;\n }\n var scale = ((1 - ev[0].intersectionRatio) * 100) / 75;\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0], (scale === 1) ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nvar handleToolbarIntersection = function (ev, mainHeaderIndex, scrollHeaderIndex) {\n writeTask(function () {\n handleToolbarBorderIntersection(ev, mainHeaderIndex);\n var event = ev[0];\n var intersection = event.intersectionRect;\n var intersectionArea = intersection.width * intersection.height;\n var rootArea = event.rootBounds.width * event.rootBounds.height;\n var isPageHidden = intersectionArea === 0 && rootArea === 0;\n var leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n var rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n var isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n var hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0], 1);\n }\n }\n });\n};\nvar setHeaderActive = function (headerIndex, active) {\n if (active === void 0) { active = true; }\n writeTask(function () {\n if (active) {\n headerIndex.el.classList.remove('header-collapse-condense-inactive');\n }\n else {\n headerIndex.el.classList.add('header-collapse-condense-inactive');\n }\n });\n};\nvar scaleLargeTitles = function (toolbars, scale, transition) {\n if (toolbars === void 0) { toolbars = []; }\n if (scale === void 0) { scale = 1; }\n if (transition === void 0) { transition = false; }\n toolbars.forEach(function (toolbar) {\n var ionTitle = toolbar.ionTitleEl;\n var titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transformOrigin = 'left center';\n titleDiv.style.transition = (transition) ? TRANSITION : '';\n titleDiv.style.transform = \"scale3d(\" + scale + \", \" + scale + \", 1)\";\n });\n};\nvar Header = /** @class */ (function () {\n function class_2(hostRef) {\n registerInstance(this, hostRef);\n this.collapsibleHeaderInitialized = false;\n /**\n * If `true`, the header will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n *\n * Note: In order to scroll content behind the header, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n class_2.prototype.componentDidLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.checkCollapsibleHeader()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.componentDidUpdate = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.checkCollapsibleHeader()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.componentDidUnload = function () {\n this.destroyCollapsibleHeader();\n };\n class_2.prototype.checkCollapsibleHeader = function () {\n return __awaiter(this, void 0, void 0, function () {\n var hasCollapse, canCollapse, pageEl, contentEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hasCollapse = this.collapse === 'condense';\n canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;\n if (!(!canCollapse && this.collapsibleHeaderInitialized)) return [3 /*break*/, 1];\n this.destroyCollapsibleHeader();\n return [3 /*break*/, 3];\n case 1:\n if (!(canCollapse && !this.collapsibleHeaderInitialized)) return [3 /*break*/, 3];\n pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n return [4 /*yield*/, this.setupCollapsibleHeader(contentEl, pageEl)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.destroyCollapsibleHeader = function () {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n };\n class_2.prototype.setupCollapsibleHeader = function (contentEl, pageEl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!contentEl || !pageEl) {\n console.error('ion-header requires a content to collapse, make sure there is an ion-content.');\n return [2 /*return*/];\n }\n _a = this;\n return [4 /*yield*/, contentEl.getScrollElement()];\n case 1:\n _a.scrollEl = _b.sent();\n readTask(function () {\n var headers = pageEl.querySelectorAll('ion-header');\n var mainHeader = Array.from(headers).find(function (header) { return header.collapse !== 'condense'; });\n if (!mainHeader || !_this.scrollEl) {\n return;\n }\n var mainHeaderIndex = createHeaderIndex(mainHeader);\n var scrollHeaderIndex = createHeaderIndex(_this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n readTask(function () {\n var mainHeaderHeight = mainHeaderIndex.el.clientHeight;\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n var toolbarIntersection = function (ev) { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };\n _this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], rootMargin: \"-\" + mainHeaderHeight + \"px 0px 0px 0px\" });\n _this.intersectionObserver.observe(scrollHeaderIndex.toolbars[0].el);\n });\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n _this.contentScrollCallback = function () { handleContentScroll(_this.scrollEl, scrollHeaderIndex); };\n _this.scrollEl.addEventListener('scroll', _this.contentScrollCallback);\n });\n writeTask(function () {\n cloneElement('ion-title');\n cloneElement('ion-back-button');\n });\n this.collapsibleHeaderInitialized = true;\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var collapse = this.collapse || 'none';\n return (h(Host, { role: \"banner\", class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"header-\" + mode] = true,\n _a[\"header-translucent\"] = this.translucent,\n _a[\"header-collapse-\" + collapse] = true,\n _a[\"header-translucent-\" + mode] = this.translucent,\n _a) }));\n };\n Object.defineProperty(class_2.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_2, \"style\", {\n get: function () { return \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-child{padding-top:var(--ion-safe-area-top,0)}.header-md:after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}:host-context([dir=rtl]) .header-md:after,[dir=rtl] .header-md:after{left:unset;right:unset;right:0;background-position:right 0 top -2px}.header-collapse-condense,.header-md[no-border]:after{display:none}\"; },\n enumerable: true,\n configurable: true\n });\n return class_2;\n}());\nvar RouterOutlet = /** @class */ (function () {\n function class_3(hostRef) {\n registerInstance(this, hostRef);\n this.animationEnabled = true;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode(this);\n /**\n * If `true`, the router-outlet should animate the transition of components.\n */\n this.animated = true;\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n }\n class_3.prototype.swipeHandlerChanged = function () {\n if (this.gesture) {\n this.gesture.setDisabled(this.swipeHandler === undefined);\n }\n };\n class_3.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this;\n return [4 /*yield*/, import('./swipe-back-35ad8e37.js')];\n case 1:\n _a.gesture = (_b.sent()).createSwipeBackGesture(this.el, function () { return !!_this.swipeHandler && _this.swipeHandler.canStart() && _this.animationEnabled; }, function () { return _this.swipeHandler && _this.swipeHandler.onStart(); }, function (step) { return _this.ani && _this.ani.progressStep(step); }, function (shouldComplete, step, dur) {\n if (_this.ani) {\n _this.animationEnabled = false;\n _this.ani.onFinish(function () {\n _this.animationEnabled = true;\n if (_this.swipeHandler) {\n _this.swipeHandler.onEnd(shouldComplete);\n }\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n var newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n _this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression(new Point(0, 0), new Point(1, 0), new Point(0.68, 0.28), new Point(1, 1), step);\n }\n else {\n newStepValue += getTimeGivenProgression(new Point(0, 0), new Point(0.32, 0.72), new Point(0, 1), new Point(1, 1), step);\n }\n _this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n });\n this.swipeHandlerChanged();\n return [2 /*return*/];\n }\n });\n });\n };\n class_3.prototype.componentWillLoad = function () {\n this.ionNavWillLoad.emit();\n };\n class_3.prototype.disconnectedCallback = function () {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n };\n /** @internal */\n class_3.prototype.commit = function (enteringEl, leavingEl, opts) {\n return __awaiter(this, void 0, void 0, function () {\n var unlock, changed, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.lock()];\n case 1:\n unlock = _a.sent();\n changed = false;\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.transition(enteringEl, leavingEl, opts)];\n case 3:\n changed = _a.sent();\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n console.error(e_1);\n return [3 /*break*/, 5];\n case 5:\n unlock();\n return [2 /*return*/, changed];\n }\n });\n });\n };\n /** @internal */\n class_3.prototype.setRouteId = function (id, params, direction) {\n return __awaiter(this, void 0, void 0, function () {\n var changed;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.setRoot(id, params, {\n duration: direction === 'root' ? 0 : undefined,\n direction: direction === 'back' ? 'back' : 'forward',\n })];\n case 1:\n changed = _a.sent();\n return [2 /*return*/, {\n changed: changed,\n element: this.activeEl\n }];\n }\n });\n });\n };\n /** @internal */\n class_3.prototype.getRouteId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var active;\n return __generator(this, function (_a) {\n active = this.activeEl;\n return [2 /*return*/, active ? {\n id: active.tagName,\n element: active,\n } : undefined];\n });\n });\n };\n class_3.prototype.setRoot = function (component, params, opts) {\n return __awaiter(this, void 0, void 0, function () {\n var leavingEl, enteringEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.activeComponent === component) {\n return [2 /*return*/, false];\n }\n leavingEl = this.activeEl;\n return [4 /*yield*/, attachComponent(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params)];\n case 1:\n enteringEl = _a.sent();\n this.activeComponent = component;\n this.activeEl = enteringEl;\n // commit animation\n return [4 /*yield*/, this.commit(enteringEl, leavingEl, opts)];\n case 2:\n // commit animation\n _a.sent();\n return [4 /*yield*/, detachComponent(this.delegate, leavingEl)];\n case 3:\n _a.sent();\n return [2 /*return*/, true];\n }\n });\n });\n };\n class_3.prototype.transition = function (enteringEl, leavingEl, opts) {\n if (opts === void 0) { opts = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, el, mode, animated, animationBuilder;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (leavingEl === enteringEl) {\n return [2 /*return*/, false];\n }\n // emit nav will change event\n this.ionNavWillChange.emit();\n _a = this, el = _a.el, mode = _a.mode;\n animated = this.animated && config.getBoolean('animated', true);\n animationBuilder = this.animation || opts.animationBuilder || config.get('navAnimation');\n return [4 /*yield*/, transition(Object.assign({ mode: mode,\n animated: animated,\n animationBuilder: animationBuilder,\n enteringEl: enteringEl,\n leavingEl: leavingEl, baseEl: el, progressCallback: (opts.progressAnimation\n ? function (ani) { return _this.ani = ani; }\n : undefined) }, opts))];\n case 1:\n _b.sent();\n // emit nav changed event\n this.ionNavDidChange.emit();\n return [2 /*return*/, true];\n }\n });\n });\n };\n class_3.prototype.lock = function () {\n return __awaiter(this, void 0, void 0, function () {\n var p, resolve;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n p = this.waitPromise;\n this.waitPromise = new Promise(function (r) { return resolve = r; });\n if (!(p !== undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, p];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, resolve];\n }\n });\n });\n };\n class_3.prototype.render = function () {\n return (h(\"slot\", null));\n };\n Object.defineProperty(class_3.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_3, \"watchers\", {\n get: function () {\n return {\n \"swipeHandler\": [\"swipeHandlerChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_3, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\"; },\n enumerable: true,\n configurable: true\n });\n return class_3;\n}());\nvar ToolbarTitle = /** @class */ (function () {\n function ToolbarTitle(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n ToolbarTitle.prototype.sizeChanged = function () {\n this.emitStyle();\n };\n ToolbarTitle.prototype.connectedCallback = function () {\n this.emitStyle();\n };\n ToolbarTitle.prototype.emitStyle = function () {\n var _a;\n var size = this.getSize();\n this.ionStyle.emit((_a = {},\n _a[\"title-\" + size] = true,\n _a));\n };\n ToolbarTitle.prototype.getSize = function () {\n return (this.size !== undefined) ? this.size : 'default';\n };\n ToolbarTitle.prototype.getMode = function () {\n var mode = getIonMode(this);\n var toolbar = this.el.closest('ion-toolbar');\n return (toolbar && toolbar.mode) || mode;\n };\n ToolbarTitle.prototype.render = function () {\n var _a;\n var mode = this.getMode();\n var size = this.getSize();\n return (h(Host, { class: Object.assign((_a = {}, _a[mode] = true, _a[\"title-\" + mode] = true, _a[\"title-\" + size] = true, _a), createColorClasses(this.color)) }, h(\"div\", { class: \"toolbar-title\" }, h(\"slot\", null))));\n };\n Object.defineProperty(ToolbarTitle.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolbarTitle, \"watchers\", {\n get: function () {\n return {\n \"size\": [\"sizeChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolbarTitle, \"style\", {\n get: function () { return \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.title-ios.title-default),:host(.title-ios.title-large){left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]).title-ios.title-default,:host-context([dir=rtl]).title-ios.title-large,:host-context([dir=rtl]):host(.title-ios.title-default),:host-context([dir=rtl]):host(.title-ios.title-large){left:unset;right:unset;right:0}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-default),:host(.title-ios.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-md){padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:.0125em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-md){padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host(.title-ios.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;width:100%;height:100%;font-size:13px;text-align:center}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-md.title-small){width:100%;height:100%;font-size:15px;font-weight:400}:host(.title-ios.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}\"; },\n enumerable: true,\n configurable: true\n });\n return ToolbarTitle;\n}());\nvar Toolbar = /** @class */ (function () {\n function Toolbar(hostRef) {\n registerInstance(this, hostRef);\n this.childrenStyles = new Map();\n }\n Toolbar.prototype.componentWillLoad = function () {\n var buttons = Array.from(this.el.querySelectorAll('ion-buttons'));\n var firstButtons = buttons.find(function (button) {\n return button.slot === 'start';\n });\n if (firstButtons) {\n firstButtons.classList.add('buttons-first-slot');\n }\n var buttonsReversed = buttons.reverse();\n var lastButtons = buttonsReversed.find(function (button) { return button.slot === 'end'; }) ||\n buttonsReversed.find(function (button) { return button.slot === 'primary'; }) ||\n buttonsReversed.find(function (button) { return button.slot === 'secondary'; });\n if (lastButtons) {\n lastButtons.classList.add('buttons-last-slot');\n }\n };\n Toolbar.prototype.childrenStyle = function (ev) {\n ev.stopPropagation();\n var tagName = ev.target.tagName;\n var updatedStyles = ev.detail;\n var newStyles = {};\n var childStyles = this.childrenStyles.get(tagName) || {};\n var hasStyleChange = false;\n Object.keys(updatedStyles).forEach(function (key) {\n var childKey = \"toolbar-\" + key;\n var newValue = updatedStyles[key];\n if (newValue !== childStyles[childKey]) {\n hasStyleChange = true;\n }\n if (newValue) {\n newStyles[childKey] = true;\n }\n });\n if (hasStyleChange) {\n this.childrenStyles.set(tagName, newStyles);\n this.el.forceUpdate();\n }\n };\n Toolbar.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var childStyles = {};\n this.childrenStyles.forEach(function (value) {\n Object.assign(childStyles, value);\n });\n return (h(Host, { class: Object.assign(Object.assign((_a = { 'in-toolbar': hostContext('ion-toolbar', this.el) }, _a[mode] = true, _a), childStyles), createColorClasses(this.color)) }, h(\"div\", { class: \"toolbar-background\" }), h(\"div\", { class: \"toolbar-container\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"secondary\" }), h(\"div\", { class: \"toolbar-content\" }, h(\"slot\", null)), h(\"slot\", { name: \"primary\" }), h(\"slot\", { name: \"end\" }))));\n };\n Object.defineProperty(Toolbar.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Toolbar, \"style\", {\n get: function () { return \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family,inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{top:0;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}.toolbar-background,::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background,var(--ion-background-color,#fff));--color:var(--ion-toolbar-color,var(--ion-text-color,#424242));--border-color:var(--ion-toolbar-border-color,var(--ion-border-color,var(--ion-color-step-150,#c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}\"; },\n enumerable: true,\n configurable: true\n });\n return Toolbar;\n}());\nexport { App as ion_app, Buttons as ion_buttons, Content as ion_content, Footer as ion_footer, Header as ion_header, RouterOutlet as ion_router_outlet, ToolbarTitle as ion_title, Toolbar as ion_toolbar };\n"],"sourceRoot":""}