Sindbad~EG File Manager

Current Path : /var/www/html/amopropiedades.com/wp-content/plugins/leadin/build/
Upload File :
Current File : /var/www/html/amopropiedades.com/wp-content/plugins/leadin/build/elementor.js.map

{"version":3,"file":"elementor.js","mappings":"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;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,+CAA+C,iBAAiB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;AACA;AACA;;AAEA;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,QAAQ;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;;AAEA;;;;;;;;;;;;;AC/DA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,gBAAgB,+CAA+C;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACtCA;;AAEA,eAAe,mBAAO,CAAC,wFAA6B;AACpD,gBAAgB,mBAAO,CAAC,gHAAyC;AACjE,uBAAuB,mBAAO,CAAC,iEAAe;;AAE9C,YAAY,mBAAO,CAAC,qDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,2FAA+B;;AAEvD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qBAAM,mBAAmB,qBAAM;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,UAAU;AACzB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,UAAU;AACzB,eAAe,UAAU;AACzB,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS,GAAG;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,wBAAwB,iDAAiD;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,+BAA+B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0CAA0C;AAC1C,2CAA2C;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;AACN,2EAA2E;AAC3E;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACr4DA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,mBAAO,CAAC,qDAAS;;AAExC;AACA;AACA;AACA;AACA,aAAa,qBAAM,mBAAmB,qBAAM;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;AC9BA;AACA;AACA;AACA,aAAa,qBAAM,mBAAmB,qBAAM;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA,iDAAiD;AACjD,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC;AAClC;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChYA,YAAY,mBAAO,CAAC,6DAAiB;;AAErC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qBAAM,mBAAmB,qBAAM;;AAE5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD,KAAK;AAC1D,uDAAuD,KAAK;AAC5D;AACA,WAAW,aAAa,YAAY;AACpC;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,+DAA+D;AAC/D;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,iBAAiB;AAChC;AACA,eAAe,kBAAkB;AACjC;AACA,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AAE1B;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,qBAAqB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC,OAAO;AAC7C;AACA,qEAAqE;AACrE,iEAAiE;AACjE;AACA;AACA,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA,eAAe,QAAQ;AACvB,eAAe,iBAAiB;AAChC;AACA,eAAe,SAAS;AACxB;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,0CAA0C;AAClD,eAAe,OAAO;AACtB,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,qEAAqE;AACrE,UAAU;AACV;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;;;;;;;;;;;AC9mBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;AAC3B,cAAc,mBAAO,CAAC,4DAAe;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,+FAA+F,eAAe;AAC9G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,yBAAyB;AACzB;AACA,SAAS;AACT,yBAAyB;AACzB;AACA,SAAS;AACT,kCAAkC;AAClC;AACA,SAAS;AACT,4BAA4B;AAC5B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;;ACpsCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;;ACNA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;ACAA;AAC+C;AACrB;AACS;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oCAAoC,8DAAS,oBAAoB,SAAS,8DAAS,GAAG,EAAE,8DAAS;AACjG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC,YAAY,sBAAsB,cAAc;AACxF;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iDAAE,wDAAwD,iDAAE;AAC7G,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAK,QAAQ,MAAM,EAAE,KAAK;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,eAAe,gDAAmB;AAClC;AACA,aAAa,gDAAmB;AAChC;AACA,mBAAmB,6CAAgB,GAAG,6CAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAqC;AAC1D;AACA;AACA;AACA,CAAC,IAAI,CAAM;AAGT;AACF;;;;;;;;;;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIE;AACF;;;;;;UCtCA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA/b,MAAM,CAACyc,gBAAP,CAAwB,gBAAxB,EAA0C,YAAM;EAC5Cd,4EAAiB,CAAC,YAAM;IACpB,IAAIe,UAAJ;IACA,IAAIC,cAAJ;IACA,IAAMC,wBAAwB,GAAG7S,sEAAe,EAChD;IACA/J,MAAM,CAACgK,SAFyC,EAE9B;MACdqB,UAAU,EAAE,cADE;MAEdR,eAAe,EAAE,gCAFH;MAGdG,iBAAiB,EAAE;IAHL,CAF8B,EAM7C,UAACxD,gBAAD,EAAmBC,eAAnB,EAAoClC,QAApC,EAAiD;MAChDmX,UAAU,GAAG,IAAInV,gFAAJ,CAAuBC,gBAAvB,EAAyCC,eAAzC,EAA0DlC,QAA1D,CAAb;MACAmX,UAAU,CAAClX,MAAX;IACH,CAT+C,EAS7C,YAAM;MACLkX,UAAU,CAACxS,IAAX;IACH,CAX+C,CAAhD;IAYA,IAAM2S,2BAA2B,GAAG9S,sEAAe,EACnD;IACA/J,MAAM,CAACgK,SAF4C,EAEjC;MACdqB,UAAU,EAAE,iBADE;MAEdR,eAAe,EAAE,mCAFH;MAGdG,iBAAiB,EAAE;IAHL,CAFiC,EAMhD,UAACxD,gBAAD,EAAmBC,eAAnB,EAAoClC,QAApC,EAAiD;MAChDoX,cAAc,GAAG,IAAI7S,sFAAJ,CAA2BtC,gBAA3B,EAA6CC,eAA7C,EAA8DlC,QAA9D,CAAjB;MACAoX,cAAc,CAACnX,MAAf;IACH,CATkD,EAShD,YAAM;MACLmX,cAAc,CAACzS,IAAf;IACH,CAXkD,CAAnD,CAfoB,CA2BpB;;IACAlK,MAAM,CAACgK,SAAP,CAAiB8S,cAAjB,CAAgC,kBAAhC,EAAoDF,wBAApD,EA5BoB,CA6BpB;;IACA5c,MAAM,CAACgK,SAAP,CAAiB8S,cAAjB,CAAgC,qBAAhC,EAAuDD,2BAAvD;EACH,CA/BgB,CAAjB;AAgCH,CAjCD,E","sources":["webpack://leadin/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://leadin/./node_modules/@linaria/react/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://leadin/./scripts/constants/defaultFormOptions.ts","webpack://leadin/./scripts/constants/leadinConfig.ts","webpack://leadin/./scripts/elementor/Common/ConnectPluginBanner.tsx","webpack://leadin/./scripts/elementor/Common/ElementorBanner.tsx","webpack://leadin/./scripts/elementor/Common/ElementorButton.tsx","webpack://leadin/./scripts/elementor/FormWidget/ElementorFormSelect.tsx","webpack://leadin/./scripts/elementor/FormWidget/FormControlController.tsx","webpack://leadin/./scripts/elementor/FormWidget/FormWidgetController.tsx","webpack://leadin/./scripts/elementor/FormWidget/hooks/useForms.ts","webpack://leadin/./scripts/elementor/FormWidget/registerFormWidget.ts","webpack://leadin/./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx","webpack://leadin/./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx","webpack://leadin/./scripts/elementor/MeetingWidget/MeetingControlController.tsx","webpack://leadin/./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx","webpack://leadin/./scripts/elementor/MeetingWidget/registerMeetingWidget.ts","webpack://leadin/./scripts/elementor/elementorWidget.ts","webpack://leadin/./scripts/iframe/integratedMessages/core/CoreMessages.ts","webpack://leadin/./scripts/iframe/integratedMessages/forms/FormsMessages.ts","webpack://leadin/./scripts/iframe/integratedMessages/index.ts","webpack://leadin/./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts","webpack://leadin/./scripts/iframe/integratedMessages/plugin/PluginMessages.ts","webpack://leadin/./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts","webpack://leadin/./scripts/iframe/useBackgroundApp.ts","webpack://leadin/./scripts/lib/Raven.ts","webpack://leadin/./scripts/shared/Common/AsyncSelect.tsx","webpack://leadin/./scripts/shared/Common/ErrorHandler.tsx","webpack://leadin/./scripts/shared/Common/HubspotWrapper.ts","webpack://leadin/./scripts/shared/Common/LoadingBlock.tsx","webpack://leadin/./scripts/shared/Form/FormEdit.tsx","webpack://leadin/./scripts/shared/Form/FormSelect.tsx","webpack://leadin/./scripts/shared/Form/FormSelector.tsx","webpack://leadin/./scripts/shared/Form/PreviewForm.tsx","webpack://leadin/./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts","webpack://leadin/./scripts/shared/Form/hooks/useForms.ts","webpack://leadin/./scripts/shared/Form/hooks/useFormsScript.ts","webpack://leadin/./scripts/shared/Meeting/MeetingController.tsx","webpack://leadin/./scripts/shared/Meeting/MeetingEdit.tsx","webpack://leadin/./scripts/shared/Meeting/MeetingSelector.tsx","webpack://leadin/./scripts/shared/Meeting/MeetingWarning.tsx","webpack://leadin/./scripts/shared/Meeting/PreviewMeeting.tsx","webpack://leadin/./scripts/shared/Meeting/constants.ts","webpack://leadin/./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts","webpack://leadin/./scripts/shared/Meeting/hooks/useMeetings.ts","webpack://leadin/./scripts/shared/Meeting/hooks/useMeetingsFetch.ts","webpack://leadin/./scripts/shared/Meeting/hooks/useMeetingsScript.ts","webpack://leadin/./scripts/shared/UIComponents/UIAlert.tsx","webpack://leadin/./scripts/shared/UIComponents/UIButton.ts","webpack://leadin/./scripts/shared/UIComponents/UIContainer.ts","webpack://leadin/./scripts/shared/UIComponents/UIOverlay.ts","webpack://leadin/./scripts/shared/UIComponents/UISpacer.ts","webpack://leadin/./scripts/shared/UIComponents/UISpinner.tsx","webpack://leadin/./scripts/shared/UIComponents/colors.ts","webpack://leadin/./scripts/shared/enums/connectionStatus.ts","webpack://leadin/./scripts/shared/enums/loadState.ts","webpack://leadin/./scripts/utils/appUtils.ts","webpack://leadin/./scripts/utils/backgroundAppUtils.ts","webpack://leadin/./node_modules/lodash/_Symbol.js","webpack://leadin/./node_modules/lodash/_baseGetTag.js","webpack://leadin/./node_modules/lodash/_baseTrim.js","webpack://leadin/./node_modules/lodash/_freeGlobal.js","webpack://leadin/./node_modules/lodash/_getRawTag.js","webpack://leadin/./node_modules/lodash/_objectToString.js","webpack://leadin/./node_modules/lodash/_root.js","webpack://leadin/./node_modules/lodash/_trimmedEndIndex.js","webpack://leadin/./node_modules/lodash/debounce.js","webpack://leadin/./node_modules/lodash/isObject.js","webpack://leadin/./node_modules/lodash/isObjectLike.js","webpack://leadin/./node_modules/lodash/isSymbol.js","webpack://leadin/./node_modules/lodash/now.js","webpack://leadin/./node_modules/lodash/toNumber.js","webpack://leadin/./scripts/elementor/Common/ElementorButton.tsx?a429","webpack://leadin/./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx?284e","webpack://leadin/./scripts/shared/Common/AsyncSelect.tsx?df11","webpack://leadin/./scripts/shared/Common/HubspotWrapper.ts?a346","webpack://leadin/./scripts/shared/UIComponents/UIAlert.tsx?0f15","webpack://leadin/./scripts/shared/UIComponents/UIButton.ts?d089","webpack://leadin/./scripts/shared/UIComponents/UIContainer.ts?e576","webpack://leadin/./scripts/shared/UIComponents/UIOverlay.ts?c9f9","webpack://leadin/./scripts/shared/UIComponents/UISpacer.ts?8e1e","webpack://leadin/./scripts/shared/UIComponents/UISpinner.tsx?4a02","webpack://leadin/./node_modules/object-assign/index.js","webpack://leadin/./node_modules/raven-js/src/configError.js","webpack://leadin/./node_modules/raven-js/src/console.js","webpack://leadin/./node_modules/raven-js/src/raven.js","webpack://leadin/./node_modules/raven-js/src/singleton.js","webpack://leadin/./node_modules/raven-js/src/utils.js","webpack://leadin/./node_modules/raven-js/vendor/TraceKit/tracekit.js","webpack://leadin/./node_modules/raven-js/vendor/json-stringify-safe/stringify.js","webpack://leadin/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://leadin/./node_modules/react/jsx-runtime.js","webpack://leadin/external window \"React\"","webpack://leadin/external window \"ReactDOM\"","webpack://leadin/external window \"jQuery\"","webpack://leadin/external window [\"wp\",\"i18n\"]","webpack://leadin/./node_modules/@linaria/react/dist/index.mjs","webpack://leadin/./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs","webpack://leadin/webpack/bootstrap","webpack://leadin/webpack/runtime/compat get default export","webpack://leadin/webpack/runtime/define property getters","webpack://leadin/webpack/runtime/global","webpack://leadin/webpack/runtime/hasOwnProperty shorthand","webpack://leadin/webpack/runtime/make namespace object","webpack://leadin/./scripts/entries/elementor.ts"],"sourcesContent":["function memoize(fn) {\n  var cache = Object.create(null);\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n  /* o */\n  && prop.charCodeAt(1) === 110\n  /* n */\n  && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","import { __ } from '@wordpress/i18n';\nconst REGISTRATION_FORM = 'REGISTRATION_FORM';\nconst CONTACT_US_FORM = 'CONTACT_US_FORM';\nconst NEWSLETTER_FORM = 'NEWSLETTER_FORM';\nconst SUPPORT_FORM = 'SUPPORT_FORM';\nconst EVENT_FORM = 'EVENT_FORM';\nexport const DEFAULT_OPTIONS = {\n    label: __('Templates', 'leadin'),\n    options: [\n        { label: __('Registration Form', 'leadin'), value: REGISTRATION_FORM },\n        { label: __('Contact us Form', 'leadin'), value: CONTACT_US_FORM },\n        { label: __('Newsletter sign-up Form', 'leadin'), value: NEWSLETTER_FORM },\n        { label: __('Support Form', 'leadin'), value: SUPPORT_FORM },\n        { label: __('Event Registration Form', 'leadin'), value: EVENT_FORM },\n    ],\n};\nexport function isDefaultForm(value) {\n    return (value === REGISTRATION_FORM ||\n        value === CONTACT_US_FORM ||\n        value === NEWSLETTER_FORM ||\n        value === SUPPORT_FORM ||\n        value === EVENT_FORM);\n}\n","const { accountName, adminUrl, activationTime, connectionStatus, deviceId, didDisconnect, env, formsScript, meetingsScript, formsScriptPayload, hublet, hubspotBaseUrl, hubspotNonce, iframeUrl, impactLink, leadinPluginVersion, leadinQueryParams, locale, loginUrl, phpVersion, pluginPath, plugins, portalDomain, portalEmail, portalId, redirectNonce, restNonce, restUrl, refreshToken, reviewSkippedDate, theme, trackConsent, wpVersion, contentEmbed, requiresContentEmbedScope, } = window.leadinConfig;\nexport { accountName, adminUrl, activationTime, connectionStatus, deviceId, didDisconnect, env, formsScript, meetingsScript, formsScriptPayload, hublet, hubspotBaseUrl, hubspotNonce, iframeUrl, impactLink, leadinPluginVersion, leadinQueryParams, loginUrl, locale, phpVersion, pluginPath, plugins, portalDomain, portalEmail, portalId, redirectNonce, restNonce, restUrl, refreshToken, reviewSkippedDate, theme, trackConsent, wpVersion, contentEmbed, requiresContentEmbedScope, };\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport ElementorBanner from './ElementorBanner';\nimport { __ } from '@wordpress/i18n';\nexport default function ConnectPluginBanner() {\n    return (_jsx(ElementorBanner, { children: _jsx(\"b\", { dangerouslySetInnerHTML: {\n                __html: __('The HubSpot plugin is not connected right now To use HubSpot tools on your WordPress site, %1$sconnect the plugin now%2$s')\n                    .replace('%1$s', '<a class=\"leadin-banner__link\" href=\"admin.php?page=leadin&bannerClick=true\">')\n                    .replace('%2$s', '</a>'),\n            } }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ElementorBanner({ type = 'warning', children, }) {\n    return (_jsx(\"div\", { className: \"elementor-control-content\", children: _jsx(\"div\", { className: `elementor-control-raw-html elementor-panel-alert elementor-panel-alert-${type}`, children: children }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { styled } from '@linaria/react';\nconst Container = styled.div `\n  display: flex;\n  justify-content: center;\n  padding-bottom: 8px;\n`;\nexport default function ElementorButton({ children, ...params }) {\n    return (_jsx(Container, { className: \"elementor-button-wrapper\", children: _jsx(\"button\", { className: \"elementor-button elementor-button-default\", type: \"button\", ...params, children: children }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { portalId, refreshToken } from '../../constants/leadinConfig';\nimport ElementorBanner from '../Common/ElementorBanner';\nimport UISpinner from '../../shared/UIComponents/UISpinner';\nimport { __ } from '@wordpress/i18n';\nimport { BackgroudAppContext, useBackgroundAppContext, } from '../../iframe/useBackgroundApp';\nimport useForms from './hooks/useForms';\nimport { getOrCreateBackgroundApp } from '../../utils/backgroundAppUtils';\nfunction ElementorFormSelect({ formId, setAttributes, }) {\n    const { hasError, forms, loading } = useForms();\n    return loading ? (_jsx(\"div\", { children: _jsx(UISpinner, {}) })) : hasError ? (_jsx(ElementorBanner, { type: \"danger\", children: __('Please refresh your forms or try again in a few minutes', 'leadin') })) : (_jsxs(\"select\", { value: formId, onChange: event => {\n            const selectedForm = forms.find(form => form.value === event.target.value);\n            if (selectedForm) {\n                setAttributes({\n                    portalId,\n                    formId: selectedForm.value,\n                    formName: selectedForm.label,\n                });\n            }\n        }, children: [_jsx(\"option\", { value: \"\", disabled: true, selected: true, children: __('Search for a form', 'leadin') }), forms.map(form => (_jsx(\"option\", { value: form.value, children: form.label }, form.value)))] }));\n}\nfunction ElementorFormSelectWrapper(props) {\n    const isBackgroundAppReady = useBackgroundAppContext();\n    return (_jsx(Fragment, { children: !isBackgroundAppReady ? (_jsx(\"div\", { children: _jsx(UISpinner, {}) })) : (_jsx(ElementorFormSelect, { ...props })) }));\n}\nexport default function ElementorFormSelectContainer(props) {\n    return (_jsx(BackgroudAppContext.Provider, { value: refreshToken && getOrCreateBackgroundApp(refreshToken), children: _jsx(ElementorFormSelectWrapper, { ...props }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { connectionStatus } from '../../constants/leadinConfig';\nimport ConnectPluginBanner from '../Common/ConnectPluginBanner';\nimport ElementorFormSelect from './ElementorFormSelect';\nconst ConnectionStatus = {\n    Connected: 'Connected',\n    NotConnected: 'NotConnected',\n};\nexport default function FormControlController(attributes, setValue) {\n    return () => {\n        const render = () => {\n            if (connectionStatus === ConnectionStatus.Connected) {\n                return (_jsx(ElementorFormSelect, { formId: attributes.formId, setAttributes: setValue }));\n            }\n            else {\n                return _jsx(ConnectPluginBanner, {});\n            }\n        };\n        return _jsx(Fragment, { children: render() });\n    };\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { connectionStatus } from '../../constants/leadinConfig';\nimport ErrorHandler from '../../shared/Common/ErrorHandler';\nimport FormEdit from '../../shared/Form/FormEdit';\nimport ConnectionStatus from '../../shared/enums/connectionStatus';\nexport default function FormWidgetController(attributes, setValue) {\n    return () => {\n        const render = () => {\n            if (connectionStatus === ConnectionStatus.Connected) {\n                return (_jsx(FormEdit, { attributes: attributes, isSelected: true, setAttributes: setValue, preview: false, origin: \"elementor\" }));\n            }\n            else {\n                return _jsx(ErrorHandler, { status: 401 });\n            }\n        };\n        return _jsx(Fragment, { children: render() });\n    };\n}\n","import { useState, useEffect } from 'react';\nimport LoadState from '../../../shared/enums/loadState';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nimport { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';\nexport default function useForms() {\n    const proxy = usePostAsyncBackgroundMessage();\n    const [loadState, setLoadState] = useState(LoadState.NotLoaded);\n    const [hasError, setError] = useState(null);\n    const [forms, setForms] = useState([]);\n    useEffect(() => {\n        if (loadState === LoadState.NotLoaded) {\n            proxy({\n                key: ProxyMessages.FetchForms,\n                payload: {\n                    search: '',\n                },\n            })\n                .then(data => {\n                setForms(data.map((form) => ({\n                    label: form.name,\n                    value: form.guid,\n                })));\n                setLoadState(LoadState.Loaded);\n            })\n                .catch(error => {\n                setError(error);\n                setLoadState(LoadState.Failed);\n            });\n        }\n    }, [loadState]);\n    return { forms, loading: loadState === LoadState.Loading, hasError };\n}\n","import ReactDOM from 'react-dom';\nimport FormControlController from './FormControlController';\nimport FormWidgetController from './FormWidgetController';\nexport default class registerFormWidget {\n    widgetContainer;\n    attributes;\n    controlContainer;\n    setValue;\n    constructor(controlContainer, widgetContainer, setValue) {\n        const attributes = widgetContainer.dataset.attributes\n            ? JSON.parse(widgetContainer.dataset.attributes)\n            : {};\n        this.widgetContainer = widgetContainer;\n        this.controlContainer = controlContainer;\n        this.setValue = setValue;\n        this.attributes = attributes;\n    }\n    render() {\n        ReactDOM.render(FormWidgetController(this.attributes, this.setValue)(), this.widgetContainer);\n        ReactDOM.render(FormControlController(this.attributes, this.setValue)(), this.controlContainer);\n    }\n    done() {\n        ReactDOM.unmountComponentAtNode(this.widgetContainer);\n        ReactDOM.unmountComponentAtNode(this.controlContainer);\n    }\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment, useState } from 'react';\nimport ElementorBanner from '../Common/ElementorBanner';\nimport UISpinner from '../../shared/UIComponents/UISpinner';\nimport ElementorMeetingWarning from './ElementorMeetingWarning';\nimport useMeetings, { useSelectedMeetingCalendar, } from '../../shared/Meeting/hooks/useMeetings';\nimport { __ } from '@wordpress/i18n';\nimport Raven from 'raven-js';\nimport { BackgroudAppContext, useBackgroundAppContext, } from '../../iframe/useBackgroundApp';\nimport { refreshToken } from '../../constants/leadinConfig';\nimport { getOrCreateBackgroundApp } from '../../utils/backgroundAppUtils';\nfunction ElementorMeetingSelect({ url, setAttributes, }) {\n    const { mappedMeetings: meetings, loading, error, reload, connectCalendar, } = useMeetings();\n    const selectedMeetingCalendar = useSelectedMeetingCalendar(url);\n    const [localUrl, setLocalUrl] = useState(url);\n    const handleConnectCalendar = () => {\n        return connectCalendar()\n            .then(() => {\n            reload();\n        })\n            .catch(error => {\n            Raven.captureMessage('Unable to connect calendar', {\n                extra: { error },\n            });\n        });\n    };\n    return (_jsx(Fragment, { children: loading ? (_jsx(\"div\", { children: _jsx(UISpinner, {}) })) : error ? (_jsx(ElementorBanner, { type: \"danger\", children: __('Please refresh your meetings or try again in a few minutes', 'leadin') })) : (_jsxs(Fragment, { children: [selectedMeetingCalendar && (_jsx(ElementorMeetingWarning, { status: selectedMeetingCalendar, onConnectCalendar: connectCalendar })), meetings.length > 1 && (_jsxs(\"select\", { value: localUrl, onChange: event => {\n                        const newUrl = event.target.value;\n                        setLocalUrl(newUrl);\n                        setAttributes({\n                            url: newUrl,\n                        });\n                    }, children: [_jsx(\"option\", { value: \"\", disabled: true, selected: true, children: __('Select a meeting', 'leadin') }), meetings.map(item => (_jsx(\"option\", { value: item.value, children: item.label }, item.value)))] }))] })) }));\n}\nfunction ElementorMeetingSelectWrapper(props) {\n    const isBackgroundAppReady = useBackgroundAppContext();\n    return (_jsx(Fragment, { children: !isBackgroundAppReady ? (_jsx(\"div\", { children: _jsx(UISpinner, {}) })) : (_jsx(ElementorMeetingSelect, { ...props })) }));\n}\nexport default function ElementorMeetingsSelectContainer(props) {\n    return (_jsx(BackgroudAppContext.Provider, { value: refreshToken && getOrCreateBackgroundApp(refreshToken), children: _jsx(ElementorMeetingSelectWrapper, { ...props }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { CURRENT_USER_CALENDAR_MISSING } from '../../shared/Meeting/constants';\nimport ElementorButton from '../Common/ElementorButton';\nimport ElementorBanner from '../Common/ElementorBanner';\nimport { styled } from '@linaria/react';\nimport { __ } from '@wordpress/i18n';\nconst Container = styled.div `\n  padding-bottom: 8px;\n`;\nexport default function MeetingWarning({ onConnectCalendar, status, }) {\n    const isMeetingOwner = status === CURRENT_USER_CALENDAR_MISSING;\n    const titleText = isMeetingOwner\n        ? __('Your calendar is not connected', 'leadin')\n        : __('Calendar is not connected', 'leadin');\n    const titleMessage = isMeetingOwner\n        ? __('Please connect your calendar to activate your scheduling pages', 'leadin')\n        : __('Make sure that everybody in this meeting has connected their calendar from the Meetings page in HubSpot', 'leadin');\n    return (_jsxs(Fragment, { children: [_jsx(Container, { children: _jsxs(ElementorBanner, { type: \"warning\", children: [_jsx(\"b\", { children: titleText }), _jsx(\"br\", {}), titleMessage] }) }), isMeetingOwner && (_jsx(ElementorButton, { id: \"meetings-connect-calendar\", onClick: onConnectCalendar, children: __('Connect calendar', 'leadin') }))] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { connectionStatus } from '../../constants/leadinConfig';\nimport ConnectPluginBanner from '../Common/ConnectPluginBanner';\nimport ElementorMeetingSelect from './ElementorMeetingSelect';\nconst ConnectionStatus = {\n    Connected: 'Connected',\n    NotConnected: 'NotConnected',\n};\nexport default function MeetingControlController(attributes, setValue) {\n    return () => {\n        const render = () => {\n            if (connectionStatus === ConnectionStatus.Connected) {\n                return (_jsx(ElementorMeetingSelect, { url: attributes.url, setAttributes: setValue }));\n            }\n            else {\n                return _jsx(ConnectPluginBanner, {});\n            }\n        };\n        return _jsx(Fragment, { children: render() });\n    };\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport { connectionStatus } from '../../constants/leadinConfig';\nimport ErrorHandler from '../../shared/Common/ErrorHandler';\nimport MeetingsEdit from '../../shared/Meeting/MeetingEdit';\nconst ConnectionStatus = {\n    Connected: 'Connected',\n    NotConnected: 'NotConnected',\n};\nexport default function MeetingWidgetController(attributes, setValue) {\n    return () => {\n        const render = () => {\n            if (connectionStatus === ConnectionStatus.Connected) {\n                return (_jsx(MeetingsEdit, { attributes: attributes, isSelected: true, setAttributes: setValue, preview: false, origin: \"elementor\" }));\n            }\n            else {\n                return _jsx(ErrorHandler, { status: 401 });\n            }\n        };\n        return _jsx(Fragment, { children: render() });\n    };\n}\n","import ReactDOM from 'react-dom';\nimport MeetingControlController from './MeetingControlController';\nimport MeetingWidgetController from './MeetingWidgetController';\nexport default class registerMeetingsWidget {\n    widgetContainer;\n    controlContainer;\n    setValue;\n    attributes;\n    constructor(controlContainer, widgetContainer, setValue) {\n        const attributes = widgetContainer.dataset.attributes\n            ? JSON.parse(widgetContainer.dataset.attributes)\n            : {};\n        this.widgetContainer = widgetContainer;\n        this.controlContainer = controlContainer;\n        this.setValue = setValue;\n        this.attributes = attributes;\n    }\n    render() {\n        ReactDOM.render(MeetingWidgetController(this.attributes, this.setValue)(), this.widgetContainer);\n        ReactDOM.render(MeetingControlController(this.attributes, this.setValue)(), this.controlContainer);\n    }\n    done() {\n        ReactDOM.unmountComponentAtNode(this.widgetContainer);\n        ReactDOM.unmountComponentAtNode(this.controlContainer);\n    }\n}\n","export default function elementorWidget(elementor, options, callback, done = () => { }) {\n    return elementor.modules.controls.BaseData.extend({\n        onReady() {\n            const self = this;\n            const controlContainer = this.ui.contentEditable.prevObject[0].querySelector(options.controlSelector);\n            let widgetContainer = this.options.element.$el[0].querySelector(options.containerSelector);\n            if (widgetContainer) {\n                callback(controlContainer, widgetContainer, (args) => self.setValue(args));\n            }\n            else {\n                //@ts-expect-error global\n                window.elementorFrontend.hooks.addAction(`frontend/element_ready/${options.widgetName}.default`, (element) => {\n                    widgetContainer = element[0].querySelector(options.containerSelector);\n                    callback(controlContainer, widgetContainer, (args) => self.setValue(args));\n                });\n            }\n        },\n        saveValue(props) {\n            this.setValue(props);\n        },\n        onBeforeDestroy() {\n            //@ts-expect-error global\n            window.elementorFrontend.hooks.removeAction(`frontend/element_ready/${options.widgetName}.default`);\n            done();\n        },\n    });\n}\n","export const CoreMessages = {\n    HandshakeReceive: 'INTEGRATED_APP_EMBEDDER_HANDSHAKE_RECEIVED',\n    SendRefreshToken: 'INTEGRATED_APP_EMBEDDER_SEND_REFRESH_TOKEN',\n    ReloadParentFrame: 'INTEGRATED_APP_EMBEDDER_RELOAD_PARENT_FRAME',\n    RedirectParentFrame: 'INTEGRATED_APP_EMBEDDER_REDIRECT_PARENT_FRAME',\n    SendLocale: 'INTEGRATED_APP_EMBEDDER_SEND_LOCALE',\n    SendDeviceId: 'INTEGRATED_APP_EMBEDDER_SEND_DEVICE_ID',\n};\n","export const FormMessages = {\n    CreateFormAppNavigation: 'CREATE_FORM_APP_NAVIGATION',\n};\n","export * from './core/CoreMessages';\nexport * from './forms/FormsMessages';\nexport * from './livechat/LiveChatMessages';\nexport * from './plugin/PluginMessages';\nexport * from './proxy/ProxyMessages';\n","export const LiveChatMessages = {\n    CreateLiveChatAppNavigation: 'CREATE_LIVE_CHAT_APP_NAVIGATION',\n};\n","export const PluginMessages = {\n    PluginSettingsNavigation: 'PLUGIN_SETTINGS_NAVIGATION',\n    PluginLeadinConfig: 'PLUGIN_LEADIN_CONFIG',\n    TrackConsent: 'INTEGRATED_APP_EMBEDDER_TRACK_CONSENT',\n    InternalTrackingFetchRequest: 'INTEGRATED_TRACKING_FETCH_REQUEST',\n    InternalTrackingFetchResponse: 'INTEGRATED_TRACKING_FETCH_RESPONSE',\n    InternalTrackingFetchError: 'INTEGRATED_TRACKING_FETCH_ERROR',\n    InternalTrackingChangeRequest: 'INTEGRATED_TRACKING_CHANGE_REQUEST',\n    InternalTrackingChangeError: 'INTEGRATED_TRACKING_CHANGE_ERROR',\n    BusinessUnitFetchRequest: 'BUSINESS_UNIT_FETCH_REQUEST',\n    BusinessUnitFetchResponse: 'BUSINESS_UNIT_FETCH_FETCH_RESPONSE',\n    BusinessUnitFetchError: 'BUSINESS_UNIT_FETCH_FETCH_ERROR',\n    BusinessUnitChangeRequest: 'BUSINESS_UNIT_CHANGE_REQUEST',\n    BusinessUnitChangeError: 'BUSINESS_UNIT_CHANGE_ERROR',\n    SkipReviewRequest: 'SKIP_REVIEW_REQUEST',\n    SkipReviewResponse: 'SKIP_REVIEW_RESPONSE',\n    SkipReviewError: 'SKIP_REVIEW_ERROR',\n    RemoveParentQueryParam: 'REMOVE_PARENT_QUERY_PARAM',\n    ContentEmbedInstallRequest: 'CONTENT_EMBED_INSTALL_REQUEST',\n    ContentEmbedInstallResponse: 'CONTENT_EMBED_INSTALL_RESPONSE',\n    ContentEmbedInstallError: 'CONTENT_EMBED_INSTALL_ERROR',\n    ContentEmbedActivationRequest: 'CONTENT_EMBED_ACTIVATION_REQUEST',\n    ContentEmbedActivationResponse: 'CONTENT_EMBED_ACTIVATION_RESPONSE',\n    ContentEmbedActivationError: 'CONTENT_EMBED_ACTIVATION_ERROR',\n};\n","export const ProxyMessages = {\n    FetchForms: 'FETCH_FORMS',\n    FetchForm: 'FETCH_FORM',\n    CreateFormFromTemplate: 'CREATE_FORM_FROM_TEMPLATE',\n    FetchAuth: 'FETCH_AUTH',\n    FetchMeetingsAndUsers: 'FETCH_MEETINGS_AND_USERS',\n    FetchContactsCreateSinceActivation: 'FETCH_CONTACTS_CREATED_SINCE_ACTIVATION',\n    FetchOrCreateMeetingUser: 'FETCH_OR_CREATE_MEETING_USER',\n    ConnectMeetingsCalendar: 'CONNECT_MEETINGS_CALENDAR',\n    TrackFormPreviewRender: 'TRACK_FORM_PREVIEW_RENDER',\n    TrackFormCreatedFromTemplate: 'TRACK_FORM_CREATED_FROM_TEMPLATE',\n    TrackFormCreationFailed: 'TRACK_FORM_CREATION_FAILED',\n    TrackMeetingPreviewRender: 'TRACK_MEETING_PREVIEW_RENDER',\n    TrackSidebarMetaChange: 'TRACK_SIDEBAR_META_CHANGE',\n    TrackReviewBannerRender: 'TRACK_REVIEW_BANNER_RENDER',\n    TrackReviewBannerInteraction: 'TRACK_REVIEW_BANNER_INTERACTION',\n    TrackReviewBannerDismissed: 'TRACK_REVIEW_BANNER_DISMISSED',\n    TrackPluginDeactivation: 'TRACK_PLUGIN_DEACTIVATION',\n};\n","import { createContext, useContext } from 'react';\nexport const BackgroudAppContext = createContext(null);\nexport function useBackgroundAppContext() {\n    return useContext(BackgroudAppContext);\n}\nexport function usePostBackgroundMessage() {\n    const app = useBackgroundAppContext();\n    return (message) => {\n        app.postMessage(message);\n    };\n}\nexport function usePostAsyncBackgroundMessage() {\n    const app = useBackgroundAppContext();\n    return (message) => app.postAsyncMessage(message);\n}\n","import Raven from 'raven-js';\nimport { hubspotBaseUrl, phpVersion, wpVersion, leadinPluginVersion, portalId, plugins, } from '../constants/leadinConfig';\nexport function configureRaven() {\n    if (hubspotBaseUrl.indexOf('app.hubspot.com') === -1) {\n        return;\n    }\n    Raven.config('https://e9b8f382cdd130c0d415cd977d2be56f@exceptions.hubspot.com/1', {\n        instrument: {\n            tryCatch: false,\n        },\n        release: leadinPluginVersion,\n    }).install();\n    Raven.setTagsContext({\n        v: leadinPluginVersion,\n        php: phpVersion,\n        wordpress: wpVersion,\n    });\n    Raven.setExtraContext({\n        hub: portalId,\n        plugins: Object.keys(plugins)\n            .map(name => `${name}#${plugins[name]}`)\n            .join(','),\n    });\n}\nexport default Raven;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useRef, useState, useEffect } from 'react';\nimport { styled } from '@linaria/react';\nimport { CALYPSO, CALYPSO_LIGHT, CALYPSO_MEDIUM, OBSIDIAN, } from '../UIComponents/colors';\nimport UISpinner from '../UIComponents/UISpinner';\nimport LoadState from '../enums/loadState';\nconst Container = styled.div `\n  color: ${OBSIDIAN};\n  font-family: 'Lexend Deca', Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  position: relative;\n`;\nconst ControlContainer = styled.div `\n  align-items: center;\n  background-color: hsl(0, 0%, 100%);\n  border-color: hsl(0, 0%, 80%);\n  border-radius: 4px;\n  border-style: solid;\n  border-width: ${props => (props.focused ? '0' : '1px')};\n  cursor: default;\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  min-height: 38px;\n  outline: 0 !important;\n  position: relative;\n  transition: all 100ms;\n  box-sizing: border-box;\n  box-shadow: ${props => props.focused ? `0 0 0 2px ${CALYPSO_MEDIUM}` : 'none'};\n  &:hover {\n    border-color: hsl(0, 0%, 70%);\n  }\n`;\nconst ValueContainer = styled.div `\n  align-items: center;\n  display: flex;\n  flex: 1;\n  flex-wrap: wrap;\n  padding: 2px 8px;\n  position: relative;\n  overflow: hidden;\n  box-sizing: border-box;\n`;\nconst Placeholder = styled.div `\n  color: hsl(0, 0%, 50%);\n  margin-left: 2px;\n  margin-right: 2px;\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  box-sizing: border-box;\n  font-size: 16px;\n`;\nconst SingleValue = styled.div `\n  color: hsl(0, 0%, 20%);\n  margin-left: 2px;\n  margin-right: 2px;\n  max-width: calc(100% - 8px);\n  overflow: hidden;\n  position: absolute;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  top: 50%;\n  transform: translateY(-50%);\n  box-sizing: border-box;\n`;\nconst IndicatorContainer = styled.div `\n  align-items: center;\n  align-self: stretch;\n  display: flex;\n  flex-shrink: 0;\n  box-sizing: border-box;\n`;\nconst DropdownIndicator = styled.div `\n  border-top: 8px solid ${CALYPSO};\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  width: 0px;\n  height: 0px;\n  margin: 10px;\n`;\nconst InputContainer = styled.div `\n  margin: 2px;\n  padding-bottom: 2px;\n  padding-top: 2px;\n  visibility: visible;\n  color: hsl(0, 0%, 20%);\n  box-sizing: border-box;\n`;\nconst Input = styled.input `\n  box-sizing: content-box;\n  background: rgba(0, 0, 0, 0) none repeat scroll 0px center;\n  border: 0px none;\n  font-size: inherit;\n  opacity: 1;\n  outline: currentcolor none 0px;\n  padding: 0px;\n  color: inherit;\n  font-family: inherit;\n`;\nconst InputShadow = styled.div `\n  position: absolute;\n  opacity: 0;\n  font-size: inherit;\n`;\nconst MenuContainer = styled.div `\n  position: absolute;\n  top: 100%;\n  background-color: #fff;\n  border-radius: 4px;\n  margin-bottom: 8px;\n  margin-top: 8px;\n  z-index: 9999;\n  box-shadow: 0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1);\n  width: 100%;\n`;\nconst MenuList = styled.div `\n  max-height: 300px;\n  overflow-y: auto;\n  padding-bottom: 4px;\n  padding-top: 4px;\n  position: relative;\n`;\nconst MenuGroup = styled.div `\n  padding-bottom: 8px;\n  padding-top: 8px;\n`;\nconst MenuGroupHeader = styled.div `\n  color: #999;\n  cursor: default;\n  font-size: 75%;\n  font-weight: 500;\n  margin-bottom: 0.25em;\n  text-transform: uppercase;\n  padding-left: 12px;\n  padding-left: 12px;\n`;\nconst MenuItem = styled.div `\n  display: block;\n  background-color: ${props => props.selected ? CALYPSO_MEDIUM : 'transparent'};\n  color: ${props => (props.selected ? '#fff' : 'inherit')};\n  cursor: default;\n  font-size: inherit;\n  width: 100%;\n  padding: 8px 12px;\n  &:hover {\n    background-color: ${props => props.selected ? CALYPSO_MEDIUM : CALYPSO_LIGHT};\n  }\n`;\nexport default function AsyncSelect({ placeholder, value, loadOptions, onChange, defaultOptions, }) {\n    const inputEl = useRef(null);\n    const inputShadowEl = useRef(null);\n    const [isFocused, setFocus] = useState(false);\n    const [loadState, setLoadState] = useState(LoadState.NotLoaded);\n    const [localValue, setLocalValue] = useState('');\n    const [options, setOptions] = useState(defaultOptions);\n    const inputSize = `${inputShadowEl.current ? inputShadowEl.current.clientWidth + 10 : 2}px`;\n    useEffect(() => {\n        if (loadOptions && loadState === LoadState.NotLoaded) {\n            loadOptions('', (result) => {\n                setOptions(result);\n                setLoadState(LoadState.Idle);\n            });\n        }\n    }, [loadOptions, loadState]);\n    const renderItems = (items = [], parentKey) => {\n        return items.map((item, index) => {\n            if (item.options) {\n                return (_jsxs(MenuGroup, { children: [_jsx(MenuGroupHeader, { id: `${index}-heading`, children: item.label }), _jsx(\"div\", { children: renderItems(item.options, index) })] }, `async-select-item-${index}`));\n            }\n            else {\n                const key = `async-select-item-${parentKey !== undefined ? `${parentKey}-${index}` : index}`;\n                return (_jsx(MenuItem, { id: key, selected: value && item.value === value.value, onClick: () => {\n                        onChange(item);\n                        setFocus(false);\n                    }, children: item.label }, key));\n            }\n        });\n    };\n    return (_jsxs(Container, { children: [_jsxs(ControlContainer, { id: \"leadin-async-selector\", focused: isFocused, onClick: () => {\n                    if (isFocused) {\n                        if (inputEl.current) {\n                            inputEl.current.blur();\n                        }\n                        setFocus(false);\n                        setLocalValue('');\n                    }\n                    else {\n                        if (inputEl.current) {\n                            inputEl.current.focus();\n                        }\n                        setFocus(true);\n                    }\n                }, children: [_jsxs(ValueContainer, { children: [localValue === '' &&\n                                (!value ? (_jsx(Placeholder, { children: placeholder })) : (_jsx(SingleValue, { children: value.label }))), _jsxs(InputContainer, { children: [_jsx(Input, { ref: inputEl, onFocus: () => {\n                                            setFocus(true);\n                                        }, onChange: e => {\n                                            setLocalValue(e.target.value);\n                                            setLoadState(LoadState.Loading);\n                                            loadOptions &&\n                                                loadOptions(e.target.value, (result) => {\n                                                    setOptions(result);\n                                                    setLoadState(LoadState.Idle);\n                                                });\n                                        }, value: localValue, width: inputSize, id: \"asycn-select-input\" }), _jsx(InputShadow, { ref: inputShadowEl, children: localValue })] })] }), _jsxs(IndicatorContainer, { children: [loadState === LoadState.Loading && _jsx(UISpinner, {}), _jsx(DropdownIndicator, {})] })] }), isFocused && (_jsx(MenuContainer, { children: _jsx(MenuList, { children: renderItems(options) }) }))] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport UIButton from '../UIComponents/UIButton';\nimport UIContainer from '../UIComponents/UIContainer';\nimport HubspotWrapper from './HubspotWrapper';\nimport { adminUrl, redirectNonce } from '../../constants/leadinConfig';\nimport { pluginPath } from '../../constants/leadinConfig';\nimport { __ } from '@wordpress/i18n';\nfunction redirectToPlugin() {\n    window.location.href = `${adminUrl}admin.php?page=leadin&leadin_expired=${redirectNonce}`;\n}\nexport default function ErrorHandler({ status, resetErrorState, errorInfo = { header: '', message: '', action: '' }, }) {\n    const isUnauthorized = status === 401 || status === 403;\n    const errorHeader = isUnauthorized\n        ? __(\"Your plugin isn't authorized\", 'leadin')\n        : errorInfo.header;\n    const errorMessage = isUnauthorized\n        ? __('Reauthorize your plugin to access your free HubSpot tools', 'leadin')\n        : errorInfo.message;\n    return (_jsx(HubspotWrapper, { pluginPath: pluginPath, children: _jsxs(UIContainer, { textAlign: \"center\", children: [_jsx(\"h4\", { children: errorHeader }), _jsx(\"p\", { children: _jsx(\"b\", { children: errorMessage }) }), isUnauthorized ? (_jsx(UIButton, { \"data-test-id\": \"authorize-button\", onClick: redirectToPlugin, children: __('Go to plugin', 'leadin') })) : (_jsx(UIButton, { \"data-test-id\": \"retry-button\", onClick: resetErrorState, children: errorInfo.action }))] }) }));\n}\n","import { styled } from '@linaria/react';\nexport default styled.div `\n  background-image: ${props => `url(${props.pluginPath}/public/assets/images/hubspot.svg)`};\n  background-color: #f5f8fa;\n  background-repeat: no-repeat;\n  background-position: center 25px;\n  background-size: 120px;\n  color: #33475b;\n  font-family: 'Lexend Deca', Helvetica, Arial, sans-serif;\n  font-size: 14px;\n\n  padding: ${(props) => props.padding || '90px 20% 25px'};\n\n  p {\n    font-size: inherit !important;\n    line-height: 24px;\n    margin: 4px 0;\n  }\n`;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport HubspotWrapper from './HubspotWrapper';\nimport UISpinner from '../UIComponents/UISpinner';\nimport { pluginPath } from '../../constants/leadinConfig';\nexport default function LoadingBlock() {\n    return (_jsx(HubspotWrapper, { pluginPath: pluginPath, children: _jsx(UISpinner, { size: 50 }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment, useEffect } from 'react';\nimport { portalId, refreshToken } from '../../constants/leadinConfig';\nimport UISpacer from '../UIComponents/UISpacer';\nimport PreviewForm from './PreviewForm';\nimport FormSelect from './FormSelect';\nimport { usePostBackgroundMessage, BackgroudAppContext, useBackgroundAppContext, } from '../../iframe/useBackgroundApp';\nimport { ProxyMessages } from '../../iframe/integratedMessages';\nimport LoadingBlock from '../Common/LoadingBlock';\nimport { getOrCreateBackgroundApp } from '../../utils/backgroundAppUtils';\nfunction FormEdit({ attributes, isSelected, setAttributes, preview = true, origin = 'gutenberg', }) {\n    const { formId, formName } = attributes;\n    const formSelected = portalId && formId;\n    const isBackgroundAppReady = useBackgroundAppContext();\n    const monitorFormPreviewRender = usePostBackgroundMessage();\n    const handleChange = (selectedForm) => {\n        setAttributes({\n            portalId,\n            formId: selectedForm.value,\n            formName: selectedForm.label,\n        });\n    };\n    useEffect(() => {\n        monitorFormPreviewRender({\n            key: ProxyMessages.TrackFormPreviewRender,\n            payload: {\n                origin,\n            },\n        });\n    }, [origin]);\n    return !isBackgroundAppReady ? (_jsx(LoadingBlock, {})) : (_jsxs(Fragment, { children: [(isSelected || !formSelected) && (_jsx(FormSelect, { formId: formId, formName: formName, handleChange: handleChange, origin: origin })), formSelected && (_jsxs(Fragment, { children: [isSelected && _jsx(UISpacer, {}), preview && _jsx(PreviewForm, { portalId: portalId, formId: formId })] }))] }));\n}\nexport default function FormEditContainer(props) {\n    return (_jsx(BackgroudAppContext.Provider, { value: refreshToken && getOrCreateBackgroundApp(refreshToken), children: _jsx(FormEdit, { ...props }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport FormSelector from './FormSelector';\nimport LoadingBlock from '../Common/LoadingBlock';\nimport { __ } from '@wordpress/i18n';\nimport useForms from './hooks/useForms';\nimport useCreateFormFromTemplate from './hooks/useCreateFormFromTemplate';\nimport { isDefaultForm } from '../../constants/defaultFormOptions';\nimport ErrorHandler from '../Common/ErrorHandler';\nexport default function FormSelect({ formId, formName, handleChange, origin = 'gutenberg', }) {\n    const { search, formApiError, reset } = useForms();\n    const { createFormByTemplate, reset: createReset, isCreating, hasError, formApiError: createApiError, } = useCreateFormFromTemplate(origin);\n    const value = formId && formName\n        ? {\n            label: formName,\n            value: formId,\n        }\n        : null;\n    const handleLocalChange = (option) => {\n        if (isDefaultForm(option.value)) {\n            createFormByTemplate(option.value).then(({ guid, name }) => {\n                handleChange({\n                    value: guid,\n                    label: name,\n                });\n            });\n        }\n        else {\n            handleChange(option);\n        }\n    };\n    return isCreating ? (_jsx(LoadingBlock, {})) : formApiError || createApiError ? (_jsx(ErrorHandler, { status: formApiError ? formApiError.status : createApiError.status, resetErrorState: () => {\n            if (hasError) {\n                createReset();\n            }\n            else {\n                reset();\n            }\n        }, errorInfo: {\n            header: __('There was a problem retrieving your forms', 'leadin'),\n            message: __('Please refresh your forms or try again in a few minutes', 'leadin'),\n            action: __('Refresh forms', 'leadin'),\n        } })) : (_jsx(FormSelector, { loadOptions: search, onChange: (option) => handleLocalChange(option), value: value }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport HubspotWrapper from '../Common/HubspotWrapper';\nimport { pluginPath } from '../../constants/leadinConfig';\nimport AsyncSelect from '../Common/AsyncSelect';\nimport { __ } from '@wordpress/i18n';\nexport default function FormSelector({ loadOptions, onChange, value, }) {\n    return (_jsxs(HubspotWrapper, { pluginPath: pluginPath, children: [_jsx(\"p\", { \"data-test-id\": \"leadin-form-select\", children: _jsx(\"b\", { children: __('Select an existing form or create a new one from a template', 'leadin') }) }), _jsx(AsyncSelect, { placeholder: __('Search for a form', 'leadin'), value: value, loadOptions: loadOptions, onChange: onChange })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, useRef } from 'react';\nimport UIOverlay from '../UIComponents/UIOverlay';\nimport { formsScriptPayload, hublet } from '../../constants/leadinConfig';\nimport useFormScript from './hooks/useFormsScript';\nexport default function PreviewForm({ portalId, formId, }) {\n    const inputEl = useRef(null);\n    const ready = useFormScript();\n    useEffect(() => {\n        if (!ready) {\n            return;\n        }\n        if (inputEl.current) {\n            inputEl.current.innerHTML = '';\n            const embedScript = document.createElement('script');\n            embedScript.innerHTML = `hbspt.forms.create({ portalId: '${portalId}', formId: '${formId}', region: '${hublet}', ${formsScriptPayload} });`;\n            inputEl.current.appendChild(embedScript);\n        }\n    }, [formId, portalId, ready, inputEl]);\n    return _jsx(UIOverlay, { ref: inputEl });\n}\n","import { useState } from 'react';\nimport { usePostAsyncBackgroundMessage, usePostBackgroundMessage, } from '../../../iframe/useBackgroundApp';\nimport LoadState from '../../enums/loadState';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nexport default function useCreateFormFromTemplate(origin = 'gutenberg') {\n    const proxy = usePostAsyncBackgroundMessage();\n    const track = usePostBackgroundMessage();\n    const [loadState, setLoadState] = useState(LoadState.Idle);\n    const [formApiError, setFormApiError] = useState(null);\n    const createFormByTemplate = (type) => {\n        setLoadState(LoadState.Loading);\n        track({\n            key: ProxyMessages.TrackFormCreatedFromTemplate,\n            payload: {\n                type,\n                origin,\n            },\n        });\n        return proxy({\n            key: ProxyMessages.CreateFormFromTemplate,\n            payload: type,\n        })\n            .then(form => {\n            setLoadState(LoadState.Idle);\n            return form;\n        })\n            .catch(err => {\n            setFormApiError(err);\n            track({\n                key: ProxyMessages.TrackFormCreationFailed,\n                payload: {\n                    origin,\n                },\n            });\n            setLoadState(LoadState.Failed);\n        });\n    };\n    return {\n        isCreating: loadState === LoadState.Loading,\n        hasError: loadState === LoadState.Failed,\n        formApiError,\n        createFormByTemplate,\n        reset: () => setLoadState(LoadState.Idle),\n    };\n}\n","import { useState } from 'react';\nimport debounce from 'lodash/debounce';\nimport { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';\nimport { DEFAULT_OPTIONS } from '../../../constants/defaultFormOptions';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nexport default function useForms() {\n    const proxy = usePostAsyncBackgroundMessage();\n    const [formApiError, setFormApiError] = useState(null);\n    const search = debounce((search, callback) => {\n        return proxy({\n            key: ProxyMessages.FetchForms,\n            payload: {\n                search,\n            },\n        })\n            .then(forms => {\n            callback([\n                ...forms.map((form) => ({\n                    label: form.name,\n                    value: form.guid,\n                })),\n                DEFAULT_OPTIONS,\n            ]);\n        })\n            .catch(error => {\n            setFormApiError(error);\n        });\n    }, 300, { trailing: true });\n    return {\n        search,\n        formApiError,\n        reset: () => setFormApiError(null),\n    };\n}\n","import $ from 'jquery';\nimport { useEffect, useState } from 'react';\nimport { formsScript } from '../../../constants/leadinConfig';\nimport Raven from '../../../lib/Raven';\nlet promise;\nfunction loadFormsScript() {\n    if (!promise) {\n        promise = new Promise((resolve, reject) => $.getScript(formsScript)\n            .done(resolve)\n            .fail(reject));\n    }\n    return promise;\n}\nexport default function useFormScript() {\n    const [ready, setReady] = useState(false);\n    useEffect(() => {\n        loadFormsScript()\n            .then(() => setReady(true))\n            .catch(error => Raven.captureException(error));\n    }, []);\n    return ready;\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment, useEffect } from 'react';\nimport LoadingBlock from '../Common/LoadingBlock';\nimport MeetingSelector from './MeetingSelector';\nimport MeetingWarning from './MeetingWarning';\nimport useMeetings, { useSelectedMeeting, useSelectedMeetingCalendar, } from './hooks/useMeetings';\nimport HubspotWrapper from '../Common/HubspotWrapper';\nimport ErrorHandler from '../Common/ErrorHandler';\nimport { pluginPath } from '../../constants/leadinConfig';\nimport { __ } from '@wordpress/i18n';\nimport Raven from 'raven-js';\nexport default function MeetingController({ handleChange, url, }) {\n    const { mappedMeetings: meetings, loading, error, reload, connectCalendar, } = useMeetings();\n    const selectedMeetingOption = useSelectedMeeting(url);\n    const selectedMeetingCalendar = useSelectedMeetingCalendar(url);\n    useEffect(() => {\n        if (!url && meetings.length > 0) {\n            handleChange(meetings[0].value);\n        }\n    }, [meetings, url, handleChange]);\n    const handleLocalChange = (option) => {\n        handleChange(option.value);\n    };\n    const handleConnectCalendar = () => {\n        return connectCalendar()\n            .then(() => {\n            reload();\n        })\n            .catch(error => {\n            Raven.captureMessage('Unable to connect calendar', {\n                extra: { error },\n            });\n        });\n    };\n    return (_jsx(Fragment, { children: loading ? (_jsx(LoadingBlock, {})) : error ? (_jsx(ErrorHandler, { status: (error && error.status) || error, resetErrorState: () => reload(), errorInfo: {\n                header: __('There was a problem retrieving your meetings', 'leadin'),\n                message: __('Please refresh your meetings or try again in a few minutes', 'leadin'),\n                action: __('Refresh meetings', 'leadin'),\n            } })) : (_jsxs(HubspotWrapper, { padding: \"90px 32px 24px\", pluginPath: pluginPath, children: [selectedMeetingCalendar && (_jsx(MeetingWarning, { status: selectedMeetingCalendar, onConnectCalendar: handleConnectCalendar })), meetings.length > 1 && (_jsx(MeetingSelector, { onChange: handleLocalChange, options: meetings, value: selectedMeetingOption }))] })) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment, useEffect } from 'react';\nimport MeetingController from './MeetingController';\nimport PreviewMeeting from './PreviewMeeting';\nimport { BackgroudAppContext, useBackgroundAppContext, usePostBackgroundMessage, } from '../../iframe/useBackgroundApp';\nimport { refreshToken } from '../../constants/leadinConfig';\nimport { ProxyMessages } from '../../iframe/integratedMessages';\nimport LoadingBlock from '../Common/LoadingBlock';\nimport { getOrCreateBackgroundApp } from '../../utils/backgroundAppUtils';\nfunction MeetingEdit({ attributes: { url }, isSelected, setAttributes, preview = true, origin = 'gutenberg', }) {\n    const isBackgroundAppReady = useBackgroundAppContext();\n    const monitorFormPreviewRender = usePostBackgroundMessage();\n    const handleChange = (newUrl) => {\n        setAttributes({\n            url: newUrl,\n        });\n    };\n    useEffect(() => {\n        monitorFormPreviewRender({\n            key: ProxyMessages.TrackMeetingPreviewRender,\n            payload: {\n                origin,\n            },\n        });\n    }, [origin]);\n    return !isBackgroundAppReady ? (_jsx(LoadingBlock, {})) : (_jsxs(Fragment, { children: [(isSelected || !url) && (_jsx(MeetingController, { url: url, handleChange: handleChange })), preview && url && _jsx(PreviewMeeting, { url: url })] }));\n}\nexport default function MeetingsEditContainer(props) {\n    return (_jsx(BackgroudAppContext.Provider, { value: refreshToken && getOrCreateBackgroundApp(refreshToken), children: _jsx(MeetingEdit, { ...props }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment } from 'react';\nimport AsyncSelect from '../Common/AsyncSelect';\nimport UISpacer from '../UIComponents/UISpacer';\nimport { __ } from '@wordpress/i18n';\nexport default function MeetingSelector({ options, onChange, value, }) {\n    const optionsWrapper = [\n        {\n            label: __('Meeting name', 'leadin'),\n            options,\n        },\n    ];\n    return (_jsxs(Fragment, { children: [_jsx(UISpacer, {}), _jsx(\"p\", { \"data-test-id\": \"leadin-meeting-select\", children: _jsx(\"b\", { children: __('Select a meeting scheduling page', 'leadin') }) }), _jsx(AsyncSelect, { defaultOptions: optionsWrapper, onChange: onChange, placeholder: __('Select a meeting', 'leadin'), value: value })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport UIAlert from '../UIComponents/UIAlert';\nimport UIButton from '../UIComponents/UIButton';\nimport { CURRENT_USER_CALENDAR_MISSING } from './constants';\nimport { __ } from '@wordpress/i18n';\nexport default function MeetingWarning({ status, onConnectCalendar, }) {\n    const isMeetingOwner = status === CURRENT_USER_CALENDAR_MISSING;\n    const titleText = isMeetingOwner\n        ? __('Your calendar is not connected', 'leadin')\n        : __('Calendar is not connected', 'leadin');\n    const titleMessage = isMeetingOwner\n        ? __('Please connect your calendar to activate your scheduling pages', 'leadin')\n        : __('Make sure that everybody in this meeting has connected their calendar from the Meetings page in HubSpot', 'leadin');\n    return (_jsx(UIAlert, { titleText: titleText, titleMessage: titleMessage, children: isMeetingOwner && (_jsx(UIButton, { use: \"tertiary\", id: \"meetings-connect-calendar\", onClick: onConnectCalendar, children: __('Connect calendar', 'leadin') })) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment, useEffect, useRef } from 'react';\nimport UIOverlay from '../UIComponents/UIOverlay';\nimport useMeetingsScript from './hooks/useMeetingsScript';\nexport default function PreviewForm({ url }) {\n    const ready = useMeetingsScript();\n    const inputEl = useRef(null);\n    useEffect(() => {\n        if (!ready) {\n            return;\n        }\n        if (inputEl.current) {\n            inputEl.current.innerHTML = '';\n            const container = document.createElement('div');\n            container.dataset.src = `${url}?embed=true`;\n            container.classList.add('meetings-iframe-container');\n            inputEl.current.appendChild(container);\n            const embedScript = document.createElement('script');\n            embedScript.innerHTML =\n                'hbspt.meetings.create(\".meetings-iframe-container\");';\n            inputEl.current.appendChild(embedScript);\n        }\n    }, [url, ready, inputEl]);\n    return _jsx(Fragment, { children: url && _jsx(UIOverlay, { ref: inputEl }) });\n}\n","export const OTHER_USER_CALENDAR_MISSING = 'OTHER_USER_CALENDAR_MISSING';\nexport const CURRENT_USER_CALENDAR_MISSING = 'CURRENT_USER_CALENDAR_MISSING';\n","import { useEffect, useState } from 'react';\nimport { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';\nimport LoadState from '../../enums/loadState';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nlet user = null;\nexport default function useCurrentUserFetch() {\n    const proxy = usePostAsyncBackgroundMessage();\n    const [loadState, setLoadState] = useState(LoadState.NotLoaded);\n    const [error, setError] = useState(null);\n    const createUser = () => {\n        if (!user) {\n            setLoadState(LoadState.NotLoaded);\n        }\n    };\n    const reload = () => {\n        user = null;\n        setLoadState(LoadState.NotLoaded);\n        setError(null);\n    };\n    useEffect(() => {\n        if (loadState === LoadState.NotLoaded && !user) {\n            setLoadState(LoadState.Loading);\n            proxy({\n                key: ProxyMessages.FetchOrCreateMeetingUser,\n            })\n                .then(data => {\n                user = data;\n                setLoadState(LoadState.Idle);\n            })\n                .catch(err => {\n                setError(err);\n                setLoadState(LoadState.Failed);\n            });\n        }\n    }, [loadState]);\n    return { user, loadUserState: loadState, error, createUser, reload };\n}\n","import { useCallback } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { CURRENT_USER_CALENDAR_MISSING, OTHER_USER_CALENDAR_MISSING, } from '../constants';\nimport useMeetingsFetch from './useMeetingsFetch';\nimport useCurrentUserFetch from './useCurrentUserFetch';\nimport LoadState from '../../enums/loadState';\nimport { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nfunction getDefaultMeetingName(meeting, currentUser, meetingUsers) {\n    const [meetingOwnerId] = meeting.meetingsUserIds;\n    let result = __('Default', 'leadin');\n    if (currentUser &&\n        meetingOwnerId !== currentUser.id &&\n        meetingUsers[meetingOwnerId]) {\n        const user = meetingUsers[meetingOwnerId];\n        result += ` (${user.userProfile.fullName})`;\n    }\n    return result;\n}\nfunction hasCalendarObject(user) {\n    return (user &&\n        user.meetingsUserBlob &&\n        user.meetingsUserBlob.calendarSettings &&\n        user.meetingsUserBlob.calendarSettings.email);\n}\nexport default function useMeetings() {\n    const proxy = usePostAsyncBackgroundMessage();\n    const { meetings, meetingUsers, error: meetingsError, loadMeetingsState, reload: reloadMeetings, } = useMeetingsFetch();\n    const { user: currentUser, error: userError, loadUserState, reload: reloadUser, } = useCurrentUserFetch();\n    const reload = useCallback(() => {\n        reloadUser();\n        reloadMeetings();\n    }, [reloadUser, reloadMeetings]);\n    const connectCalendar = () => {\n        return proxy({\n            key: ProxyMessages.ConnectMeetingsCalendar,\n        });\n    };\n    return {\n        mappedMeetings: meetings.map(meet => ({\n            label: meet.name || getDefaultMeetingName(meet, currentUser, meetingUsers),\n            value: meet.link,\n        })),\n        meetings,\n        meetingUsers,\n        currentUser,\n        error: meetingsError || userError,\n        loading: loadMeetingsState == LoadState.Loading ||\n            loadUserState === LoadState.Loading,\n        reload,\n        connectCalendar,\n    };\n}\nexport function useSelectedMeeting(url) {\n    const { mappedMeetings: meetings } = useMeetings();\n    const option = meetings.find(({ value }) => value === url);\n    return option;\n}\nexport function useSelectedMeetingCalendar(url) {\n    const { meetings, meetingUsers, currentUser } = useMeetings();\n    const meeting = meetings.find(meet => meet.link === url);\n    const mappedMeetingUsersId = meetingUsers.reduce((p, c) => ({ ...p, [c.id]: c }), {});\n    if (!meeting) {\n        return null;\n    }\n    else {\n        const { meetingsUserIds } = meeting;\n        if (currentUser &&\n            meetingsUserIds.includes(currentUser.id) &&\n            !hasCalendarObject(currentUser)) {\n            return CURRENT_USER_CALENDAR_MISSING;\n        }\n        else if (meetingsUserIds\n            .map(id => mappedMeetingUsersId[id])\n            .some((user) => !hasCalendarObject(user))) {\n            return OTHER_USER_CALENDAR_MISSING;\n        }\n        else {\n            return null;\n        }\n    }\n}\n","import { useEffect, useState } from 'react';\nimport { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';\nimport LoadState from '../../enums/loadState';\nimport { ProxyMessages } from '../../../iframe/integratedMessages';\nlet meetings = [];\nlet meetingUsers = [];\nexport default function useMeetingsFetch() {\n    const proxy = usePostAsyncBackgroundMessage();\n    const [loadState, setLoadState] = useState(LoadState.NotLoaded);\n    const [error, setError] = useState(null);\n    const reload = () => {\n        meetings = [];\n        setError(null);\n        setLoadState(LoadState.NotLoaded);\n    };\n    useEffect(() => {\n        if (loadState === LoadState.NotLoaded && meetings.length === 0) {\n            setLoadState(LoadState.Loading);\n            proxy({\n                key: ProxyMessages.FetchMeetingsAndUsers,\n            })\n                .then(data => {\n                setLoadState(LoadState.Loaded);\n                meetings = data && data.meetingLinks;\n                meetingUsers = data && data.meetingUsers;\n            })\n                .catch(e => {\n                setError(e);\n                setLoadState(LoadState.Failed);\n            });\n        }\n    }, [loadState]);\n    return {\n        meetings,\n        meetingUsers,\n        loadMeetingsState: loadState,\n        error,\n        reload,\n    };\n}\n","import $ from 'jquery';\nimport { useState, useEffect } from 'react';\nimport { meetingsScript } from '../../../constants/leadinConfig';\nimport Raven from '../../../lib/Raven';\nlet promise;\nfunction loadMeetingsScript() {\n    if (!promise) {\n        promise = new Promise((resolve, reject) => $.getScript(meetingsScript)\n            .done(resolve)\n            .fail(reject));\n    }\n    return promise;\n}\nexport default function useMeetingsScript() {\n    const [ready, setReady] = useState(false);\n    useEffect(() => {\n        loadMeetingsScript()\n            .then(() => setReady(true))\n            .catch(error => Raven.captureException(error));\n    }, []);\n    return ready;\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { styled } from '@linaria/react';\nimport { MARIGOLD_LIGHT, MARIGOLD_MEDIUM, OBSIDIAN } from './colors';\nconst AlertContainer = styled.div `\n  background-color: ${MARIGOLD_LIGHT};\n  border-color: ${MARIGOLD_MEDIUM};\n  color: ${OBSIDIAN};\n  font-size: 14px;\n  align-items: center;\n  justify-content: space-between;\n  display: flex;\n  border-style: solid;\n  border-top-style: solid;\n  border-right-style: solid;\n  border-bottom-style: solid;\n  border-left-style: solid;\n  border-width: 1px;\n  min-height: 60px;\n  padding: 8px 20px;\n  position: relative;\n  text-align: left;\n`;\nconst Title = styled.p `\n  font-family: 'Lexend Deca';\n  font-style: normal;\n  font-weight: 700;\n  font-size: 16px;\n  line-height: 19px;\n  color: ${OBSIDIAN};\n  margin: 0;\n  padding: 0;\n`;\nconst Message = styled.p `\n  font-family: 'Lexend Deca';\n  font-style: normal;\n  font-weight: 400;\n  font-size: 14px;\n  margin: 0;\n  padding: 0;\n`;\nconst MessageContainer = styled.div `\n  display: flex;\n  flex-direction: column;\n`;\nexport default function UIAlert({ titleText, titleMessage, children, }) {\n    return (_jsxs(AlertContainer, { children: [_jsxs(MessageContainer, { children: [_jsx(Title, { children: titleText }), _jsx(Message, { children: titleMessage })] }), children] }));\n}\n","import { styled } from '@linaria/react';\nimport { HEFFALUMP, LORAX, OLAF } from './colors';\nexport default styled.button `\n  background-color:${props => (props.use === 'tertiary' ? HEFFALUMP : LORAX)};\n  border: 3px solid ${props => (props.use === 'tertiary' ? HEFFALUMP : LORAX)};\n  color: ${OLAF}\n  border-radius: 3px;\n  font-size: 14px;\n  line-height: 14px;\n  padding: 12px 24px;\n  font-family: 'Lexend Deca', Helvetica, Arial, sans-serif;\n  font-weight: 500;\n  white-space: nowrap;\n`;\n","import { styled } from '@linaria/react';\nexport default styled.div `\n  text-align: ${props => (props.textAlign ? props.textAlign : 'inherit')};\n`;\n","import { styled } from '@linaria/react';\nexport default styled.div `\n  position: relative;\n\n  &:after {\n    content: '';\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    right: 0;\n    left: 0;\n  }\n`;\n","import { styled } from '@linaria/react';\nexport default styled.div `\n  height: 30px;\n`;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { styled } from '@linaria/react';\nimport { CALYPSO_MEDIUM, CALYPSO } from './colors';\nconst SpinnerOuter = styled.div `\n  align-items: center;\n  color: #00a4bd;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  margin: '2px';\n`;\nconst SpinnerInner = styled.div `\n  align-items: center;\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n`;\nconst Circle = styled.circle `\n  fill: none;\n  stroke: ${props => props.color};\n  stroke-width: 5;\n  stroke-linecap: round;\n  transform-origin: center;\n`;\nconst AnimatedCircle = styled.circle `\n  fill: none;\n  stroke: ${props => props.color};\n  stroke-width: 5;\n  stroke-linecap: round;\n  transform-origin: center;\n  animation: dashAnimation 2s ease-in-out infinite,\n    spinAnimation 2s linear infinite;\n\n  @keyframes dashAnimation {\n    0% {\n      stroke-dasharray: 1, 150;\n      stroke-dashoffset: 0;\n    }\n\n    50% {\n      stroke-dasharray: 90, 150;\n      stroke-dashoffset: -50;\n    }\n\n    100% {\n      stroke-dasharray: 90, 150;\n      stroke-dashoffset: -140;\n    }\n  }\n\n  @keyframes spinAnimation {\n    transform: rotate(360deg);\n  }\n`;\nexport default function UISpinner({ size = 20 }) {\n    return (_jsx(SpinnerOuter, { children: _jsx(SpinnerInner, { children: _jsxs(\"svg\", { height: size, width: size, viewBox: \"0 0 50 50\", children: [_jsx(Circle, { color: CALYPSO_MEDIUM, cx: \"25\", cy: \"25\", r: \"22.5\" }), _jsx(AnimatedCircle, { color: CALYPSO, cx: \"25\", cy: \"25\", r: \"22.5\" })] }) }) }));\n}\n","export const CALYPSO = '#00a4bd';\nexport const CALYPSO_MEDIUM = '#7fd1de';\nexport const CALYPSO_LIGHT = '#e5f5f8';\nexport const LORAX = '#ff7a59';\nexport const OLAF = '#ffffff';\nexport const HEFFALUMP = '#425b76';\nexport const MARIGOLD_LIGHT = '#fef8f0';\nexport const MARIGOLD_MEDIUM = '#fae0b5';\nexport const OBSIDIAN = '#33475b';\n","const ConnectionStatus = {\n    Connected: 'Connected',\n    NotConnected: 'NotConnected',\n};\nexport default ConnectionStatus;\n","const LoadState = {\n    NotLoaded: 'NotLoaded',\n    Loading: 'Loading',\n    Loaded: 'Loaded',\n    Idle: 'Idle',\n    Failed: 'Failed',\n};\nexport default LoadState;\n","import $ from 'jquery';\nimport Raven, { configureRaven } from '../lib/Raven';\nexport function initApp(initFn) {\n    configureRaven();\n    Raven.context(initFn);\n}\nexport function initAppOnReady(initFn) {\n    function main() {\n        $(initFn);\n    }\n    initApp(main);\n}\n","import { deviceId, hubspotBaseUrl, locale, portalId, } from '../constants/leadinConfig';\nimport { initApp } from './appUtils';\nexport function initBackgroundApp(initFn) {\n    function main() {\n        if (Array.isArray(initFn)) {\n            initFn.forEach(callback => callback());\n        }\n        else {\n            initFn();\n        }\n    }\n    initApp(main);\n}\nexport const getOrCreateBackgroundApp = (refreshToken) => {\n    if (window.LeadinBackgroundApp) {\n        return window.LeadinBackgroundApp;\n    }\n    const { IntegratedAppEmbedder, IntegratedAppOptions } = window;\n    const options = new IntegratedAppOptions()\n        .setLocale(locale)\n        .setDeviceId(deviceId)\n        .setRefreshToken(refreshToken);\n    const embedder = new IntegratedAppEmbedder('integrated-plugin-proxy', portalId, hubspotBaseUrl, () => { }).setOptions(options);\n    embedder.attachTo(document.body, false);\n    embedder.postStartAppMessage(); // lets the app know all all data has been passed to it\n    window.LeadinBackgroundApp = embedder;\n    return window.LeadinBackgroundApp;\n};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","function RavenConfigError(message) {\n  this.name = 'RavenConfigError';\n  this.message = message;\n}\nRavenConfigError.prototype = new Error();\nRavenConfigError.prototype.constructor = RavenConfigError;\n\nmodule.exports = RavenConfigError;\n","var wrapMethod = function(console, level, callback) {\n  var originalConsoleLevel = console[level];\n  var originalConsole = console;\n\n  if (!(level in console)) {\n    return;\n  }\n\n  var sentryLevel = level === 'warn' ? 'warning' : level;\n\n  console[level] = function() {\n    var args = [].slice.call(arguments);\n\n    var msg = '' + args.join(' ');\n    var data = {level: sentryLevel, logger: 'console', extra: {arguments: args}};\n\n    if (level === 'assert') {\n      if (args[0] === false) {\n        // Default browsers message\n        msg = 'Assertion failed: ' + (args.slice(1).join(' ') || 'console.assert');\n        data.extra.arguments = args.slice(1);\n        callback && callback(msg, data);\n      }\n    } else {\n      callback && callback(msg, data);\n    }\n\n    // this fails for some browsers. :(\n    if (originalConsoleLevel) {\n      // IE9 doesn't allow calling apply on console functions directly\n      // See: https://stackoverflow.com/questions/5472938/does-ie9-support-console-log-and-is-it-a-real-function#answer-5473193\n      Function.prototype.apply.call(originalConsoleLevel, originalConsole, args);\n    }\n  };\n};\n\nmodule.exports = {\n  wrapMethod: wrapMethod\n};\n","/*global XDomainRequest:false */\n\nvar TraceKit = require('../vendor/TraceKit/tracekit');\nvar stringify = require('../vendor/json-stringify-safe/stringify');\nvar RavenConfigError = require('./configError');\n\nvar utils = require('./utils');\nvar isError = utils.isError;\nvar isObject = utils.isObject;\nvar isObject = utils.isObject;\nvar isErrorEvent = utils.isErrorEvent;\nvar isUndefined = utils.isUndefined;\nvar isFunction = utils.isFunction;\nvar isString = utils.isString;\nvar isEmptyObject = utils.isEmptyObject;\nvar each = utils.each;\nvar objectMerge = utils.objectMerge;\nvar truncate = utils.truncate;\nvar objectFrozen = utils.objectFrozen;\nvar hasKey = utils.hasKey;\nvar joinRegExp = utils.joinRegExp;\nvar urlencode = utils.urlencode;\nvar uuid4 = utils.uuid4;\nvar htmlTreeAsString = utils.htmlTreeAsString;\nvar isSameException = utils.isSameException;\nvar isSameStacktrace = utils.isSameStacktrace;\nvar parseUrl = utils.parseUrl;\nvar fill = utils.fill;\n\nvar wrapConsoleMethod = require('./console').wrapMethod;\n\nvar dsnKeys = 'source protocol user pass host port path'.split(' '),\n  dsnPattern = /^(?:(\\w+):)?\\/\\/(?:(\\w+)(:\\w+)?@)?([\\w\\.-]+)(?::(\\d+))?(\\/.*)/;\n\nfunction now() {\n  return +new Date();\n}\n\n// This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)\nvar _window =\n  typeof window !== 'undefined'\n    ? window\n    : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar _document = _window.document;\nvar _navigator = _window.navigator;\n\nfunction keepOriginalCallback(original, callback) {\n  return isFunction(callback)\n    ? function(data) {\n        return callback(data, original);\n      }\n    : callback;\n}\n\n// First, check for JSON support\n// If there is no JSON, we no-op the core features of Raven\n// since JSON is required to encode the payload\nfunction Raven() {\n  this._hasJSON = !!(typeof JSON === 'object' && JSON.stringify);\n  // Raven can run in contexts where there's no document (react-native)\n  this._hasDocument = !isUndefined(_document);\n  this._hasNavigator = !isUndefined(_navigator);\n  this._lastCapturedException = null;\n  this._lastData = null;\n  this._lastEventId = null;\n  this._globalServer = null;\n  this._globalKey = null;\n  this._globalProject = null;\n  this._globalContext = {};\n  this._globalOptions = {\n    logger: 'javascript',\n    ignoreErrors: [],\n    ignoreUrls: [],\n    whitelistUrls: [],\n    includePaths: [],\n    collectWindowErrors: true,\n    maxMessageLength: 0,\n\n    // By default, truncates URL values to 250 chars\n    maxUrlLength: 250,\n    stackTraceLimit: 50,\n    autoBreadcrumbs: true,\n    instrument: true,\n    sampleRate: 1\n  };\n  this._ignoreOnError = 0;\n  this._isRavenInstalled = false;\n  this._originalErrorStackTraceLimit = Error.stackTraceLimit;\n  // capture references to window.console *and* all its methods first\n  // before the console plugin has a chance to monkey patch\n  this._originalConsole = _window.console || {};\n  this._originalConsoleMethods = {};\n  this._plugins = [];\n  this._startTime = now();\n  this._wrappedBuiltIns = [];\n  this._breadcrumbs = [];\n  this._lastCapturedEvent = null;\n  this._keypressTimeout;\n  this._location = _window.location;\n  this._lastHref = this._location && this._location.href;\n  this._resetBackoff();\n\n  // eslint-disable-next-line guard-for-in\n  for (var method in this._originalConsole) {\n    this._originalConsoleMethods[method] = this._originalConsole[method];\n  }\n}\n\n/*\n * The core Raven singleton\n *\n * @this {Raven}\n */\n\nRaven.prototype = {\n  // Hardcode version string so that raven source can be loaded directly via\n  // webpack (using a build step causes webpack #1617). Grunt verifies that\n  // this value matches package.json during build.\n  //   See: https://github.com/getsentry/raven-js/issues/465\n  VERSION: '3.19.1',\n\n  debug: false,\n\n  TraceKit: TraceKit, // alias to TraceKit\n\n  /*\n     * Configure Raven with a DSN and extra options\n     *\n     * @param {string} dsn The public Sentry DSN\n     * @param {object} options Set of global options [optional]\n     * @return {Raven}\n     */\n  config: function(dsn, options) {\n    var self = this;\n\n    if (self._globalServer) {\n      this._logDebug('error', 'Error: Raven has already been configured');\n      return self;\n    }\n    if (!dsn) return self;\n\n    var globalOptions = self._globalOptions;\n\n    // merge in options\n    if (options) {\n      each(options, function(key, value) {\n        // tags and extra are special and need to be put into context\n        if (key === 'tags' || key === 'extra' || key === 'user') {\n          self._globalContext[key] = value;\n        } else {\n          globalOptions[key] = value;\n        }\n      });\n    }\n\n    self.setDSN(dsn);\n\n    // \"Script error.\" is hard coded into browsers for errors that it can't read.\n    // this is the result of a script being pulled in from an external domain and CORS.\n    globalOptions.ignoreErrors.push(/^Script error\\.?$/);\n    globalOptions.ignoreErrors.push(/^Javascript error: Script error\\.? on line 0$/);\n\n    // join regexp rules into one big rule\n    globalOptions.ignoreErrors = joinRegExp(globalOptions.ignoreErrors);\n    globalOptions.ignoreUrls = globalOptions.ignoreUrls.length\n      ? joinRegExp(globalOptions.ignoreUrls)\n      : false;\n    globalOptions.whitelistUrls = globalOptions.whitelistUrls.length\n      ? joinRegExp(globalOptions.whitelistUrls)\n      : false;\n    globalOptions.includePaths = joinRegExp(globalOptions.includePaths);\n    globalOptions.maxBreadcrumbs = Math.max(\n      0,\n      Math.min(globalOptions.maxBreadcrumbs || 100, 100)\n    ); // default and hard limit is 100\n\n    var autoBreadcrumbDefaults = {\n      xhr: true,\n      console: true,\n      dom: true,\n      location: true\n    };\n\n    var autoBreadcrumbs = globalOptions.autoBreadcrumbs;\n    if ({}.toString.call(autoBreadcrumbs) === '[object Object]') {\n      autoBreadcrumbs = objectMerge(autoBreadcrumbDefaults, autoBreadcrumbs);\n    } else if (autoBreadcrumbs !== false) {\n      autoBreadcrumbs = autoBreadcrumbDefaults;\n    }\n    globalOptions.autoBreadcrumbs = autoBreadcrumbs;\n\n    var instrumentDefaults = {\n      tryCatch: true\n    };\n\n    var instrument = globalOptions.instrument;\n    if ({}.toString.call(instrument) === '[object Object]') {\n      instrument = objectMerge(instrumentDefaults, instrument);\n    } else if (instrument !== false) {\n      instrument = instrumentDefaults;\n    }\n    globalOptions.instrument = instrument;\n\n    TraceKit.collectWindowErrors = !!globalOptions.collectWindowErrors;\n\n    // return for chaining\n    return self;\n  },\n\n  /*\n     * Installs a global window.onerror error handler\n     * to capture and report uncaught exceptions.\n     * At this point, install() is required to be called due\n     * to the way TraceKit is set up.\n     *\n     * @return {Raven}\n     */\n  install: function() {\n    var self = this;\n    if (self.isSetup() && !self._isRavenInstalled) {\n      TraceKit.report.subscribe(function() {\n        self._handleOnErrorStackInfo.apply(self, arguments);\n      });\n      if (self._globalOptions.instrument && self._globalOptions.instrument.tryCatch) {\n        self._instrumentTryCatch();\n      }\n\n      if (self._globalOptions.autoBreadcrumbs) self._instrumentBreadcrumbs();\n\n      // Install all of the plugins\n      self._drainPlugins();\n\n      self._isRavenInstalled = true;\n    }\n\n    Error.stackTraceLimit = self._globalOptions.stackTraceLimit;\n    return this;\n  },\n\n  /*\n     * Set the DSN (can be called multiple time unlike config)\n     *\n     * @param {string} dsn The public Sentry DSN\n     */\n  setDSN: function(dsn) {\n    var self = this,\n      uri = self._parseDSN(dsn),\n      lastSlash = uri.path.lastIndexOf('/'),\n      path = uri.path.substr(1, lastSlash);\n\n    self._dsn = dsn;\n    self._globalKey = uri.user;\n    self._globalSecret = uri.pass && uri.pass.substr(1);\n    self._globalProject = uri.path.substr(lastSlash + 1);\n\n    self._globalServer = self._getGlobalServer(uri);\n\n    self._globalEndpoint =\n      self._globalServer + '/' + path + 'api/' + self._globalProject + '/store/';\n\n    // Reset backoff state since we may be pointing at a\n    // new project/server\n    this._resetBackoff();\n  },\n\n  /*\n     * Wrap code within a context so Raven can capture errors\n     * reliably across domains that is executed immediately.\n     *\n     * @param {object} options A specific set of options for this context [optional]\n     * @param {function} func The callback to be immediately executed within the context\n     * @param {array} args An array of arguments to be called with the callback [optional]\n     */\n  context: function(options, func, args) {\n    if (isFunction(options)) {\n      args = func || [];\n      func = options;\n      options = undefined;\n    }\n\n    return this.wrap(options, func).apply(this, args);\n  },\n\n  /*\n     * Wrap code within a context and returns back a new function to be executed\n     *\n     * @param {object} options A specific set of options for this context [optional]\n     * @param {function} func The function to be wrapped in a new context\n     * @param {function} func A function to call before the try/catch wrapper [optional, private]\n     * @return {function} The newly wrapped functions with a context\n     */\n  wrap: function(options, func, _before) {\n    var self = this;\n    // 1 argument has been passed, and it's not a function\n    // so just return it\n    if (isUndefined(func) && !isFunction(options)) {\n      return options;\n    }\n\n    // options is optional\n    if (isFunction(options)) {\n      func = options;\n      options = undefined;\n    }\n\n    // At this point, we've passed along 2 arguments, and the second one\n    // is not a function either, so we'll just return the second argument.\n    if (!isFunction(func)) {\n      return func;\n    }\n\n    // We don't wanna wrap it twice!\n    try {\n      if (func.__raven__) {\n        return func;\n      }\n\n      // If this has already been wrapped in the past, return that\n      if (func.__raven_wrapper__) {\n        return func.__raven_wrapper__;\n      }\n    } catch (e) {\n      // Just accessing custom props in some Selenium environments\n      // can cause a \"Permission denied\" exception (see raven-js#495).\n      // Bail on wrapping and return the function as-is (defers to window.onerror).\n      return func;\n    }\n\n    function wrapped() {\n      var args = [],\n        i = arguments.length,\n        deep = !options || (options && options.deep !== false);\n\n      if (_before && isFunction(_before)) {\n        _before.apply(this, arguments);\n      }\n\n      // Recursively wrap all of a function's arguments that are\n      // functions themselves.\n      while (i--) args[i] = deep ? self.wrap(options, arguments[i]) : arguments[i];\n\n      try {\n        // Attempt to invoke user-land function\n        // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n        //       means Raven caught an error invoking your application code. This is\n        //       expected behavior and NOT indicative of a bug with Raven.js.\n        return func.apply(this, args);\n      } catch (e) {\n        self._ignoreNextOnError();\n        self.captureException(e, options);\n        throw e;\n      }\n    }\n\n    // copy over properties of the old function\n    for (var property in func) {\n      if (hasKey(func, property)) {\n        wrapped[property] = func[property];\n      }\n    }\n    wrapped.prototype = func.prototype;\n\n    func.__raven_wrapper__ = wrapped;\n    // Signal that this function has been wrapped already\n    // for both debugging and to prevent it to being wrapped twice\n    wrapped.__raven__ = true;\n    wrapped.__inner__ = func;\n\n    return wrapped;\n  },\n\n  /*\n     * Uninstalls the global error handler.\n     *\n     * @return {Raven}\n     */\n  uninstall: function() {\n    TraceKit.report.uninstall();\n\n    this._restoreBuiltIns();\n\n    Error.stackTraceLimit = this._originalErrorStackTraceLimit;\n    this._isRavenInstalled = false;\n\n    return this;\n  },\n\n  /*\n     * Manually capture an exception and send it over to Sentry\n     *\n     * @param {error} ex An exception to be logged\n     * @param {object} options A specific set of options for this error [optional]\n     * @return {Raven}\n     */\n  captureException: function(ex, options) {\n    // Cases for sending ex as a message, rather than an exception\n    var isNotError = !isError(ex);\n    var isNotErrorEvent = !isErrorEvent(ex);\n    var isErrorEventWithoutError = isErrorEvent(ex) && !ex.error;\n\n    if ((isNotError && isNotErrorEvent) || isErrorEventWithoutError) {\n      return this.captureMessage(\n        ex,\n        objectMerge(\n          {\n            trimHeadFrames: 1,\n            stacktrace: true // if we fall back to captureMessage, default to attempting a new trace\n          },\n          options\n        )\n      );\n    }\n\n    // Get actual Error from ErrorEvent\n    if (isErrorEvent(ex)) ex = ex.error;\n\n    // Store the raw exception object for potential debugging and introspection\n    this._lastCapturedException = ex;\n\n    // TraceKit.report will re-raise any exception passed to it,\n    // which means you have to wrap it in try/catch. Instead, we\n    // can wrap it here and only re-raise if TraceKit.report\n    // raises an exception different from the one we asked to\n    // report on.\n    try {\n      var stack = TraceKit.computeStackTrace(ex);\n      this._handleStackInfo(stack, options);\n    } catch (ex1) {\n      if (ex !== ex1) {\n        throw ex1;\n      }\n    }\n\n    return this;\n  },\n\n  /*\n     * Manually send a message to Sentry\n     *\n     * @param {string} msg A plain message to be captured in Sentry\n     * @param {object} options A specific set of options for this message [optional]\n     * @return {Raven}\n     */\n  captureMessage: function(msg, options) {\n    // config() automagically converts ignoreErrors from a list to a RegExp so we need to test for an\n    // early call; we'll error on the side of logging anything called before configuration since it's\n    // probably something you should see:\n    if (\n      !!this._globalOptions.ignoreErrors.test &&\n      this._globalOptions.ignoreErrors.test(msg)\n    ) {\n      return;\n    }\n\n    options = options || {};\n\n    var data = objectMerge(\n      {\n        message: msg + '' // Make sure it's actually a string\n      },\n      options\n    );\n\n    var ex;\n    // Generate a \"synthetic\" stack trace from this point.\n    // NOTE: If you are a Sentry user, and you are seeing this stack frame, it is NOT indicative\n    //       of a bug with Raven.js. Sentry generates synthetic traces either by configuration,\n    //       or if it catches a thrown object without a \"stack\" property.\n    try {\n      throw new Error(msg);\n    } catch (ex1) {\n      ex = ex1;\n    }\n\n    // null exception name so `Error` isn't prefixed to msg\n    ex.name = null;\n    var stack = TraceKit.computeStackTrace(ex);\n\n    // stack[0] is `throw new Error(msg)` call itself, we are interested in the frame that was just before that, stack[1]\n    var initialCall = stack.stack[1];\n\n    var fileurl = (initialCall && initialCall.url) || '';\n\n    if (\n      !!this._globalOptions.ignoreUrls.test &&\n      this._globalOptions.ignoreUrls.test(fileurl)\n    ) {\n      return;\n    }\n\n    if (\n      !!this._globalOptions.whitelistUrls.test &&\n      !this._globalOptions.whitelistUrls.test(fileurl)\n    ) {\n      return;\n    }\n\n    if (this._globalOptions.stacktrace || (options && options.stacktrace)) {\n      options = objectMerge(\n        {\n          // fingerprint on msg, not stack trace (legacy behavior, could be\n          // revisited)\n          fingerprint: msg,\n          // since we know this is a synthetic trace, the top N-most frames\n          // MUST be from Raven.js, so mark them as in_app later by setting\n          // trimHeadFrames\n          trimHeadFrames: (options.trimHeadFrames || 0) + 1\n        },\n        options\n      );\n\n      var frames = this._prepareFrames(stack, options);\n      data.stacktrace = {\n        // Sentry expects frames oldest to newest\n        frames: frames.reverse()\n      };\n    }\n\n    // Fire away!\n    this._send(data);\n\n    return this;\n  },\n\n  captureBreadcrumb: function(obj) {\n    var crumb = objectMerge(\n      {\n        timestamp: now() / 1000\n      },\n      obj\n    );\n\n    if (isFunction(this._globalOptions.breadcrumbCallback)) {\n      var result = this._globalOptions.breadcrumbCallback(crumb);\n\n      if (isObject(result) && !isEmptyObject(result)) {\n        crumb = result;\n      } else if (result === false) {\n        return this;\n      }\n    }\n\n    this._breadcrumbs.push(crumb);\n    if (this._breadcrumbs.length > this._globalOptions.maxBreadcrumbs) {\n      this._breadcrumbs.shift();\n    }\n    return this;\n  },\n\n  addPlugin: function(plugin /*arg1, arg2, ... argN*/) {\n    var pluginArgs = [].slice.call(arguments, 1);\n\n    this._plugins.push([plugin, pluginArgs]);\n    if (this._isRavenInstalled) {\n      this._drainPlugins();\n    }\n\n    return this;\n  },\n\n  /*\n     * Set/clear a user to be sent along with the payload.\n     *\n     * @param {object} user An object representing user data [optional]\n     * @return {Raven}\n     */\n  setUserContext: function(user) {\n    // Intentionally do not merge here since that's an unexpected behavior.\n    this._globalContext.user = user;\n\n    return this;\n  },\n\n  /*\n     * Merge extra attributes to be sent along with the payload.\n     *\n     * @param {object} extra An object representing extra data [optional]\n     * @return {Raven}\n     */\n  setExtraContext: function(extra) {\n    this._mergeContext('extra', extra);\n\n    return this;\n  },\n\n  /*\n     * Merge tags to be sent along with the payload.\n     *\n     * @param {object} tags An object representing tags [optional]\n     * @return {Raven}\n     */\n  setTagsContext: function(tags) {\n    this._mergeContext('tags', tags);\n\n    return this;\n  },\n\n  /*\n     * Clear all of the context.\n     *\n     * @return {Raven}\n     */\n  clearContext: function() {\n    this._globalContext = {};\n\n    return this;\n  },\n\n  /*\n     * Get a copy of the current context. This cannot be mutated.\n     *\n     * @return {object} copy of context\n     */\n  getContext: function() {\n    // lol javascript\n    return JSON.parse(stringify(this._globalContext));\n  },\n\n  /*\n     * Set environment of application\n     *\n     * @param {string} environment Typically something like 'production'.\n     * @return {Raven}\n     */\n  setEnvironment: function(environment) {\n    this._globalOptions.environment = environment;\n\n    return this;\n  },\n\n  /*\n     * Set release version of application\n     *\n     * @param {string} release Typically something like a git SHA to identify version\n     * @return {Raven}\n     */\n  setRelease: function(release) {\n    this._globalOptions.release = release;\n\n    return this;\n  },\n\n  /*\n     * Set the dataCallback option\n     *\n     * @param {function} callback The callback to run which allows the\n     *                            data blob to be mutated before sending\n     * @return {Raven}\n     */\n  setDataCallback: function(callback) {\n    var original = this._globalOptions.dataCallback;\n    this._globalOptions.dataCallback = keepOriginalCallback(original, callback);\n    return this;\n  },\n\n  /*\n     * Set the breadcrumbCallback option\n     *\n     * @param {function} callback The callback to run which allows filtering\n     *                            or mutating breadcrumbs\n     * @return {Raven}\n     */\n  setBreadcrumbCallback: function(callback) {\n    var original = this._globalOptions.breadcrumbCallback;\n    this._globalOptions.breadcrumbCallback = keepOriginalCallback(original, callback);\n    return this;\n  },\n\n  /*\n     * Set the shouldSendCallback option\n     *\n     * @param {function} callback The callback to run which allows\n     *                            introspecting the blob before sending\n     * @return {Raven}\n     */\n  setShouldSendCallback: function(callback) {\n    var original = this._globalOptions.shouldSendCallback;\n    this._globalOptions.shouldSendCallback = keepOriginalCallback(original, callback);\n    return this;\n  },\n\n  /**\n     * Override the default HTTP transport mechanism that transmits data\n     * to the Sentry server.\n     *\n     * @param {function} transport Function invoked instead of the default\n     *                             `makeRequest` handler.\n     *\n     * @return {Raven}\n     */\n  setTransport: function(transport) {\n    this._globalOptions.transport = transport;\n\n    return this;\n  },\n\n  /*\n     * Get the latest raw exception that was captured by Raven.\n     *\n     * @return {error}\n     */\n  lastException: function() {\n    return this._lastCapturedException;\n  },\n\n  /*\n     * Get the last event id\n     *\n     * @return {string}\n     */\n  lastEventId: function() {\n    return this._lastEventId;\n  },\n\n  /*\n     * Determine if Raven is setup and ready to go.\n     *\n     * @return {boolean}\n     */\n  isSetup: function() {\n    if (!this._hasJSON) return false; // needs JSON support\n    if (!this._globalServer) {\n      if (!this.ravenNotConfiguredError) {\n        this.ravenNotConfiguredError = true;\n        this._logDebug('error', 'Error: Raven has not been configured.');\n      }\n      return false;\n    }\n    return true;\n  },\n\n  afterLoad: function() {\n    // TODO: remove window dependence?\n\n    // Attempt to initialize Raven on load\n    var RavenConfig = _window.RavenConfig;\n    if (RavenConfig) {\n      this.config(RavenConfig.dsn, RavenConfig.config).install();\n    }\n  },\n\n  showReportDialog: function(options) {\n    if (\n      !_document // doesn't work without a document (React native)\n    )\n      return;\n\n    options = options || {};\n\n    var lastEventId = options.eventId || this.lastEventId();\n    if (!lastEventId) {\n      throw new RavenConfigError('Missing eventId');\n    }\n\n    var dsn = options.dsn || this._dsn;\n    if (!dsn) {\n      throw new RavenConfigError('Missing DSN');\n    }\n\n    var encode = encodeURIComponent;\n    var qs = '';\n    qs += '?eventId=' + encode(lastEventId);\n    qs += '&dsn=' + encode(dsn);\n\n    var user = options.user || this._globalContext.user;\n    if (user) {\n      if (user.name) qs += '&name=' + encode(user.name);\n      if (user.email) qs += '&email=' + encode(user.email);\n    }\n\n    var globalServer = this._getGlobalServer(this._parseDSN(dsn));\n\n    var script = _document.createElement('script');\n    script.async = true;\n    script.src = globalServer + '/api/embed/error-page/' + qs;\n    (_document.head || _document.body).appendChild(script);\n  },\n\n  /**** Private functions ****/\n  _ignoreNextOnError: function() {\n    var self = this;\n    this._ignoreOnError += 1;\n    setTimeout(function() {\n      // onerror should trigger before setTimeout\n      self._ignoreOnError -= 1;\n    });\n  },\n\n  _triggerEvent: function(eventType, options) {\n    // NOTE: `event` is a native browser thing, so let's avoid conflicting wiht it\n    var evt, key;\n\n    if (!this._hasDocument) return;\n\n    options = options || {};\n\n    eventType = 'raven' + eventType.substr(0, 1).toUpperCase() + eventType.substr(1);\n\n    if (_document.createEvent) {\n      evt = _document.createEvent('HTMLEvents');\n      evt.initEvent(eventType, true, true);\n    } else {\n      evt = _document.createEventObject();\n      evt.eventType = eventType;\n    }\n\n    for (key in options)\n      if (hasKey(options, key)) {\n        evt[key] = options[key];\n      }\n\n    if (_document.createEvent) {\n      // IE9 if standards\n      _document.dispatchEvent(evt);\n    } else {\n      // IE8 regardless of Quirks or Standards\n      // IE9 if quirks\n      try {\n        _document.fireEvent('on' + evt.eventType.toLowerCase(), evt);\n      } catch (e) {\n        // Do nothing\n      }\n    }\n  },\n\n  /**\n     * Wraps addEventListener to capture UI breadcrumbs\n     * @param evtName the event name (e.g. \"click\")\n     * @returns {Function}\n     * @private\n     */\n  _breadcrumbEventHandler: function(evtName) {\n    var self = this;\n    return function(evt) {\n      // reset keypress timeout; e.g. triggering a 'click' after\n      // a 'keypress' will reset the keypress debounce so that a new\n      // set of keypresses can be recorded\n      self._keypressTimeout = null;\n\n      // It's possible this handler might trigger multiple times for the same\n      // event (e.g. event propagation through node ancestors). Ignore if we've\n      // already captured the event.\n      if (self._lastCapturedEvent === evt) return;\n\n      self._lastCapturedEvent = evt;\n\n      // try/catch both:\n      // - accessing evt.target (see getsentry/raven-js#838, #768)\n      // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n      //   can throw an exception in some circumstances.\n      var target;\n      try {\n        target = htmlTreeAsString(evt.target);\n      } catch (e) {\n        target = '<unknown>';\n      }\n\n      self.captureBreadcrumb({\n        category: 'ui.' + evtName, // e.g. ui.click, ui.input\n        message: target\n      });\n    };\n  },\n\n  /**\n     * Wraps addEventListener to capture keypress UI events\n     * @returns {Function}\n     * @private\n     */\n  _keypressEventHandler: function() {\n    var self = this,\n      debounceDuration = 1000; // milliseconds\n\n    // TODO: if somehow user switches keypress target before\n    //       debounce timeout is triggered, we will only capture\n    //       a single breadcrumb from the FIRST target (acceptable?)\n    return function(evt) {\n      var target;\n      try {\n        target = evt.target;\n      } catch (e) {\n        // just accessing event properties can throw an exception in some rare circumstances\n        // see: https://github.com/getsentry/raven-js/issues/838\n        return;\n      }\n      var tagName = target && target.tagName;\n\n      // only consider keypress events on actual input elements\n      // this will disregard keypresses targeting body (e.g. tabbing\n      // through elements, hotkeys, etc)\n      if (\n        !tagName ||\n        (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)\n      )\n        return;\n\n      // record first keypress in a series, but ignore subsequent\n      // keypresses until debounce clears\n      var timeout = self._keypressTimeout;\n      if (!timeout) {\n        self._breadcrumbEventHandler('input')(evt);\n      }\n      clearTimeout(timeout);\n      self._keypressTimeout = setTimeout(function() {\n        self._keypressTimeout = null;\n      }, debounceDuration);\n    };\n  },\n\n  /**\n     * Captures a breadcrumb of type \"navigation\", normalizing input URLs\n     * @param to the originating URL\n     * @param from the target URL\n     * @private\n     */\n  _captureUrlChange: function(from, to) {\n    var parsedLoc = parseUrl(this._location.href);\n    var parsedTo = parseUrl(to);\n    var parsedFrom = parseUrl(from);\n\n    // because onpopstate only tells you the \"new\" (to) value of location.href, and\n    // not the previous (from) value, we need to track the value of the current URL\n    // state ourselves\n    this._lastHref = to;\n\n    // Use only the path component of the URL if the URL matches the current\n    // document (almost all the time when using pushState)\n    if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host)\n      to = parsedTo.relative;\n    if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host)\n      from = parsedFrom.relative;\n\n    this.captureBreadcrumb({\n      category: 'navigation',\n      data: {\n        to: to,\n        from: from\n      }\n    });\n  },\n\n  /**\n     * Wrap timer functions and event targets to catch errors and provide\n     * better metadata.\n     */\n  _instrumentTryCatch: function() {\n    var self = this;\n\n    var wrappedBuiltIns = self._wrappedBuiltIns;\n\n    function wrapTimeFn(orig) {\n      return function(fn, t) {\n        // preserve arity\n        // Make a copy of the arguments to prevent deoptimization\n        // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n        var args = new Array(arguments.length);\n        for (var i = 0; i < args.length; ++i) {\n          args[i] = arguments[i];\n        }\n        var originalCallback = args[0];\n        if (isFunction(originalCallback)) {\n          args[0] = self.wrap(originalCallback);\n        }\n\n        // IE < 9 doesn't support .call/.apply on setInterval/setTimeout, but it\n        // also supports only two arguments and doesn't care what this is, so we\n        // can just call the original function directly.\n        if (orig.apply) {\n          return orig.apply(this, args);\n        } else {\n          return orig(args[0], args[1]);\n        }\n      };\n    }\n\n    var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;\n\n    function wrapEventTarget(global) {\n      var proto = _window[global] && _window[global].prototype;\n      if (proto && proto.hasOwnProperty && proto.hasOwnProperty('addEventListener')) {\n        fill(\n          proto,\n          'addEventListener',\n          function(orig) {\n            return function(evtName, fn, capture, secure) {\n              // preserve arity\n              try {\n                if (fn && fn.handleEvent) {\n                  fn.handleEvent = self.wrap(fn.handleEvent);\n                }\n              } catch (err) {\n                // can sometimes get 'Permission denied to access property \"handle Event'\n              }\n\n              // More breadcrumb DOM capture ... done here and not in `_instrumentBreadcrumbs`\n              // so that we don't have more than one wrapper function\n              var before, clickHandler, keypressHandler;\n\n              if (\n                autoBreadcrumbs &&\n                autoBreadcrumbs.dom &&\n                (global === 'EventTarget' || global === 'Node')\n              ) {\n                // NOTE: generating multiple handlers per addEventListener invocation, should\n                //       revisit and verify we can just use one (almost certainly)\n                clickHandler = self._breadcrumbEventHandler('click');\n                keypressHandler = self._keypressEventHandler();\n                before = function(evt) {\n                  // need to intercept every DOM event in `before` argument, in case that\n                  // same wrapped method is re-used for different events (e.g. mousemove THEN click)\n                  // see #724\n                  if (!evt) return;\n\n                  var eventType;\n                  try {\n                    eventType = evt.type;\n                  } catch (e) {\n                    // just accessing event properties can throw an exception in some rare circumstances\n                    // see: https://github.com/getsentry/raven-js/issues/838\n                    return;\n                  }\n                  if (eventType === 'click') return clickHandler(evt);\n                  else if (eventType === 'keypress') return keypressHandler(evt);\n                };\n              }\n              return orig.call(\n                this,\n                evtName,\n                self.wrap(fn, undefined, before),\n                capture,\n                secure\n              );\n            };\n          },\n          wrappedBuiltIns\n        );\n        fill(\n          proto,\n          'removeEventListener',\n          function(orig) {\n            return function(evt, fn, capture, secure) {\n              try {\n                fn = fn && (fn.__raven_wrapper__ ? fn.__raven_wrapper__ : fn);\n              } catch (e) {\n                // ignore, accessing __raven_wrapper__ will throw in some Selenium environments\n              }\n              return orig.call(this, evt, fn, capture, secure);\n            };\n          },\n          wrappedBuiltIns\n        );\n      }\n    }\n\n    fill(_window, 'setTimeout', wrapTimeFn, wrappedBuiltIns);\n    fill(_window, 'setInterval', wrapTimeFn, wrappedBuiltIns);\n    if (_window.requestAnimationFrame) {\n      fill(\n        _window,\n        'requestAnimationFrame',\n        function(orig) {\n          return function(cb) {\n            return orig(self.wrap(cb));\n          };\n        },\n        wrappedBuiltIns\n      );\n    }\n\n    // event targets borrowed from bugsnag-js:\n    // https://github.com/bugsnag/bugsnag-js/blob/master/src/bugsnag.js#L666\n    var eventTargets = [\n      'EventTarget',\n      'Window',\n      'Node',\n      'ApplicationCache',\n      'AudioTrackList',\n      'ChannelMergerNode',\n      'CryptoOperation',\n      'EventSource',\n      'FileReader',\n      'HTMLUnknownElement',\n      'IDBDatabase',\n      'IDBRequest',\n      'IDBTransaction',\n      'KeyOperation',\n      'MediaController',\n      'MessagePort',\n      'ModalWindow',\n      'Notification',\n      'SVGElementInstance',\n      'Screen',\n      'TextTrack',\n      'TextTrackCue',\n      'TextTrackList',\n      'WebSocket',\n      'WebSocketWorker',\n      'Worker',\n      'XMLHttpRequest',\n      'XMLHttpRequestEventTarget',\n      'XMLHttpRequestUpload'\n    ];\n    for (var i = 0; i < eventTargets.length; i++) {\n      wrapEventTarget(eventTargets[i]);\n    }\n  },\n\n  /**\n     * Instrument browser built-ins w/ breadcrumb capturing\n     *  - XMLHttpRequests\n     *  - DOM interactions (click/typing)\n     *  - window.location changes\n     *  - console\n     *\n     * Can be disabled or individually configured via the `autoBreadcrumbs` config option\n     */\n  _instrumentBreadcrumbs: function() {\n    var self = this;\n    var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;\n\n    var wrappedBuiltIns = self._wrappedBuiltIns;\n\n    function wrapProp(prop, xhr) {\n      if (prop in xhr && isFunction(xhr[prop])) {\n        fill(xhr, prop, function(orig) {\n          return self.wrap(orig);\n        }); // intentionally don't track filled methods on XHR instances\n      }\n    }\n\n    if (autoBreadcrumbs.xhr && 'XMLHttpRequest' in _window) {\n      var xhrproto = XMLHttpRequest.prototype;\n      fill(\n        xhrproto,\n        'open',\n        function(origOpen) {\n          return function(method, url) {\n            // preserve arity\n\n            // if Sentry key appears in URL, don't capture\n            if (isString(url) && url.indexOf(self._globalKey) === -1) {\n              this.__raven_xhr = {\n                method: method,\n                url: url,\n                status_code: null\n              };\n            }\n\n            return origOpen.apply(this, arguments);\n          };\n        },\n        wrappedBuiltIns\n      );\n\n      fill(\n        xhrproto,\n        'send',\n        function(origSend) {\n          return function(data) {\n            // preserve arity\n            var xhr = this;\n\n            function onreadystatechangeHandler() {\n              if (xhr.__raven_xhr && xhr.readyState === 4) {\n                try {\n                  // touching statusCode in some platforms throws\n                  // an exception\n                  xhr.__raven_xhr.status_code = xhr.status;\n                } catch (e) {\n                  /* do nothing */\n                }\n\n                self.captureBreadcrumb({\n                  type: 'http',\n                  category: 'xhr',\n                  data: xhr.__raven_xhr\n                });\n              }\n            }\n\n            var props = ['onload', 'onerror', 'onprogress'];\n            for (var j = 0; j < props.length; j++) {\n              wrapProp(props[j], xhr);\n            }\n\n            if ('onreadystatechange' in xhr && isFunction(xhr.onreadystatechange)) {\n              fill(\n                xhr,\n                'onreadystatechange',\n                function(orig) {\n                  return self.wrap(orig, undefined, onreadystatechangeHandler);\n                } /* intentionally don't track this instrumentation */\n              );\n            } else {\n              // if onreadystatechange wasn't actually set by the page on this xhr, we\n              // are free to set our own and capture the breadcrumb\n              xhr.onreadystatechange = onreadystatechangeHandler;\n            }\n\n            return origSend.apply(this, arguments);\n          };\n        },\n        wrappedBuiltIns\n      );\n    }\n\n    if (autoBreadcrumbs.xhr && 'fetch' in _window) {\n      fill(\n        _window,\n        'fetch',\n        function(origFetch) {\n          return function(fn, t) {\n            // preserve arity\n            // Make a copy of the arguments to prevent deoptimization\n            // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n            var args = new Array(arguments.length);\n            for (var i = 0; i < args.length; ++i) {\n              args[i] = arguments[i];\n            }\n\n            var fetchInput = args[0];\n            var method = 'GET';\n            var url;\n\n            if (typeof fetchInput === 'string') {\n              url = fetchInput;\n            } else if ('Request' in _window && fetchInput instanceof _window.Request) {\n              url = fetchInput.url;\n              if (fetchInput.method) {\n                method = fetchInput.method;\n              }\n            } else {\n              url = '' + fetchInput;\n            }\n\n            if (args[1] && args[1].method) {\n              method = args[1].method;\n            }\n\n            var fetchData = {\n              method: method,\n              url: url,\n              status_code: null\n            };\n\n            self.captureBreadcrumb({\n              type: 'http',\n              category: 'fetch',\n              data: fetchData\n            });\n\n            return origFetch.apply(this, args).then(function(response) {\n              fetchData.status_code = response.status;\n\n              return response;\n            });\n          };\n        },\n        wrappedBuiltIns\n      );\n    }\n\n    // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n    // to the document. Do this before we instrument addEventListener.\n    if (autoBreadcrumbs.dom && this._hasDocument) {\n      if (_document.addEventListener) {\n        _document.addEventListener('click', self._breadcrumbEventHandler('click'), false);\n        _document.addEventListener('keypress', self._keypressEventHandler(), false);\n      } else {\n        // IE8 Compatibility\n        _document.attachEvent('onclick', self._breadcrumbEventHandler('click'));\n        _document.attachEvent('onkeypress', self._keypressEventHandler());\n      }\n    }\n\n    // record navigation (URL) changes\n    // NOTE: in Chrome App environment, touching history.pushState, *even inside\n    //       a try/catch block*, will cause Chrome to output an error to console.error\n    // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n    var chrome = _window.chrome;\n    var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n    var hasPushAndReplaceState =\n      !isChromePackagedApp &&\n      _window.history &&\n      history.pushState &&\n      history.replaceState;\n    if (autoBreadcrumbs.location && hasPushAndReplaceState) {\n      // TODO: remove onpopstate handler on uninstall()\n      var oldOnPopState = _window.onpopstate;\n      _window.onpopstate = function() {\n        var currentHref = self._location.href;\n        self._captureUrlChange(self._lastHref, currentHref);\n\n        if (oldOnPopState) {\n          return oldOnPopState.apply(this, arguments);\n        }\n      };\n\n      var historyReplacementFunction = function(origHistFunction) {\n        // note history.pushState.length is 0; intentionally not declaring\n        // params to preserve 0 arity\n        return function(/* state, title, url */) {\n          var url = arguments.length > 2 ? arguments[2] : undefined;\n\n          // url argument is optional\n          if (url) {\n            // coerce to string (this is what pushState does)\n            self._captureUrlChange(self._lastHref, url + '');\n          }\n\n          return origHistFunction.apply(this, arguments);\n        };\n      };\n\n      fill(history, 'pushState', historyReplacementFunction, wrappedBuiltIns);\n      fill(history, 'replaceState', historyReplacementFunction, wrappedBuiltIns);\n    }\n\n    if (autoBreadcrumbs.console && 'console' in _window && console.log) {\n      // console\n      var consoleMethodCallback = function(msg, data) {\n        self.captureBreadcrumb({\n          message: msg,\n          level: data.level,\n          category: 'console'\n        });\n      };\n\n      each(['debug', 'info', 'warn', 'error', 'log'], function(_, level) {\n        wrapConsoleMethod(console, level, consoleMethodCallback);\n      });\n    }\n  },\n\n  _restoreBuiltIns: function() {\n    // restore any wrapped builtins\n    var builtin;\n    while (this._wrappedBuiltIns.length) {\n      builtin = this._wrappedBuiltIns.shift();\n\n      var obj = builtin[0],\n        name = builtin[1],\n        orig = builtin[2];\n\n      obj[name] = orig;\n    }\n  },\n\n  _drainPlugins: function() {\n    var self = this;\n\n    // FIX ME TODO\n    each(this._plugins, function(_, plugin) {\n      var installer = plugin[0];\n      var args = plugin[1];\n      installer.apply(self, [self].concat(args));\n    });\n  },\n\n  _parseDSN: function(str) {\n    var m = dsnPattern.exec(str),\n      dsn = {},\n      i = 7;\n\n    try {\n      while (i--) dsn[dsnKeys[i]] = m[i] || '';\n    } catch (e) {\n      throw new RavenConfigError('Invalid DSN: ' + str);\n    }\n\n    if (dsn.pass && !this._globalOptions.allowSecretKey) {\n      throw new RavenConfigError(\n        'Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key'\n      );\n    }\n\n    return dsn;\n  },\n\n  _getGlobalServer: function(uri) {\n    // assemble the endpoint from the uri pieces\n    var globalServer = '//' + uri.host + (uri.port ? ':' + uri.port : '');\n\n    if (uri.protocol) {\n      globalServer = uri.protocol + ':' + globalServer;\n    }\n    return globalServer;\n  },\n\n  _handleOnErrorStackInfo: function() {\n    // if we are intentionally ignoring errors via onerror, bail out\n    if (!this._ignoreOnError) {\n      this._handleStackInfo.apply(this, arguments);\n    }\n  },\n\n  _handleStackInfo: function(stackInfo, options) {\n    var frames = this._prepareFrames(stackInfo, options);\n\n    this._triggerEvent('handle', {\n      stackInfo: stackInfo,\n      options: options\n    });\n\n    this._processException(\n      stackInfo.name,\n      stackInfo.message,\n      stackInfo.url,\n      stackInfo.lineno,\n      frames,\n      options\n    );\n  },\n\n  _prepareFrames: function(stackInfo, options) {\n    var self = this;\n    var frames = [];\n    if (stackInfo.stack && stackInfo.stack.length) {\n      each(stackInfo.stack, function(i, stack) {\n        var frame = self._normalizeFrame(stack, stackInfo.url);\n        if (frame) {\n          frames.push(frame);\n        }\n      });\n\n      // e.g. frames captured via captureMessage throw\n      if (options && options.trimHeadFrames) {\n        for (var j = 0; j < options.trimHeadFrames && j < frames.length; j++) {\n          frames[j].in_app = false;\n        }\n      }\n    }\n    frames = frames.slice(0, this._globalOptions.stackTraceLimit);\n    return frames;\n  },\n\n  _normalizeFrame: function(frame, stackInfoUrl) {\n    // normalize the frames data\n    var normalized = {\n      filename: frame.url,\n      lineno: frame.line,\n      colno: frame.column,\n      function: frame.func || '?'\n    };\n\n    // Case when we don't have any information about the error\n    // E.g. throwing a string or raw object, instead of an `Error` in Firefox\n    // Generating synthetic error doesn't add any value here\n    //\n    // We should probably somehow let a user know that they should fix their code\n    if (!frame.url) {\n      normalized.filename = stackInfoUrl; // fallback to whole stacks url from onerror handler\n    }\n\n    normalized.in_app = !// determine if an exception came from outside of our app\n    // first we check the global includePaths list.\n    (\n      (!!this._globalOptions.includePaths.test &&\n        !this._globalOptions.includePaths.test(normalized.filename)) ||\n      // Now we check for fun, if the function name is Raven or TraceKit\n      /(Raven|TraceKit)\\./.test(normalized['function']) ||\n      // finally, we do a last ditch effort and check for raven.min.js\n      /raven\\.(min\\.)?js$/.test(normalized.filename)\n    );\n\n    return normalized;\n  },\n\n  _processException: function(type, message, fileurl, lineno, frames, options) {\n    var prefixedMessage = (type ? type + ': ' : '') + (message || '');\n    if (\n      !!this._globalOptions.ignoreErrors.test &&\n      (this._globalOptions.ignoreErrors.test(message) ||\n        this._globalOptions.ignoreErrors.test(prefixedMessage))\n    ) {\n      return;\n    }\n\n    var stacktrace;\n\n    if (frames && frames.length) {\n      fileurl = frames[0].filename || fileurl;\n      // Sentry expects frames oldest to newest\n      // and JS sends them as newest to oldest\n      frames.reverse();\n      stacktrace = {frames: frames};\n    } else if (fileurl) {\n      stacktrace = {\n        frames: [\n          {\n            filename: fileurl,\n            lineno: lineno,\n            in_app: true\n          }\n        ]\n      };\n    }\n\n    if (\n      !!this._globalOptions.ignoreUrls.test &&\n      this._globalOptions.ignoreUrls.test(fileurl)\n    ) {\n      return;\n    }\n\n    if (\n      !!this._globalOptions.whitelistUrls.test &&\n      !this._globalOptions.whitelistUrls.test(fileurl)\n    ) {\n      return;\n    }\n\n    var data = objectMerge(\n      {\n        // sentry.interfaces.Exception\n        exception: {\n          values: [\n            {\n              type: type,\n              value: message,\n              stacktrace: stacktrace\n            }\n          ]\n        },\n        culprit: fileurl\n      },\n      options\n    );\n\n    // Fire away!\n    this._send(data);\n  },\n\n  _trimPacket: function(data) {\n    // For now, we only want to truncate the two different messages\n    // but this could/should be expanded to just trim everything\n    var max = this._globalOptions.maxMessageLength;\n    if (data.message) {\n      data.message = truncate(data.message, max);\n    }\n    if (data.exception) {\n      var exception = data.exception.values[0];\n      exception.value = truncate(exception.value, max);\n    }\n\n    var request = data.request;\n    if (request) {\n      if (request.url) {\n        request.url = truncate(request.url, this._globalOptions.maxUrlLength);\n      }\n      if (request.Referer) {\n        request.Referer = truncate(request.Referer, this._globalOptions.maxUrlLength);\n      }\n    }\n\n    if (data.breadcrumbs && data.breadcrumbs.values)\n      this._trimBreadcrumbs(data.breadcrumbs);\n\n    return data;\n  },\n\n  /**\n     * Truncate breadcrumb values (right now just URLs)\n     */\n  _trimBreadcrumbs: function(breadcrumbs) {\n    // known breadcrumb properties with urls\n    // TODO: also consider arbitrary prop values that start with (https?)?://\n    var urlProps = ['to', 'from', 'url'],\n      urlProp,\n      crumb,\n      data;\n\n    for (var i = 0; i < breadcrumbs.values.length; ++i) {\n      crumb = breadcrumbs.values[i];\n      if (\n        !crumb.hasOwnProperty('data') ||\n        !isObject(crumb.data) ||\n        objectFrozen(crumb.data)\n      )\n        continue;\n\n      data = objectMerge({}, crumb.data);\n      for (var j = 0; j < urlProps.length; ++j) {\n        urlProp = urlProps[j];\n        if (data.hasOwnProperty(urlProp) && data[urlProp]) {\n          data[urlProp] = truncate(data[urlProp], this._globalOptions.maxUrlLength);\n        }\n      }\n      breadcrumbs.values[i].data = data;\n    }\n  },\n\n  _getHttpData: function() {\n    if (!this._hasNavigator && !this._hasDocument) return;\n    var httpData = {};\n\n    if (this._hasNavigator && _navigator.userAgent) {\n      httpData.headers = {\n        'User-Agent': navigator.userAgent\n      };\n    }\n\n    if (this._hasDocument) {\n      if (_document.location && _document.location.href) {\n        httpData.url = _document.location.href;\n      }\n      if (_document.referrer) {\n        if (!httpData.headers) httpData.headers = {};\n        httpData.headers.Referer = _document.referrer;\n      }\n    }\n\n    return httpData;\n  },\n\n  _resetBackoff: function() {\n    this._backoffDuration = 0;\n    this._backoffStart = null;\n  },\n\n  _shouldBackoff: function() {\n    return this._backoffDuration && now() - this._backoffStart < this._backoffDuration;\n  },\n\n  /**\n     * Returns true if the in-process data payload matches the signature\n     * of the previously-sent data\n     *\n     * NOTE: This has to be done at this level because TraceKit can generate\n     *       data from window.onerror WITHOUT an exception object (IE8, IE9,\n     *       other old browsers). This can take the form of an \"exception\"\n     *       data object with a single frame (derived from the onerror args).\n     */\n  _isRepeatData: function(current) {\n    var last = this._lastData;\n\n    if (\n      !last ||\n      current.message !== last.message || // defined for captureMessage\n      current.culprit !== last.culprit // defined for captureException/onerror\n    )\n      return false;\n\n    // Stacktrace interface (i.e. from captureMessage)\n    if (current.stacktrace || last.stacktrace) {\n      return isSameStacktrace(current.stacktrace, last.stacktrace);\n    } else if (current.exception || last.exception) {\n      // Exception interface (i.e. from captureException/onerror)\n      return isSameException(current.exception, last.exception);\n    }\n\n    return true;\n  },\n\n  _setBackoffState: function(request) {\n    // If we are already in a backoff state, don't change anything\n    if (this._shouldBackoff()) {\n      return;\n    }\n\n    var status = request.status;\n\n    // 400 - project_id doesn't exist or some other fatal\n    // 401 - invalid/revoked dsn\n    // 429 - too many requests\n    if (!(status === 400 || status === 401 || status === 429)) return;\n\n    var retry;\n    try {\n      // If Retry-After is not in Access-Control-Expose-Headers, most\n      // browsers will throw an exception trying to access it\n      retry = request.getResponseHeader('Retry-After');\n      retry = parseInt(retry, 10) * 1000; // Retry-After is returned in seconds\n    } catch (e) {\n      /* eslint no-empty:0 */\n    }\n\n    this._backoffDuration = retry\n      ? // If Sentry server returned a Retry-After value, use it\n        retry\n      : // Otherwise, double the last backoff duration (starts at 1 sec)\n        this._backoffDuration * 2 || 1000;\n\n    this._backoffStart = now();\n  },\n\n  _send: function(data) {\n    var globalOptions = this._globalOptions;\n\n    var baseData = {\n        project: this._globalProject,\n        logger: globalOptions.logger,\n        platform: 'javascript'\n      },\n      httpData = this._getHttpData();\n\n    if (httpData) {\n      baseData.request = httpData;\n    }\n\n    // HACK: delete `trimHeadFrames` to prevent from appearing in outbound payload\n    if (data.trimHeadFrames) delete data.trimHeadFrames;\n\n    data = objectMerge(baseData, data);\n\n    // Merge in the tags and extra separately since objectMerge doesn't handle a deep merge\n    data.tags = objectMerge(objectMerge({}, this._globalContext.tags), data.tags);\n    data.extra = objectMerge(objectMerge({}, this._globalContext.extra), data.extra);\n\n    // Send along our own collected metadata with extra\n    data.extra['session:duration'] = now() - this._startTime;\n\n    if (this._breadcrumbs && this._breadcrumbs.length > 0) {\n      // intentionally make shallow copy so that additions\n      // to breadcrumbs aren't accidentally sent in this request\n      data.breadcrumbs = {\n        values: [].slice.call(this._breadcrumbs, 0)\n      };\n    }\n\n    // If there are no tags/extra, strip the key from the payload alltogther.\n    if (isEmptyObject(data.tags)) delete data.tags;\n\n    if (this._globalContext.user) {\n      // sentry.interfaces.User\n      data.user = this._globalContext.user;\n    }\n\n    // Include the environment if it's defined in globalOptions\n    if (globalOptions.environment) data.environment = globalOptions.environment;\n\n    // Include the release if it's defined in globalOptions\n    if (globalOptions.release) data.release = globalOptions.release;\n\n    // Include server_name if it's defined in globalOptions\n    if (globalOptions.serverName) data.server_name = globalOptions.serverName;\n\n    if (isFunction(globalOptions.dataCallback)) {\n      data = globalOptions.dataCallback(data) || data;\n    }\n\n    // Why??????????\n    if (!data || isEmptyObject(data)) {\n      return;\n    }\n\n    // Check if the request should be filtered or not\n    if (\n      isFunction(globalOptions.shouldSendCallback) &&\n      !globalOptions.shouldSendCallback(data)\n    ) {\n      return;\n    }\n\n    // Backoff state: Sentry server previously responded w/ an error (e.g. 429 - too many requests),\n    // so drop requests until \"cool-off\" period has elapsed.\n    if (this._shouldBackoff()) {\n      this._logDebug('warn', 'Raven dropped error due to backoff: ', data);\n      return;\n    }\n\n    if (typeof globalOptions.sampleRate === 'number') {\n      if (Math.random() < globalOptions.sampleRate) {\n        this._sendProcessedPayload(data);\n      }\n    } else {\n      this._sendProcessedPayload(data);\n    }\n  },\n\n  _getUuid: function() {\n    return uuid4();\n  },\n\n  _sendProcessedPayload: function(data, callback) {\n    var self = this;\n    var globalOptions = this._globalOptions;\n\n    if (!this.isSetup()) return;\n\n    // Try and clean up the packet before sending by truncating long values\n    data = this._trimPacket(data);\n\n    // ideally duplicate error testing should occur *before* dataCallback/shouldSendCallback,\n    // but this would require copying an un-truncated copy of the data packet, which can be\n    // arbitrarily deep (extra_data) -- could be worthwhile? will revisit\n    if (!this._globalOptions.allowDuplicates && this._isRepeatData(data)) {\n      this._logDebug('warn', 'Raven dropped repeat event: ', data);\n      return;\n    }\n\n    // Send along an event_id if not explicitly passed.\n    // This event_id can be used to reference the error within Sentry itself.\n    // Set lastEventId after we know the error should actually be sent\n    this._lastEventId = data.event_id || (data.event_id = this._getUuid());\n\n    // Store outbound payload after trim\n    this._lastData = data;\n\n    this._logDebug('debug', 'Raven about to send:', data);\n\n    var auth = {\n      sentry_version: '7',\n      sentry_client: 'raven-js/' + this.VERSION,\n      sentry_key: this._globalKey\n    };\n\n    if (this._globalSecret) {\n      auth.sentry_secret = this._globalSecret;\n    }\n\n    var exception = data.exception && data.exception.values[0];\n    this.captureBreadcrumb({\n      category: 'sentry',\n      message: exception\n        ? (exception.type ? exception.type + ': ' : '') + exception.value\n        : data.message,\n      event_id: data.event_id,\n      level: data.level || 'error' // presume error unless specified\n    });\n\n    var url = this._globalEndpoint;\n    (globalOptions.transport || this._makeRequest).call(this, {\n      url: url,\n      auth: auth,\n      data: data,\n      options: globalOptions,\n      onSuccess: function success() {\n        self._resetBackoff();\n\n        self._triggerEvent('success', {\n          data: data,\n          src: url\n        });\n        callback && callback();\n      },\n      onError: function failure(error) {\n        self._logDebug('error', 'Raven transport failed to send: ', error);\n\n        if (error.request) {\n          self._setBackoffState(error.request);\n        }\n\n        self._triggerEvent('failure', {\n          data: data,\n          src: url\n        });\n        error = error || new Error('Raven send failed (no additional details provided)');\n        callback && callback(error);\n      }\n    });\n  },\n\n  _makeRequest: function(opts) {\n    var request = _window.XMLHttpRequest && new _window.XMLHttpRequest();\n    if (!request) return;\n\n    // if browser doesn't support CORS (e.g. IE7), we are out of luck\n    var hasCORS = 'withCredentials' in request || typeof XDomainRequest !== 'undefined';\n\n    if (!hasCORS) return;\n\n    var url = opts.url;\n\n    if ('withCredentials' in request) {\n      request.onreadystatechange = function() {\n        if (request.readyState !== 4) {\n          return;\n        } else if (request.status === 200) {\n          opts.onSuccess && opts.onSuccess();\n        } else if (opts.onError) {\n          var err = new Error('Sentry error code: ' + request.status);\n          err.request = request;\n          opts.onError(err);\n        }\n      };\n    } else {\n      request = new XDomainRequest();\n      // xdomainrequest cannot go http -> https (or vice versa),\n      // so always use protocol relative\n      url = url.replace(/^https?:/, '');\n\n      // onreadystatechange not supported by XDomainRequest\n      if (opts.onSuccess) {\n        request.onload = opts.onSuccess;\n      }\n      if (opts.onError) {\n        request.onerror = function() {\n          var err = new Error('Sentry error code: XDomainRequest');\n          err.request = request;\n          opts.onError(err);\n        };\n      }\n    }\n\n    // NOTE: auth is intentionally sent as part of query string (NOT as custom\n    //       HTTP header) so as to avoid preflight CORS requests\n    request.open('POST', url + '?' + urlencode(opts.auth));\n    request.send(stringify(opts.data));\n  },\n\n  _logDebug: function(level) {\n    if (this._originalConsoleMethods[level] && this.debug) {\n      // In IE<10 console methods do not have their own 'apply' method\n      Function.prototype.apply.call(\n        this._originalConsoleMethods[level],\n        this._originalConsole,\n        [].slice.call(arguments, 1)\n      );\n    }\n  },\n\n  _mergeContext: function(key, context) {\n    if (isUndefined(context)) {\n      delete this._globalContext[key];\n    } else {\n      this._globalContext[key] = objectMerge(this._globalContext[key] || {}, context);\n    }\n  }\n};\n\n// Deprecations\nRaven.prototype.setUser = Raven.prototype.setUserContext;\nRaven.prototype.setReleaseContext = Raven.prototype.setRelease;\n\nmodule.exports = Raven;\n","/**\n * Enforces a single instance of the Raven client, and the\n * main entry point for Raven. If you are a consumer of the\n * Raven library, you SHOULD load this file (vs raven.js).\n **/\n\nvar RavenConstructor = require('./raven');\n\n// This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)\nvar _window =\n  typeof window !== 'undefined'\n    ? window\n    : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar _Raven = _window.Raven;\n\nvar Raven = new RavenConstructor();\n\n/*\n * Allow multiple versions of Raven to be installed.\n * Strip Raven from the global context and returns the instance.\n *\n * @return {Raven}\n */\nRaven.noConflict = function() {\n  _window.Raven = _Raven;\n  return Raven;\n};\n\nRaven.afterLoad();\n\nmodule.exports = Raven;\n","var _window =\n  typeof window !== 'undefined'\n    ? window\n    : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction isObject(what) {\n  return typeof what === 'object' && what !== null;\n}\n\n// Yanked from https://git.io/vS8DV re-used under CC0\n// with some tiny modifications\nfunction isError(value) {\n  switch ({}.toString.call(value)) {\n    case '[object Error]':\n      return true;\n    case '[object Exception]':\n      return true;\n    case '[object DOMException]':\n      return true;\n    default:\n      return value instanceof Error;\n  }\n}\n\nfunction isErrorEvent(value) {\n  return supportsErrorEvent() && {}.toString.call(value) === '[object ErrorEvent]';\n}\n\nfunction isUndefined(what) {\n  return what === void 0;\n}\n\nfunction isFunction(what) {\n  return typeof what === 'function';\n}\n\nfunction isString(what) {\n  return Object.prototype.toString.call(what) === '[object String]';\n}\n\nfunction isEmptyObject(what) {\n  for (var _ in what) return false; // eslint-disable-line guard-for-in, no-unused-vars\n  return true;\n}\n\nfunction supportsErrorEvent() {\n  try {\n    new ErrorEvent(''); // eslint-disable-line no-new\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction wrappedCallback(callback) {\n  function dataCallback(data, original) {\n    var normalizedData = callback(data) || data;\n    if (original) {\n      return original(normalizedData) || normalizedData;\n    }\n    return normalizedData;\n  }\n\n  return dataCallback;\n}\n\nfunction each(obj, callback) {\n  var i, j;\n\n  if (isUndefined(obj.length)) {\n    for (i in obj) {\n      if (hasKey(obj, i)) {\n        callback.call(null, i, obj[i]);\n      }\n    }\n  } else {\n    j = obj.length;\n    if (j) {\n      for (i = 0; i < j; i++) {\n        callback.call(null, i, obj[i]);\n      }\n    }\n  }\n}\n\nfunction objectMerge(obj1, obj2) {\n  if (!obj2) {\n    return obj1;\n  }\n  each(obj2, function(key, value) {\n    obj1[key] = value;\n  });\n  return obj1;\n}\n\n/**\n * This function is only used for react-native.\n * react-native freezes object that have already been sent over the\n * js bridge. We need this function in order to check if the object is frozen.\n * So it's ok that objectFrozen returns false if Object.isFrozen is not\n * supported because it's not relevant for other \"platforms\". See related issue:\n * https://github.com/getsentry/react-native-sentry/issues/57\n */\nfunction objectFrozen(obj) {\n  if (!Object.isFrozen) {\n    return false;\n  }\n  return Object.isFrozen(obj);\n}\n\nfunction truncate(str, max) {\n  return !max || str.length <= max ? str : str.substr(0, max) + '\\u2026';\n}\n\n/**\n * hasKey, a better form of hasOwnProperty\n * Example: hasKey(MainHostObject, property) === true/false\n *\n * @param {Object} host object to check property\n * @param {string} key to check\n */\nfunction hasKey(object, key) {\n  return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nfunction joinRegExp(patterns) {\n  // Combine an array of regular expressions and strings into one large regexp\n  // Be mad.\n  var sources = [],\n    i = 0,\n    len = patterns.length,\n    pattern;\n\n  for (; i < len; i++) {\n    pattern = patterns[i];\n    if (isString(pattern)) {\n      // If it's a string, we need to escape it\n      // Taken from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions\n      sources.push(pattern.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1'));\n    } else if (pattern && pattern.source) {\n      // If it's a regexp already, we want to extract the source\n      sources.push(pattern.source);\n    }\n    // Intentionally skip other cases\n  }\n  return new RegExp(sources.join('|'), 'i');\n}\n\nfunction urlencode(o) {\n  var pairs = [];\n  each(o, function(key, value) {\n    pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n  });\n  return pairs.join('&');\n}\n\n// borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n// intentionally using regex and not <a/> href parsing trick because React Native and other\n// environments where DOM might not be available\nfunction parseUrl(url) {\n  var match = url.match(/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n  if (!match) return {};\n\n  // coerce to undefined values to empty string so we don't get 'undefined'\n  var query = match[6] || '';\n  var fragment = match[8] || '';\n  return {\n    protocol: match[2],\n    host: match[4],\n    path: match[5],\n    relative: match[5] + query + fragment // everything minus origin\n  };\n}\nfunction uuid4() {\n  var crypto = _window.crypto || _window.msCrypto;\n\n  if (!isUndefined(crypto) && crypto.getRandomValues) {\n    // Use window.crypto API if available\n    // eslint-disable-next-line no-undef\n    var arr = new Uint16Array(8);\n    crypto.getRandomValues(arr);\n\n    // set 4 in byte 7\n    arr[3] = (arr[3] & 0xfff) | 0x4000;\n    // set 2 most significant bits of byte 9 to '10'\n    arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n    var pad = function(num) {\n      var v = num.toString(16);\n      while (v.length < 4) {\n        v = '0' + v;\n      }\n      return v;\n    };\n\n    return (\n      pad(arr[0]) +\n      pad(arr[1]) +\n      pad(arr[2]) +\n      pad(arr[3]) +\n      pad(arr[4]) +\n      pad(arr[5]) +\n      pad(arr[6]) +\n      pad(arr[7])\n    );\n  } else {\n    // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n    return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n      var r = (Math.random() * 16) | 0,\n        v = c === 'x' ? r : (r & 0x3) | 0x8;\n      return v.toString(16);\n    });\n  }\n}\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @param elem\n * @returns {string}\n */\nfunction htmlTreeAsString(elem) {\n  /* eslint no-extra-parens:0*/\n  var MAX_TRAVERSE_HEIGHT = 5,\n    MAX_OUTPUT_LEN = 80,\n    out = [],\n    height = 0,\n    len = 0,\n    separator = ' > ',\n    sepLength = separator.length,\n    nextStr;\n\n  while (elem && height++ < MAX_TRAVERSE_HEIGHT) {\n    nextStr = htmlElementAsString(elem);\n    // bail out if\n    // - nextStr is the 'html' element\n    // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n    //   (ignore this limit if we are on the first iteration)\n    if (\n      nextStr === 'html' ||\n      (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)\n    ) {\n      break;\n    }\n\n    out.push(nextStr);\n\n    len += nextStr.length;\n    elem = elem.parentNode;\n  }\n\n  return out.reverse().join(separator);\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @param HTMLElement\n * @returns {string}\n */\nfunction htmlElementAsString(elem) {\n  var out = [],\n    className,\n    classes,\n    key,\n    attr,\n    i;\n\n  if (!elem || !elem.tagName) {\n    return '';\n  }\n\n  out.push(elem.tagName.toLowerCase());\n  if (elem.id) {\n    out.push('#' + elem.id);\n  }\n\n  className = elem.className;\n  if (className && isString(className)) {\n    classes = className.split(/\\s+/);\n    for (i = 0; i < classes.length; i++) {\n      out.push('.' + classes[i]);\n    }\n  }\n  var attrWhitelist = ['type', 'name', 'title', 'alt'];\n  for (i = 0; i < attrWhitelist.length; i++) {\n    key = attrWhitelist[i];\n    attr = elem.getAttribute(key);\n    if (attr) {\n      out.push('[' + key + '=\"' + attr + '\"]');\n    }\n  }\n  return out.join('');\n}\n\n/**\n * Returns true if either a OR b is truthy, but not both\n */\nfunction isOnlyOneTruthy(a, b) {\n  return !!(!!a ^ !!b);\n}\n\n/**\n * Returns true if the two input exception interfaces have the same content\n */\nfunction isSameException(ex1, ex2) {\n  if (isOnlyOneTruthy(ex1, ex2)) return false;\n\n  ex1 = ex1.values[0];\n  ex2 = ex2.values[0];\n\n  if (ex1.type !== ex2.type || ex1.value !== ex2.value) return false;\n\n  return isSameStacktrace(ex1.stacktrace, ex2.stacktrace);\n}\n\n/**\n * Returns true if the two input stack trace interfaces have the same content\n */\nfunction isSameStacktrace(stack1, stack2) {\n  if (isOnlyOneTruthy(stack1, stack2)) return false;\n\n  var frames1 = stack1.frames;\n  var frames2 = stack2.frames;\n\n  // Exit early if frame count differs\n  if (frames1.length !== frames2.length) return false;\n\n  // Iterate through every frame; bail out if anything differs\n  var a, b;\n  for (var i = 0; i < frames1.length; i++) {\n    a = frames1[i];\n    b = frames2[i];\n    if (\n      a.filename !== b.filename ||\n      a.lineno !== b.lineno ||\n      a.colno !== b.colno ||\n      a['function'] !== b['function']\n    )\n      return false;\n  }\n  return true;\n}\n\n/**\n * Polyfill a method\n * @param obj object e.g. `document`\n * @param name method name present on object e.g. `addEventListener`\n * @param replacement replacement function\n * @param track {optional} record instrumentation to an array\n */\nfunction fill(obj, name, replacement, track) {\n  var orig = obj[name];\n  obj[name] = replacement(orig);\n  if (track) {\n    track.push([obj, name, orig]);\n  }\n}\n\nmodule.exports = {\n  isObject: isObject,\n  isError: isError,\n  isErrorEvent: isErrorEvent,\n  isUndefined: isUndefined,\n  isFunction: isFunction,\n  isString: isString,\n  isEmptyObject: isEmptyObject,\n  supportsErrorEvent: supportsErrorEvent,\n  wrappedCallback: wrappedCallback,\n  each: each,\n  objectMerge: objectMerge,\n  truncate: truncate,\n  objectFrozen: objectFrozen,\n  hasKey: hasKey,\n  joinRegExp: joinRegExp,\n  urlencode: urlencode,\n  uuid4: uuid4,\n  htmlTreeAsString: htmlTreeAsString,\n  htmlElementAsString: htmlElementAsString,\n  isSameException: isSameException,\n  isSameStacktrace: isSameStacktrace,\n  parseUrl: parseUrl,\n  fill: fill\n};\n","var utils = require('../../src/utils');\n\n/*\n TraceKit - Cross brower stack traces\n\n This was originally forked from github.com/occ/TraceKit, but has since been\n largely re-written and is now maintained as part of raven-js.  Tests for\n this are in test/vendor.\n\n MIT license\n*/\n\nvar TraceKit = {\n  collectWindowErrors: true,\n  debug: false\n};\n\n// This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)\nvar _window =\n  typeof window !== 'undefined'\n    ? window\n    : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n// global reference to slice\nvar _slice = [].slice;\nvar UNKNOWN_FUNCTION = '?';\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;\n\nfunction getLocationHref() {\n  if (typeof document === 'undefined' || document.location == null) return '';\n\n  return document.location.href;\n}\n\n/**\n * TraceKit.report: cross-browser processing of unhandled exceptions\n *\n * Syntax:\n *   TraceKit.report.subscribe(function(stackInfo) { ... })\n *   TraceKit.report.unsubscribe(function(stackInfo) { ... })\n *   TraceKit.report(exception)\n *   try { ...code... } catch(ex) { TraceKit.report(ex); }\n *\n * Supports:\n *   - Firefox: full stack trace with line numbers, plus column number\n *              on top frame; column number is not guaranteed\n *   - Opera:   full stack trace with line and column numbers\n *   - Chrome:  full stack trace with line and column numbers\n *   - Safari:  line and column number for the top frame only; some frames\n *              may be missing, and column number is not guaranteed\n *   - IE:      line and column number for the top frame only; some frames\n *              may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n *   - IE5.5+ (only 8.0 tested)\n *   - Firefox 0.9+ (only 3.5+ tested)\n *   - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n *     Exceptions Have Stacktrace to be enabled in opera:config)\n *   - Safari 3+ (only 4+ tested)\n *   - Chrome 1+ (only 5+ tested)\n *   - Konqueror 3.5+ (untested)\n *\n * Requires TraceKit.computeStackTrace.\n *\n * Tries to catch all unhandled exceptions and report them to the\n * subscribed handlers. Please note that TraceKit.report will rethrow the\n * exception. This is REQUIRED in order to get a useful stack trace in IE.\n * If the exception does not reach the top of the browser, you will only\n * get a stack trace from the point where TraceKit.report was called.\n *\n * Handlers receive a stackInfo object as described in the\n * TraceKit.computeStackTrace docs.\n */\nTraceKit.report = (function reportModuleWrapper() {\n  var handlers = [],\n    lastArgs = null,\n    lastException = null,\n    lastExceptionStack = null;\n\n  /**\n     * Add a crash handler.\n     * @param {Function} handler\n     */\n  function subscribe(handler) {\n    installGlobalHandler();\n    handlers.push(handler);\n  }\n\n  /**\n     * Remove a crash handler.\n     * @param {Function} handler\n     */\n  function unsubscribe(handler) {\n    for (var i = handlers.length - 1; i >= 0; --i) {\n      if (handlers[i] === handler) {\n        handlers.splice(i, 1);\n      }\n    }\n  }\n\n  /**\n     * Remove all crash handlers.\n     */\n  function unsubscribeAll() {\n    uninstallGlobalHandler();\n    handlers = [];\n  }\n\n  /**\n     * Dispatch stack information to all handlers.\n     * @param {Object.<string, *>} stack\n     */\n  function notifyHandlers(stack, isWindowError) {\n    var exception = null;\n    if (isWindowError && !TraceKit.collectWindowErrors) {\n      return;\n    }\n    for (var i in handlers) {\n      if (handlers.hasOwnProperty(i)) {\n        try {\n          handlers[i].apply(null, [stack].concat(_slice.call(arguments, 2)));\n        } catch (inner) {\n          exception = inner;\n        }\n      }\n    }\n\n    if (exception) {\n      throw exception;\n    }\n  }\n\n  var _oldOnerrorHandler, _onErrorHandlerInstalled;\n\n  /**\n     * Ensures all global unhandled exceptions are recorded.\n     * Supported by Gecko and IE.\n     * @param {string} message Error message.\n     * @param {string} url URL of script that generated the exception.\n     * @param {(number|string)} lineNo The line number at which the error\n     * occurred.\n     * @param {?(number|string)} colNo The column number at which the error\n     * occurred.\n     * @param {?Error} ex The actual Error object.\n     */\n  function traceKitWindowOnError(message, url, lineNo, colNo, ex) {\n    var stack = null;\n\n    if (lastExceptionStack) {\n      TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(\n        lastExceptionStack,\n        url,\n        lineNo,\n        message\n      );\n      processLastException();\n    } else if (ex && utils.isError(ex)) {\n      // non-string `ex` arg; attempt to extract stack trace\n\n      // New chrome and blink send along a real error object\n      // Let's just report that like a normal error.\n      // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror\n      stack = TraceKit.computeStackTrace(ex);\n      notifyHandlers(stack, true);\n    } else {\n      var location = {\n        url: url,\n        line: lineNo,\n        column: colNo\n      };\n\n      var name = undefined;\n      var msg = message; // must be new var or will modify original `arguments`\n      var groups;\n      if ({}.toString.call(message) === '[object String]') {\n        var groups = message.match(ERROR_TYPES_RE);\n        if (groups) {\n          name = groups[1];\n          msg = groups[2];\n        }\n      }\n\n      location.func = UNKNOWN_FUNCTION;\n\n      stack = {\n        name: name,\n        message: msg,\n        url: getLocationHref(),\n        stack: [location]\n      };\n      notifyHandlers(stack, true);\n    }\n\n    if (_oldOnerrorHandler) {\n      return _oldOnerrorHandler.apply(this, arguments);\n    }\n\n    return false;\n  }\n\n  function installGlobalHandler() {\n    if (_onErrorHandlerInstalled) {\n      return;\n    }\n    _oldOnerrorHandler = _window.onerror;\n    _window.onerror = traceKitWindowOnError;\n    _onErrorHandlerInstalled = true;\n  }\n\n  function uninstallGlobalHandler() {\n    if (!_onErrorHandlerInstalled) {\n      return;\n    }\n    _window.onerror = _oldOnerrorHandler;\n    _onErrorHandlerInstalled = false;\n    _oldOnerrorHandler = undefined;\n  }\n\n  function processLastException() {\n    var _lastExceptionStack = lastExceptionStack,\n      _lastArgs = lastArgs;\n    lastArgs = null;\n    lastExceptionStack = null;\n    lastException = null;\n    notifyHandlers.apply(null, [_lastExceptionStack, false].concat(_lastArgs));\n  }\n\n  /**\n     * Reports an unhandled Error to TraceKit.\n     * @param {Error} ex\n     * @param {?boolean} rethrow If false, do not re-throw the exception.\n     * Only used for window.onerror to not cause an infinite loop of\n     * rethrowing.\n     */\n  function report(ex, rethrow) {\n    var args = _slice.call(arguments, 1);\n    if (lastExceptionStack) {\n      if (lastException === ex) {\n        return; // already caught by an inner catch block, ignore\n      } else {\n        processLastException();\n      }\n    }\n\n    var stack = TraceKit.computeStackTrace(ex);\n    lastExceptionStack = stack;\n    lastException = ex;\n    lastArgs = args;\n\n    // If the stack trace is incomplete, wait for 2 seconds for\n    // slow slow IE to see if onerror occurs or not before reporting\n    // this exception; otherwise, we will end up with an incomplete\n    // stack trace\n    setTimeout(function() {\n      if (lastException === ex) {\n        processLastException();\n      }\n    }, stack.incomplete ? 2000 : 0);\n\n    if (rethrow !== false) {\n      throw ex; // re-throw to propagate to the top level (and cause window.onerror)\n    }\n  }\n\n  report.subscribe = subscribe;\n  report.unsubscribe = unsubscribe;\n  report.uninstall = unsubscribeAll;\n  return report;\n})();\n\n/**\n * TraceKit.computeStackTrace: cross-browser stack traces in JavaScript\n *\n * Syntax:\n *   s = TraceKit.computeStackTrace(exception) // consider using TraceKit.report instead (see below)\n * Returns:\n *   s.name              - exception name\n *   s.message           - exception message\n *   s.stack[i].url      - JavaScript or HTML file URL\n *   s.stack[i].func     - function name, or empty for anonymous functions (if guessing did not work)\n *   s.stack[i].args     - arguments passed to the function, if known\n *   s.stack[i].line     - line number, if known\n *   s.stack[i].column   - column number, if known\n *\n * Supports:\n *   - Firefox:  full stack trace with line numbers and unreliable column\n *               number on top frame\n *   - Opera 10: full stack trace with line and column numbers\n *   - Opera 9-: full stack trace with line numbers\n *   - Chrome:   full stack trace with line and column numbers\n *   - Safari:   line and column number for the topmost stacktrace element\n *               only\n *   - IE:       no line numbers whatsoever\n *\n * Tries to guess names of anonymous functions by looking for assignments\n * in the source code. In IE and Safari, we have to guess source file names\n * by searching for function bodies inside all page scripts. This will not\n * work for scripts that are loaded cross-domain.\n * Here be dragons: some function names may be guessed incorrectly, and\n * duplicate functions may be mismatched.\n *\n * TraceKit.computeStackTrace should only be used for tracing purposes.\n * Logging of unhandled exceptions should be done with TraceKit.report,\n * which builds on top of TraceKit.computeStackTrace and provides better\n * IE support by utilizing the window.onerror event to retrieve information\n * about the top of the stack.\n *\n * Note: In IE and Safari, no stack trace is recorded on the Error object,\n * so computeStackTrace instead walks its *own* chain of callers.\n * This means that:\n *  * in Safari, some methods may be missing from the stack trace;\n *  * in IE, the topmost function in the stack trace will always be the\n *    caller of computeStackTrace.\n *\n * This is okay for tracing (because you are likely to be calling\n * computeStackTrace from the function you want to be the topmost element\n * of the stack trace anyway), but not okay for logging unhandled\n * exceptions (because your catch block will likely be far away from the\n * inner function that actually caused the exception).\n *\n */\nTraceKit.computeStackTrace = (function computeStackTraceWrapper() {\n  // Contents of Exception in various browsers.\n  //\n  // SAFARI:\n  // ex.message = Can't find variable: qq\n  // ex.line = 59\n  // ex.sourceId = 580238192\n  // ex.sourceURL = http://...\n  // ex.expressionBeginOffset = 96\n  // ex.expressionCaretOffset = 98\n  // ex.expressionEndOffset = 98\n  // ex.name = ReferenceError\n  //\n  // FIREFOX:\n  // ex.message = qq is not defined\n  // ex.fileName = http://...\n  // ex.lineNumber = 59\n  // ex.columnNumber = 69\n  // ex.stack = ...stack trace... (see the example below)\n  // ex.name = ReferenceError\n  //\n  // CHROME:\n  // ex.message = qq is not defined\n  // ex.name = ReferenceError\n  // ex.type = not_defined\n  // ex.arguments = ['aa']\n  // ex.stack = ...stack trace...\n  //\n  // INTERNET EXPLORER:\n  // ex.message = ...\n  // ex.name = ReferenceError\n  //\n  // OPERA:\n  // ex.message = ...message... (see the example below)\n  // ex.name = ReferenceError\n  // ex.opera#sourceloc = 11  (pretty much useless, duplicates the info in ex.message)\n  // ex.stacktrace = n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'\n\n  /**\n     * Computes stack trace information from the stack property.\n     * Chrome and Gecko use this property.\n     * @param {Error} ex\n     * @return {?Object.<string, *>} Stack trace information.\n     */\n  function computeStackTraceFromStackProp(ex) {\n    if (typeof ex.stack === 'undefined' || !ex.stack) return;\n\n    var chrome = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,\n      gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i,\n      winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,\n      // Used to additionally parse URL/line/column from eval frames\n      geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i,\n      chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/,\n      lines = ex.stack.split('\\n'),\n      stack = [],\n      submatch,\n      parts,\n      element,\n      reference = /^(.*) is undefined$/.exec(ex.message);\n\n    for (var i = 0, j = lines.length; i < j; ++i) {\n      if ((parts = chrome.exec(lines[i]))) {\n        var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n        var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n        if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n          // throw out eval line/column and use top-most line/column number\n          parts[2] = submatch[1]; // url\n          parts[3] = submatch[2]; // line\n          parts[4] = submatch[3]; // column\n        }\n        element = {\n          url: !isNative ? parts[2] : null,\n          func: parts[1] || UNKNOWN_FUNCTION,\n          args: isNative ? [parts[2]] : [],\n          line: parts[3] ? +parts[3] : null,\n          column: parts[4] ? +parts[4] : null\n        };\n      } else if ((parts = winjs.exec(lines[i]))) {\n        element = {\n          url: parts[2],\n          func: parts[1] || UNKNOWN_FUNCTION,\n          args: [],\n          line: +parts[3],\n          column: parts[4] ? +parts[4] : null\n        };\n      } else if ((parts = gecko.exec(lines[i]))) {\n        var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n        if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n          // throw out eval line/column and use top-most line number\n          parts[3] = submatch[1];\n          parts[4] = submatch[2];\n          parts[5] = null; // no column when eval\n        } else if (i === 0 && !parts[5] && typeof ex.columnNumber !== 'undefined') {\n          // FireFox uses this awesome columnNumber property for its top frame\n          // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n          // so adding 1\n          // NOTE: this hack doesn't work if top-most frame is eval\n          stack[0].column = ex.columnNumber + 1;\n        }\n        element = {\n          url: parts[3],\n          func: parts[1] || UNKNOWN_FUNCTION,\n          args: parts[2] ? parts[2].split(',') : [],\n          line: parts[4] ? +parts[4] : null,\n          column: parts[5] ? +parts[5] : null\n        };\n      } else {\n        continue;\n      }\n\n      if (!element.func && element.line) {\n        element.func = UNKNOWN_FUNCTION;\n      }\n\n      stack.push(element);\n    }\n\n    if (!stack.length) {\n      return null;\n    }\n\n    return {\n      name: ex.name,\n      message: ex.message,\n      url: getLocationHref(),\n      stack: stack\n    };\n  }\n\n  /**\n     * Adds information about the first frame to incomplete stack traces.\n     * Safari and IE require this to get complete data on the first frame.\n     * @param {Object.<string, *>} stackInfo Stack trace information from\n     * one of the compute* methods.\n     * @param {string} url The URL of the script that caused an error.\n     * @param {(number|string)} lineNo The line number of the script that\n     * caused an error.\n     * @param {string=} message The error generated by the browser, which\n     * hopefully contains the name of the object that caused the error.\n     * @return {boolean} Whether or not the stack information was\n     * augmented.\n     */\n  function augmentStackTraceWithInitialElement(stackInfo, url, lineNo, message) {\n    var initial = {\n      url: url,\n      line: lineNo\n    };\n\n    if (initial.url && initial.line) {\n      stackInfo.incomplete = false;\n\n      if (!initial.func) {\n        initial.func = UNKNOWN_FUNCTION;\n      }\n\n      if (stackInfo.stack.length > 0) {\n        if (stackInfo.stack[0].url === initial.url) {\n          if (stackInfo.stack[0].line === initial.line) {\n            return false; // already in stack trace\n          } else if (\n            !stackInfo.stack[0].line &&\n            stackInfo.stack[0].func === initial.func\n          ) {\n            stackInfo.stack[0].line = initial.line;\n            return false;\n          }\n        }\n      }\n\n      stackInfo.stack.unshift(initial);\n      stackInfo.partial = true;\n      return true;\n    } else {\n      stackInfo.incomplete = true;\n    }\n\n    return false;\n  }\n\n  /**\n     * Computes stack trace information by walking the arguments.caller\n     * chain at the time the exception occurred. This will cause earlier\n     * frames to be missed but is the only way to get any stack trace in\n     * Safari and IE. The top frame is restored by\n     * {@link augmentStackTraceWithInitialElement}.\n     * @param {Error} ex\n     * @return {?Object.<string, *>} Stack trace information.\n     */\n  function computeStackTraceByWalkingCallerChain(ex, depth) {\n    var functionName = /function\\s+([_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*)?\\s*\\(/i,\n      stack = [],\n      funcs = {},\n      recursion = false,\n      parts,\n      item,\n      source;\n\n    for (\n      var curr = computeStackTraceByWalkingCallerChain.caller;\n      curr && !recursion;\n      curr = curr.caller\n    ) {\n      if (curr === computeStackTrace || curr === TraceKit.report) {\n        // console.log('skipping internal function');\n        continue;\n      }\n\n      item = {\n        url: null,\n        func: UNKNOWN_FUNCTION,\n        line: null,\n        column: null\n      };\n\n      if (curr.name) {\n        item.func = curr.name;\n      } else if ((parts = functionName.exec(curr.toString()))) {\n        item.func = parts[1];\n      }\n\n      if (typeof item.func === 'undefined') {\n        try {\n          item.func = parts.input.substring(0, parts.input.indexOf('{'));\n        } catch (e) {}\n      }\n\n      if (funcs['' + curr]) {\n        recursion = true;\n      } else {\n        funcs['' + curr] = true;\n      }\n\n      stack.push(item);\n    }\n\n    if (depth) {\n      // console.log('depth is ' + depth);\n      // console.log('stack is ' + stack.length);\n      stack.splice(0, depth);\n    }\n\n    var result = {\n      name: ex.name,\n      message: ex.message,\n      url: getLocationHref(),\n      stack: stack\n    };\n    augmentStackTraceWithInitialElement(\n      result,\n      ex.sourceURL || ex.fileName,\n      ex.line || ex.lineNumber,\n      ex.message || ex.description\n    );\n    return result;\n  }\n\n  /**\n     * Computes a stack trace for an exception.\n     * @param {Error} ex\n     * @param {(string|number)=} depth\n     */\n  function computeStackTrace(ex, depth) {\n    var stack = null;\n    depth = depth == null ? 0 : +depth;\n\n    try {\n      stack = computeStackTraceFromStackProp(ex);\n      if (stack) {\n        return stack;\n      }\n    } catch (e) {\n      if (TraceKit.debug) {\n        throw e;\n      }\n    }\n\n    try {\n      stack = computeStackTraceByWalkingCallerChain(ex, depth + 1);\n      if (stack) {\n        return stack;\n      }\n    } catch (e) {\n      if (TraceKit.debug) {\n        throw e;\n      }\n    }\n    return {\n      name: ex.name,\n      message: ex.message,\n      url: getLocationHref()\n    };\n  }\n\n  computeStackTrace.augmentStackTraceWithInitialElement = augmentStackTraceWithInitialElement;\n  computeStackTrace.computeStackTraceFromStackProp = computeStackTraceFromStackProp;\n\n  return computeStackTrace;\n})();\n\nmodule.exports = TraceKit;\n","/*\n json-stringify-safe\n Like JSON.stringify, but doesn't throw on circular references.\n\n Originally forked from https://github.com/isaacs/json-stringify-safe\n version 5.0.1 on 3/8/2017 and modified to handle Errors serialization\n and IE8 compatibility. Tests for this are in test/vendor.\n\n ISC license: https://github.com/isaacs/json-stringify-safe/blob/master/LICENSE\n*/\n\nexports = module.exports = stringify;\nexports.getSerialize = serializer;\n\nfunction indexOf(haystack, needle) {\n  for (var i = 0; i < haystack.length; ++i) {\n    if (haystack[i] === needle) return i;\n  }\n  return -1;\n}\n\nfunction stringify(obj, replacer, spaces, cycleReplacer) {\n  return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces);\n}\n\n// https://github.com/ftlabs/js-abbreviate/blob/fa709e5f139e7770a71827b1893f22418097fbda/index.js#L95-L106\nfunction stringifyError(value) {\n  var err = {\n    // These properties are implemented as magical getters and don't show up in for in\n    stack: value.stack,\n    message: value.message,\n    name: value.name\n  };\n\n  for (var i in value) {\n    if (Object.prototype.hasOwnProperty.call(value, i)) {\n      err[i] = value[i];\n    }\n  }\n\n  return err;\n}\n\nfunction serializer(replacer, cycleReplacer) {\n  var stack = [];\n  var keys = [];\n\n  if (cycleReplacer == null) {\n    cycleReplacer = function(key, value) {\n      if (stack[0] === value) {\n        return '[Circular ~]';\n      }\n      return '[Circular ~.' + keys.slice(0, indexOf(stack, value)).join('.') + ']';\n    };\n  }\n\n  return function(key, value) {\n    if (stack.length > 0) {\n      var thisPos = indexOf(stack, this);\n      ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\n      ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\n\n      if (~indexOf(stack, value)) {\n        value = cycleReplacer.call(this, key, value);\n      }\n    } else {\n      stack.push(value);\n    }\n\n    return replacer == null\n      ? value instanceof Error ? stringifyError(value) : value\n      : replacer.call(this, key, value);\n  };\n}\n","/** @license React v17.0.2\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar React = require('react');\nvar _assign = require('object-assign');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nexports.Fragment = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n  var symbolFor = Symbol.for;\n  REACT_ELEMENT_TYPE = symbolFor('react.element');\n  REACT_PORTAL_TYPE = symbolFor('react.portal');\n  exports.Fragment = symbolFor('react.fragment');\n  REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n  REACT_PROFILER_TYPE = symbolFor('react.profiler');\n  REACT_PROVIDER_TYPE = symbolFor('react.provider');\n  REACT_CONTEXT_TYPE = symbolFor('react.context');\n  REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n  REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n  REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n  REACT_MEMO_TYPE = symbolFor('react.memo');\n  REACT_LAZY_TYPE = symbolFor('react.lazy');\n  REACT_BLOCK_TYPE = symbolFor('react.block');\n  REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n  REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n  REACT_SCOPE_TYPE = symbolFor('react.scope');\n  REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n  REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n  REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n  REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\n    return null;\n  }\n\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n  if (typeof maybeIterator === 'function') {\n    return maybeIterator;\n  }\n\n  return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n      args[_key2 - 1] = arguments[_key2];\n    }\n\n    printWarning('error', format, args);\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    }\n\n    var argsWithFormat = args.map(function (item) {\n      return '' + item;\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n  var functionName = innerType.displayName || innerType.name || '';\n  return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n}\n\nfunction getContextName(type) {\n  return type.displayName || 'Context';\n}\n\nfunction getComponentName(type) {\n  if (type == null) {\n    // Host root, text node or just invalid type.\n    return null;\n  }\n\n  {\n    if (typeof type.tag === 'number') {\n      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\n    }\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || null;\n  }\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  switch (type) {\n    case exports.Fragment:\n      return 'Fragment';\n\n    case REACT_PORTAL_TYPE:\n      return 'Portal';\n\n    case REACT_PROFILER_TYPE:\n      return 'Profiler';\n\n    case REACT_STRICT_MODE_TYPE:\n      return 'StrictMode';\n\n    case REACT_SUSPENSE_TYPE:\n      return 'Suspense';\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return 'SuspenseList';\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_CONTEXT_TYPE:\n        var context = type;\n        return getContextName(context) + '.Consumer';\n\n      case REACT_PROVIDER_TYPE:\n        var provider = type;\n        return getContextName(provider._context) + '.Provider';\n\n      case REACT_FORWARD_REF_TYPE:\n        return getWrappedName(type, type.render, 'ForwardRef');\n\n      case REACT_MEMO_TYPE:\n        return getComponentName(type.type);\n\n      case REACT_BLOCK_TYPE:\n        return getComponentName(type._render);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            return getComponentName(init(payload));\n          } catch (x) {\n            return null;\n          }\n        }\n    }\n  }\n\n  return null;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n  {\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      prevLog = console.log;\n      prevInfo = console.info;\n      prevWarn = console.warn;\n      prevError = console.error;\n      prevGroup = console.group;\n      prevGroupCollapsed = console.groupCollapsed;\n      prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n      var props = {\n        configurable: true,\n        enumerable: true,\n        value: disabledLog,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        info: props,\n        log: props,\n        warn: props,\n        error: props,\n        group: props,\n        groupCollapsed: props,\n        groupEnd: props\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    disabledDepth++;\n  }\n}\nfunction reenableLogs() {\n  {\n    disabledDepth--;\n\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      var props = {\n        configurable: true,\n        enumerable: true,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        log: _assign({}, props, {\n          value: prevLog\n        }),\n        info: _assign({}, props, {\n          value: prevInfo\n        }),\n        warn: _assign({}, props, {\n          value: prevWarn\n        }),\n        error: _assign({}, props, {\n          value: prevError\n        }),\n        group: _assign({}, props, {\n          value: prevGroup\n        }),\n        groupCollapsed: _assign({}, props, {\n          value: prevGroupCollapsed\n        }),\n        groupEnd: _assign({}, props, {\n          value: prevGroupEnd\n        })\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    if (disabledDepth < 0) {\n      error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n    }\n  }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n  {\n    if (prefix === undefined) {\n      // Extract the VM specific prefix used by each line.\n      try {\n        throw Error();\n      } catch (x) {\n        var match = x.stack.trim().match(/\\n( *(at )?)/);\n        prefix = match && match[1] || '';\n      }\n    } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n    return '\\n' + prefix + name;\n  }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n  var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n  componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n  // If something asked for a stack inside a fake render, it should get ignored.\n  if (!fn || reentry) {\n    return '';\n  }\n\n  {\n    var frame = componentFrameCache.get(fn);\n\n    if (frame !== undefined) {\n      return frame;\n    }\n  }\n\n  var control;\n  reentry = true;\n  var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n  Error.prepareStackTrace = undefined;\n  var previousDispatcher;\n\n  {\n    previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n    // for warnings.\n\n    ReactCurrentDispatcher.current = null;\n    disableLogs();\n  }\n\n  try {\n    // This should throw.\n    if (construct) {\n      // Something should be setting the props in the constructor.\n      var Fake = function () {\n        throw Error();\n      }; // $FlowFixMe\n\n\n      Object.defineProperty(Fake.prototype, 'props', {\n        set: function () {\n          // We use a throwing setter instead of frozen or non-writable props\n          // because that won't throw in a non-strict mode function.\n          throw Error();\n        }\n      });\n\n      if (typeof Reflect === 'object' && Reflect.construct) {\n        // We construct a different control for this case to include any extra\n        // frames added by the construct call.\n        try {\n          Reflect.construct(Fake, []);\n        } catch (x) {\n          control = x;\n        }\n\n        Reflect.construct(fn, [], Fake);\n      } else {\n        try {\n          Fake.call();\n        } catch (x) {\n          control = x;\n        }\n\n        fn.call(Fake.prototype);\n      }\n    } else {\n      try {\n        throw Error();\n      } catch (x) {\n        control = x;\n      }\n\n      fn();\n    }\n  } catch (sample) {\n    // This is inlined manually because closure doesn't do it for us.\n    if (sample && control && typeof sample.stack === 'string') {\n      // This extracts the first frame from the sample that isn't also in the control.\n      // Skipping one frame that we assume is the frame that calls the two.\n      var sampleLines = sample.stack.split('\\n');\n      var controlLines = control.stack.split('\\n');\n      var s = sampleLines.length - 1;\n      var c = controlLines.length - 1;\n\n      while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n        // We expect at least one stack frame to be shared.\n        // Typically this will be the root most one. However, stack frames may be\n        // cut off due to maximum stack limits. In this case, one maybe cut off\n        // earlier than the other. We assume that the sample is longer or the same\n        // and there for cut off earlier. So we should find the root most frame in\n        // the sample somewhere in the control.\n        c--;\n      }\n\n      for (; s >= 1 && c >= 0; s--, c--) {\n        // Next we find the first one that isn't the same which should be the\n        // frame that called our sample function and the control.\n        if (sampleLines[s] !== controlLines[c]) {\n          // In V8, the first line is describing the message but other VMs don't.\n          // If we're about to return the first line, and the control is also on the same\n          // line, that's a pretty good indicator that our sample threw at same line as\n          // the control. I.e. before we entered the sample frame. So we ignore this result.\n          // This can happen if you passed a class to function component, or non-function.\n          if (s !== 1 || c !== 1) {\n            do {\n              s--;\n              c--; // We may still have similar intermediate frames from the construct call.\n              // The next one that isn't the same should be our match though.\n\n              if (c < 0 || sampleLines[s] !== controlLines[c]) {\n                // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n                var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at ');\n\n                {\n                  if (typeof fn === 'function') {\n                    componentFrameCache.set(fn, _frame);\n                  }\n                } // Return the line we found.\n\n\n                return _frame;\n              }\n            } while (s >= 1 && c >= 0);\n          }\n\n          break;\n        }\n      }\n    }\n  } finally {\n    reentry = false;\n\n    {\n      ReactCurrentDispatcher.current = previousDispatcher;\n      reenableLogs();\n    }\n\n    Error.prepareStackTrace = previousPrepareStackTrace;\n  } // Fallback to just using the name if we couldn't make it throw.\n\n\n  var name = fn ? fn.displayName || fn.name : '';\n  var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n  {\n    if (typeof fn === 'function') {\n      componentFrameCache.set(fn, syntheticFrame);\n    }\n  }\n\n  return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n  {\n    return describeNativeComponentFrame(fn, false);\n  }\n}\n\nfunction shouldConstruct(Component) {\n  var prototype = Component.prototype;\n  return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n  if (type == null) {\n    return '';\n  }\n\n  if (typeof type === 'function') {\n    {\n      return describeNativeComponentFrame(type, shouldConstruct(type));\n    }\n  }\n\n  if (typeof type === 'string') {\n    return describeBuiltInComponentFrame(type);\n  }\n\n  switch (type) {\n    case REACT_SUSPENSE_TYPE:\n      return describeBuiltInComponentFrame('Suspense');\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return describeBuiltInComponentFrame('SuspenseList');\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_FORWARD_REF_TYPE:\n        return describeFunctionComponentFrame(type.render);\n\n      case REACT_MEMO_TYPE:\n        // Memo may contain any component type so we recursively resolve it.\n        return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n      case REACT_BLOCK_TYPE:\n        return describeFunctionComponentFrame(type._render);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            // Lazy may contain any component type so we recursively resolve it.\n            return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n          } catch (x) {}\n        }\n    }\n  }\n\n  return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame.setExtraStackFrame(null);\n    }\n  }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n  {\n    // $FlowFixMe This is okay but Flow doesn't know it.\n    var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n\n          error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n        } catch (ex) {\n          error$1 = ex;\n        }\n\n        if (error$1 && !(error$1 instanceof Error)) {\n          setCurrentlyValidatingElement(element);\n\n          error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n          setCurrentlyValidatingElement(null);\n        }\n\n        if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error$1.message] = true;\n          setCurrentlyValidatingElement(element);\n\n          error('Failed %s type: %s', location, error$1.message);\n\n          setCurrentlyValidatingElement(null);\n        }\n      }\n    }\n  }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n  didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n  {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n  {\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n      var componentName = getComponentName(ReactCurrentOwner.current.type);\n\n      if (!didWarnAboutStringRefs[componentName]) {\n        error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\n\n        didWarnAboutStringRefs[componentName] = true;\n      }\n    }\n  }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingKey = function () {\n      if (!specialPropKeyWarningShown) {\n        specialPropKeyWarningShown = true;\n\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingKey.isReactWarning = true;\n    Object.defineProperty(props, 'key', {\n      get: warnAboutAccessingKey,\n      configurable: true\n    });\n  }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingRef = function () {\n      if (!specialPropRefWarningShown) {\n        specialPropRefWarningShown = true;\n\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingRef.isReactWarning = true;\n    Object.defineProperty(props, 'ref', {\n      get: warnAboutAccessingRef,\n      configurable: true\n    });\n  }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allows us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n\n    Object.defineProperty(element._store, 'validated', {\n      configurable: false,\n      enumerable: false,\n      writable: true,\n      value: false\n    }); // self and source are DEV only properties.\n\n    Object.defineProperty(element, '_self', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: self\n    }); // Two elements created in two different places should be considered\n    // equal for testing purposes and therefore we hide it from enumeration.\n\n    Object.defineProperty(element, '_source', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: source\n    });\n\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n  {\n    var propName; // Reserved names are extracted\n\n    var props = {};\n    var key = null;\n    var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n    // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n    // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n    // but as an intermediary step, we will use jsxDEV for everything except\n    // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n    // key is explicitly declared to be undefined or not.\n\n    if (maybeKey !== undefined) {\n      key = '' + maybeKey;\n    }\n\n    if (hasValidKey(config)) {\n      key = '' + config.key;\n    }\n\n    if (hasValidRef(config)) {\n      ref = config.ref;\n      warnIfStringRefCannotBeAutoConverted(config, self);\n    } // Remaining properties are added to a new props object\n\n\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    } // Resolve default props\n\n\n    if (type && type.defaultProps) {\n      var defaultProps = type.defaultProps;\n\n      for (propName in defaultProps) {\n        if (props[propName] === undefined) {\n          props[propName] = defaultProps[propName];\n        }\n      }\n    }\n\n    if (key || ref) {\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n      if (key) {\n        defineKeyPropWarningGetter(props, displayName);\n      }\n\n      if (ref) {\n        defineRefPropWarningGetter(props, displayName);\n      }\n    }\n\n    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n  }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n    }\n  }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n  propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n  {\n    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n  }\n}\n\nfunction getDeclarationErrorAddendum() {\n  {\n    if (ReactCurrentOwner$1.current) {\n      var name = getComponentName(ReactCurrentOwner$1.current.type);\n\n      if (name) {\n        return '\\n\\nCheck the render method of `' + name + '`.';\n      }\n    }\n\n    return '';\n  }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n  {\n    if (source !== undefined) {\n      var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n      var lineNumber = source.lineNumber;\n      return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n    }\n\n    return '';\n  }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n  {\n    var info = getDeclarationErrorAddendum();\n\n    if (!info) {\n      var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n      if (parentName) {\n        info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n      }\n    }\n\n    return info;\n  }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n  {\n    if (!element._store || element._store.validated || element.key != null) {\n      return;\n    }\n\n    element._store.validated = true;\n    var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n      return;\n    }\n\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n    // property, it may be the creator of the child that's responsible for\n    // assigning it a key.\n\n    var childOwner = '';\n\n    if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n      // Give the component that originally created this child.\n      childOwner = \" It was passed a child from \" + getComponentName(element._owner.type) + \".\";\n    }\n\n    setCurrentlyValidatingElement$1(element);\n\n    error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n    setCurrentlyValidatingElement$1(null);\n  }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n  {\n    if (typeof node !== 'object') {\n      return;\n    }\n\n    if (Array.isArray(node)) {\n      for (var i = 0; i < node.length; i++) {\n        var child = node[i];\n\n        if (isValidElement(child)) {\n          validateExplicitKey(child, parentType);\n        }\n      }\n    } else if (isValidElement(node)) {\n      // This element was passed in a valid location.\n      if (node._store) {\n        node._store.validated = true;\n      }\n    } else if (node) {\n      var iteratorFn = getIteratorFn(node);\n\n      if (typeof iteratorFn === 'function') {\n        // Entry iterators used to provide implicit keys,\n        // but now we print a separate warning for them later.\n        if (iteratorFn !== node.entries) {\n          var iterator = iteratorFn.call(node);\n          var step;\n\n          while (!(step = iterator.next()).done) {\n            if (isValidElement(step.value)) {\n              validateExplicitKey(step.value, parentType);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n  {\n    var type = element.type;\n\n    if (type === null || type === undefined || typeof type === 'string') {\n      return;\n    }\n\n    var propTypes;\n\n    if (typeof type === 'function') {\n      propTypes = type.propTypes;\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n    // Inner props are checked in the reconciler.\n    type.$$typeof === REACT_MEMO_TYPE)) {\n      propTypes = type.propTypes;\n    } else {\n      return;\n    }\n\n    if (propTypes) {\n      // Intentionally inside to avoid triggering lazy initializers:\n      var name = getComponentName(type);\n      checkPropTypes(propTypes, element.props, 'prop', name, element);\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n      propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n      var _name = getComponentName(type);\n\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n    }\n\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n    }\n  }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n  {\n    var keys = Object.keys(fragment.props);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n\n      if (key !== 'children' && key !== 'key') {\n        setCurrentlyValidatingElement$1(fragment);\n\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n        setCurrentlyValidatingElement$1(null);\n        break;\n      }\n    }\n\n    if (fragment.ref !== null) {\n      setCurrentlyValidatingElement$1(fragment);\n\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n      setCurrentlyValidatingElement$1(null);\n    }\n  }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n  {\n    var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n    // succeed and there will likely be errors in render.\n\n    if (!validType) {\n      var info = '';\n\n      if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n        info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n      }\n\n      var sourceInfo = getSourceInfoErrorAddendum(source);\n\n      if (sourceInfo) {\n        info += sourceInfo;\n      } else {\n        info += getDeclarationErrorAddendum();\n      }\n\n      var typeString;\n\n      if (type === null) {\n        typeString = 'null';\n      } else if (Array.isArray(type)) {\n        typeString = 'array';\n      } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n        typeString = \"<\" + (getComponentName(type.type) || 'Unknown') + \" />\";\n        info = ' Did you accidentally export a JSX literal instead of a component?';\n      } else {\n        typeString = typeof type;\n      }\n\n      error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n    }\n\n    var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n    // TODO: Drop this when these are no longer allowed as the type argument.\n\n    if (element == null) {\n      return element;\n    } // Skip key warning if the type isn't valid since our key validation logic\n    // doesn't expect a non-string/function type and can throw confusing errors.\n    // We don't want exception behavior to differ between dev and prod.\n    // (Rendering will throw with a helpful message and as soon as the type is\n    // fixed, the key warnings will appear.)\n\n\n    if (validType) {\n      var children = props.children;\n\n      if (children !== undefined) {\n        if (isStaticChildren) {\n          if (Array.isArray(children)) {\n            for (var i = 0; i < children.length; i++) {\n              validateChildKeys(children[i], type);\n            }\n\n            if (Object.freeze) {\n              Object.freeze(children);\n            }\n          } else {\n            error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n          }\n        } else {\n          validateChildKeys(children, type);\n        }\n      }\n    }\n\n    if (type === exports.Fragment) {\n      validateFragmentProps(element);\n    } else {\n      validatePropTypes(element);\n    }\n\n    return element;\n  }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, true);\n  }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, false);\n  }\n}\n\nvar jsx =  jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs =  jsxWithValidationStatic ;\n\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"jQuery\"];","module.exports = window[\"wp\"][\"i18n\"];","// src/styled.ts\nimport validAttr from \"@emotion/is-prop-valid\";\nimport React from \"react\";\nimport { cx } from \"@linaria/core\";\nvar isCapital = (ch) => ch.toUpperCase() === ch;\nvar filterKey = (keys) => (key) => keys.indexOf(key) === -1;\nvar omit = (obj, keys) => {\n  const res = {};\n  Object.keys(obj).filter(filterKey(keys)).forEach((key) => {\n    res[key] = obj[key];\n  });\n  return res;\n};\nfunction filterProps(asIs, props, omitKeys) {\n  const filteredProps = omit(props, omitKeys);\n  if (!asIs) {\n    const interopValidAttr = typeof validAttr === \"function\" ? { default: validAttr } : validAttr;\n    Object.keys(filteredProps).forEach((key) => {\n      if (!interopValidAttr.default(key)) {\n        delete filteredProps[key];\n      }\n    });\n  }\n  return filteredProps;\n}\nvar warnIfInvalid = (value, componentName) => {\n  if (process.env.NODE_ENV !== \"production\") {\n    if (typeof value === \"string\" || typeof value === \"number\" && isFinite(value)) {\n      return;\n    }\n    const stringified = typeof value === \"object\" ? JSON.stringify(value) : String(value);\n    console.warn(\n      `An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`\n    );\n  }\n};\nfunction styled(tag) {\n  return (options) => {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (Array.isArray(options)) {\n        throw new Error(\n          'Using the \"styled\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup'\n        );\n      }\n    }\n    const render = (props, ref) => {\n      const { as: component = tag, class: className } = props;\n      const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === \"string\" && component.indexOf(\"-\") === -1 && !isCapital(component[0])) : options.propsAsIs;\n      const filteredProps = filterProps(shouldKeepProps, props, [\n        \"as\",\n        \"class\"\n      ]);\n      filteredProps.ref = ref;\n      filteredProps.className = options.atomic ? cx(options.class, filteredProps.className || className) : cx(filteredProps.className || className, options.class);\n      const { vars } = options;\n      if (vars) {\n        const style = {};\n        for (const name in vars) {\n          const variable = vars[name];\n          const result = variable[0];\n          const unit = variable[1] || \"\";\n          const value = typeof result === \"function\" ? result(props) : result;\n          warnIfInvalid(value, options.name);\n          style[`--${name}`] = `${value}${unit}`;\n        }\n        const ownStyle = filteredProps.style || {};\n        const keys = Object.keys(ownStyle);\n        if (keys.length > 0) {\n          keys.forEach((key) => {\n            style[key] = ownStyle[key];\n          });\n        }\n        filteredProps.style = style;\n      }\n      if (tag.__linaria && tag !== component) {\n        filteredProps.as = component;\n        return React.createElement(tag, filteredProps);\n      }\n      return React.createElement(component, filteredProps);\n    };\n    const Result = React.forwardRef ? React.forwardRef(render) : (props) => {\n      const rest = omit(props, [\"innerRef\"]);\n      return render(rest, props.innerRef);\n    };\n    Result.displayName = options.name;\n    Result.__linaria = {\n      className: options.class,\n      extends: tag\n    };\n    return Result;\n  };\n}\nvar styled_default = process.env.NODE_ENV !== \"production\" ? new Proxy(styled, {\n  get(o, prop) {\n    return o(prop);\n  }\n}) : styled;\nexport {\n  styled_default as styled\n};\n//# sourceMappingURL=index.mjs.map","// src/css.ts\nvar css = () => {\n  throw new Error(\n    'Using the \"css\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly.'\n  );\n};\nvar css_default = css;\n\n// src/cx.ts\nvar cx = function cx2() {\n  const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean);\n  const atomicClasses = {};\n  const nonAtomicClasses = [];\n  presentClassNames.forEach((arg) => {\n    const individualClassNames = arg ? arg.split(\" \") : [];\n    individualClassNames.forEach((className) => {\n      if (className.startsWith(\"atm_\")) {\n        const [, keyHash] = className.split(\"_\");\n        atomicClasses[keyHash] = className;\n      } else {\n        nonAtomicClasses.push(className);\n      }\n    });\n  });\n  const result = [];\n  for (const keyHash in atomicClasses) {\n    if (Object.prototype.hasOwnProperty.call(atomicClasses, keyHash)) {\n      result.push(atomicClasses[keyHash]);\n    }\n  }\n  result.push(...nonAtomicClasses);\n  return result.join(\" \");\n};\nvar cx_default = cx;\nexport {\n  css_default as css,\n  cx_default as cx\n};\n//# sourceMappingURL=index.mjs.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import elementorWidget from '../elementor/elementorWidget';\nimport registerFormWidget from '../elementor/FormWidget/registerFormWidget';\nimport { initBackgroundApp } from '../utils/backgroundAppUtils';\nimport registerMeetingsWidget from '../elementor/MeetingWidget/registerMeetingWidget';\nwindow.addEventListener('elementor/init', () => {\n    initBackgroundApp(() => {\n        let FormWidget;\n        let MeetingsWidget;\n        const leadinSelectFormItemView = elementorWidget(\n        //@ts-expect-error global\n        window.elementor, {\n            widgetName: 'hubspot-form',\n            controlSelector: '.elementor-hbspt-form-selector',\n            containerSelector: '.hubspot-form-edit-mode',\n        }, (controlContainer, widgetContainer, setValue) => {\n            FormWidget = new registerFormWidget(controlContainer, widgetContainer, setValue);\n            FormWidget.render();\n        }, () => {\n            FormWidget.done();\n        });\n        const leadinSelectMeetingItemView = elementorWidget(\n        //@ts-expect-error global\n        window.elementor, {\n            widgetName: 'hubspot-meeting',\n            controlSelector: '.elementor-hbspt-meeting-selector',\n            containerSelector: '.hubspot-meeting-edit-mode',\n        }, (controlContainer, widgetContainer, setValue) => {\n            MeetingsWidget = new registerMeetingsWidget(controlContainer, widgetContainer, setValue);\n            MeetingsWidget.render();\n        }, () => {\n            MeetingsWidget.done();\n        });\n        //@ts-expect-error global\n        window.elementor.addControlView('leadinformselect', leadinSelectFormItemView);\n        //@ts-expect-error global\n        window.elementor.addControlView('leadinmeetingselect', leadinSelectMeetingItemView);\n    });\n});\n"],"names":["__","REGISTRATION_FORM","CONTACT_US_FORM","NEWSLETTER_FORM","SUPPORT_FORM","EVENT_FORM","DEFAULT_OPTIONS","label","options","value","isDefaultForm","window","leadinConfig","accountName","adminUrl","activationTime","connectionStatus","deviceId","didDisconnect","env","formsScript","meetingsScript","formsScriptPayload","hublet","hubspotBaseUrl","hubspotNonce","iframeUrl","impactLink","leadinPluginVersion","leadinQueryParams","locale","loginUrl","phpVersion","pluginPath","plugins","portalDomain","portalEmail","portalId","redirectNonce","restNonce","restUrl","refreshToken","reviewSkippedDate","theme","trackConsent","wpVersion","contentEmbed","requiresContentEmbedScope","jsx","_jsx","ElementorBanner","ConnectPluginBanner","children","dangerouslySetInnerHTML","__html","replace","type","className","styled","Container","name","propsAsIs","ElementorButton","params","jsxs","_jsxs","Fragment","UISpinner","BackgroudAppContext","useBackgroundAppContext","useForms","getOrCreateBackgroundApp","ElementorFormSelect","formId","setAttributes","hasError","forms","loading","onChange","event","selectedForm","find","form","target","formName","disabled","selected","map","ElementorFormSelectWrapper","props","isBackgroundAppReady","ElementorFormSelectContainer","Provider","ConnectionStatus","Connected","NotConnected","FormControlController","attributes","setValue","render","ErrorHandler","FormEdit","FormWidgetController","isSelected","preview","origin","status","useState","useEffect","LoadState","ProxyMessages","usePostAsyncBackgroundMessage","proxy","NotLoaded","loadState","setLoadState","setError","setForms","key","FetchForms","payload","search","then","data","guid","Loaded","error","Failed","Loading","ReactDOM","registerFormWidget","controlContainer","widgetContainer","dataset","JSON","parse","unmountComponentAtNode","ElementorMeetingWarning","useMeetings","useSelectedMeetingCalendar","Raven","ElementorMeetingSelect","url","meetings","mappedMeetings","reload","connectCalendar","selectedMeetingCalendar","localUrl","setLocalUrl","handleConnectCalendar","captureMessage","extra","onConnectCalendar","length","newUrl","item","ElementorMeetingSelectWrapper","ElementorMeetingsSelectContainer","CURRENT_USER_CALENDAR_MISSING","MeetingWarning","isMeetingOwner","titleText","titleMessage","id","onClick","MeetingControlController","MeetingsEdit","MeetingWidgetController","registerMeetingsWidget","elementorWidget","elementor","callback","done","modules","controls","BaseData","extend","onReady","self","ui","contentEditable","prevObject","querySelector","controlSelector","element","$el","containerSelector","args","elementorFrontend","hooks","addAction","widgetName","saveValue","onBeforeDestroy","removeAction","CoreMessages","HandshakeReceive","SendRefreshToken","ReloadParentFrame","RedirectParentFrame","SendLocale","SendDeviceId","FormMessages","CreateFormAppNavigation","LiveChatMessages","CreateLiveChatAppNavigation","PluginMessages","PluginSettingsNavigation","PluginLeadinConfig","TrackConsent","InternalTrackingFetchRequest","InternalTrackingFetchResponse","InternalTrackingFetchError","InternalTrackingChangeRequest","InternalTrackingChangeError","BusinessUnitFetchRequest","BusinessUnitFetchResponse","BusinessUnitFetchError","BusinessUnitChangeRequest","BusinessUnitChangeError","SkipReviewRequest","SkipReviewResponse","SkipReviewError","RemoveParentQueryParam","ContentEmbedInstallRequest","ContentEmbedInstallResponse","ContentEmbedInstallError","ContentEmbedActivationRequest","ContentEmbedActivationResponse","ContentEmbedActivationError","FetchForm","CreateFormFromTemplate","FetchAuth","FetchMeetingsAndUsers","FetchContactsCreateSinceActivation","FetchOrCreateMeetingUser","ConnectMeetingsCalendar","TrackFormPreviewRender","TrackFormCreatedFromTemplate","TrackFormCreationFailed","TrackMeetingPreviewRender","TrackSidebarMetaChange","TrackReviewBannerRender","TrackReviewBannerInteraction","TrackReviewBannerDismissed","TrackPluginDeactivation","createContext","useContext","usePostBackgroundMessage","app","message","postMessage","postAsyncMessage","configureRaven","indexOf","config","instrument","tryCatch","release","install","setTagsContext","v","php","wordpress","setExtraContext","hub","Object","keys","join","useRef","CALYPSO_LIGHT","CALYPSO_MEDIUM","_exp2","focused","_exp3","ControlContainer","vars","ValueContainer","Placeholder","SingleValue","IndicatorContainer","DropdownIndicator","InputContainer","Input","InputShadow","MenuContainer","MenuList","MenuGroup","MenuGroupHeader","_exp5","_exp6","_exp7","MenuItem","AsyncSelect","placeholder","loadOptions","defaultOptions","inputEl","inputShadowEl","isFocused","setFocus","localValue","setLocalValue","setOptions","inputSize","current","clientWidth","result","Idle","renderItems","items","parentKey","index","undefined","blur","focus","ref","onFocus","e","width","UIButton","UIContainer","HubspotWrapper","redirectToPlugin","location","href","resetErrorState","errorInfo","header","action","isUnauthorized","errorHeader","errorMessage","textAlign","_exp","padding","LoadingBlock","size","UISpacer","PreviewForm","FormSelect","formSelected","monitorFormPreviewRender","handleChange","FormEditContainer","FormSelector","useCreateFormFromTemplate","formApiError","reset","createFormByTemplate","createReset","isCreating","createApiError","handleLocalChange","option","UIOverlay","useFormScript","ready","innerHTML","embedScript","document","createElement","appendChild","track","setFormApiError","err","debounce","trailing","$","promise","loadFormsScript","Promise","resolve","reject","getScript","fail","setReady","captureException","MeetingSelector","useSelectedMeeting","MeetingController","selectedMeetingOption","PreviewMeeting","MeetingEdit","MeetingsEditContainer","optionsWrapper","UIAlert","use","useMeetingsScript","container","src","classList","add","OTHER_USER_CALENDAR_MISSING","user","useCurrentUserFetch","createUser","loadUserState","useCallback","useMeetingsFetch","getDefaultMeetingName","meeting","currentUser","meetingUsers","meetingsUserIds","meetingOwnerId","userProfile","fullName","hasCalendarObject","meetingsUserBlob","calendarSettings","email","meetingsError","loadMeetingsState","reloadMeetings","userError","reloadUser","meet","link","mappedMeetingUsersId","reduce","p","c","includes","some","meetingLinks","loadMeetingsScript","AlertContainer","Title","Message","MessageContainer","HEFFALUMP","LORAX","CALYPSO","SpinnerOuter","SpinnerInner","color","Circle","AnimatedCircle","height","viewBox","cx","cy","r","OLAF","MARIGOLD_LIGHT","MARIGOLD_MEDIUM","OBSIDIAN","initApp","initFn","context","initAppOnReady","main","initBackgroundApp","Array","isArray","forEach","LeadinBackgroundApp","IntegratedAppEmbedder","IntegratedAppOptions","setLocale","setDeviceId","setRefreshToken","embedder","attachTo","body","postStartAppMessage","addEventListener","FormWidget","MeetingsWidget","leadinSelectFormItemView","leadinSelectMeetingItemView","addControlView"],"sourceRoot":""}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists